avatar
Amir Hossein

کاربر

  • 1400/01/08
  • 0
  • 617
1400/01/08 |
backend
c-sharp

حذف کالاهای مربوط به همراه دسته بندی

من یه سرویس دارم برای حذف Category و SubCategory. میخوام وقتی یک Category رو پاک میکنم کالا های داخل این Category هم پاک بشه. منظورم از پاک کردن اینه که یک فیلد IsRemoved دارم و میخوام اون true شه نه اینکه از دیتابیس حذفش کنم. مدل دیتابیس هم Code first هست.

سرویس حذف Category

 public ResultDto Execute(long Id)
        {
            var category = _context.Categories.Find(Id);
            var subCategory = _context.Categories.Where(p => p.ParentCategoryId == Id).ToList();
            if (category == null)
            {
                return new ResultDto
                {   
                    IsSuccess = false,
                    Message = "User not found"
                };
            }
            category.RemoveTime = DateTime.Now;
            category.IsRemoved = true;

            subCategory.ForEach(p => p.IsRemoved = true);
            subCategory.ForEach(p => p.RemoveTime = DateTime.Now);

            _context.SaveChanges();

            return new ResultDto()
            {
                IsSuccess = true,
            };
        }

 

 


  • 1400/01/08


foreach(var cat in SubCategory)
}
cat.isRemoved=True;
cat.RemovedTime=DateTime.Now;

;var products = _context.products.Where(p=> p.CatId==cat.Id).ToList()
foreach(var product in products)
}
product.isRemoved=True;
product.RemovedTime=DateTime.Now;

{
 
{

شما باید برای هر ساب کتگوری یک مرتبه داخل حلقه تمامی محصولات رو پیدا کنید و حذف کنید . نیازی به چند حلقه جداگونه نیست و تمامی عملیات داخل دو تا حلقه تو در تو انجام میشه.



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری