سلام دوستان
چطور می تونم کدی بنویسم که تعدادی از محصولاتم روبصورت رندوم نشون بده بطوری که هر محصول واسه یک گروه محصول باشه
بیشتر هم سر قسمت دوم مشکل دارم . ممنون می شم اگر راهنماییم کنید
سلام
1- شما باید یه جدول "گروه کالا" داشته باشد
2 - در جدول "کالا" ها یه کلید خارجی به جدول "گروه کالا" بزنید
3 - هنگام ثبت ؛ هر کالایی که ثبت می کنید گروه کالا رو هم براش مشخص کنید
حالا راهکار کلی اینه که اول شناسه همه ی گروه کالا های موجود در بانک رو انتخاب کنید و درون یک شی یا آرایه بریزید.بعد در یه foreach روی مقادیر، بازای هرگروه، کالاهای اون گروه رو انتخاب کنید و متناظر با تعدادشون یه عدد رندم ایجاد کنید و یکی از کالاهای گروه رو انتخاب کنید.
اگه به کد یا راهنمایی بیشتری نیاز دارید جواب این دو سوال روهم درج کنید
الف :آیا این قسمت ها (جدول گروه کالا و کلید خارجی به اون) رو دارید ؟
ب : از entity framework استفاده می کنید یا کد های ado.net
باتشکر ، پیروز باشید
آقای محترم و عزیز با تشکر از پاسخگویی شما
بله من جدول گروه کالا و کلید خارجی به اون رو دارم و از entity framework استفاده می کنم .
من یک linq data source گذاشتم که در رویداد selecting اون دوتا جدول کالا و گروه کالا رو join کردم بطوریکه سه تا از کالاهام رو بصورت رندوم نشون میده (من به عنوان گروه کالا هم احتیاج دارم )حالا می خوام هر کدوم از این کالا ها واسه یک گروه باشه
ممنون میشم اگر کدی که توضیحشو دادید رو در اختیارم بگذارید
باسلام مجدد
public List<Kala> getRandomKalaList() { var kalaGroups = GetAllKalaGroup();// در این قست تمامی گروه کالا ها را در این متغیر می ریزیم var randomKalaList = new List<Kala>(); foreach (var kalaGroup in kalaGroups) { var kalaList = GetKalaByKalaGroup(kalaGroup.id);// در این قسمت بر اساس شناسه گروه کالا ، تمامی کالاهای یک گروه را انتخاب میکنیم و در متغیر می ریزیم var rand = new Random();// ایجاد شیء جدید از کلاس رندم var id = rand.Next(0, kalaList.Count());// ایجاد یک عدد تصادفی از بین کالا های این گروه و ذخیره دراین متغیر randomKalaList.Add(kalaList[id]);// افزودن کالایی که ایندکس آن برابر با عدد تصادفی انتخاب شده است ، به لیست کالا های تصادفی } return randomKalaList; }
GetAllKalaGroup متدی است که با کد linq تمام عناصر گروه کالا را برمیگرداند
(GetKalaByKalaGroup(kalaGroup.id متدی است که کالاهای هم گروه را بر اساس شناسه گروه انتخاب و بر می گرداند
برای اینکه نام گروه کالا رو هم داشته باشید باید از ViewModel استفاده کنید و به جای انتخاب kalaList از kalaViewModelList بهره ببرید
البته اگه براتون آشنا نیست باید کمی در موردش مطالعه بفرمایید.(خیلی ساده اما کاربردی است)
یک راهکار هم استفاده از View های جداول در Sql می باشد
خیلی خیلی سپاسگذارم .امیدوارم همبشه موفق و سربلند باشید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)