public static async Task ProcessOrders() { #region تعریف متغییر ها var repository = new Repository(); var shop = new ShopEntity(); var basketOfCustomer = new BasketOfCustomer(); var pendingCustomers = new List <CustomerEntity>(); var successBought = new List <CustomerEntity>(); var report = new Report(); int counterBasketId = 0; #endregion while (true) { // هر یک ثانیه مشتری پاسخ داده می شود Thread.Sleep(1000); // مشتری ای که اولویت دارد اول زن باشد و تعداد کم اقلام می خواهد // و نیز مقدار کمتری اقلام مورد نظر را می خواهد فیلتر کرده ایم var customer = Repository.CustomersList.OrderByDescending(g => g.Gender) .ThenBy(ic => ic.Items.Count()) .ThenBy(ism => ism.Items.Sum(q => q.Qnt)) .FirstOrDefault(); if (customer == null) { continue; } await Task.Run(() => { // بروزرسانی اقلام داخل مغازه shop.ItemsList = Repository.UpdateShopItems; // بررسی موجود بودن اقلام مورد نیاز مشتری bool chackExistItems = repository.ChackExistItems(customer.Items, shop.ItemsList).Result; // بررسی موجود بودن لیست اقلام مشتری در مغازه if (chackExistItems == false) { pendingCustomers.Add(customer); } else { // مشخصات اجناس مورد نظر درخواستی مشتری var basket = basketOfCustomer.BasketImporter(++counterBasketId, customer.Items, DateTime.Now, customer); successBought.Add(customer); report.ShowResult(basket); } // مرحله حذف مشتری از لیست اصلی مشتریان var removeCustomer = Repository.CustomersList.First(c => c.Id == customer.Id); Repository.CustomersList.Remove(removeCustomer); }); } }
public ActionResult RemoveBasket(int id) { BasketOfCustomer ofCustomer = db.BasketOfCustomers.FirstOrDefault(m => m.BasketId == id); if (ofCustomer == null) { ModelState.AddModelError("", "böyle bir spet yok !"); } else { db.BasketOfCustomers.Remove(ofCustomer); db.SaveChanges(); return(RedirectToAction("BasketList", "CustomerOfBasket")); } return(View()); }