Пример #1
0
 public WeekBasketViewModel(Consumer consumer, TempWeekBasket tempWeekBasket,ValidatedWeekBasket validatedWeekBasket, ApplicationDbContext context)
 {
     TempWeekBasket = tempWeekBasket;
     ValidatedWeekBasket = validatedWeekBasket;
     Consumer = consumer;
     Products = context.Products.Include(x=>x.Producer).Where(x => x.State == Product.ProductState.Enabled).ToList();
     ProductTypes = context.ProductTypes.Include(x => x.ProductFamilly).ToList();
 }
Пример #2
0
 // GET: WeekBasket/Index/id
 public async Task<IActionResult> Index()
 {
     Consumer consumer = await GetCurrentStolonsUserAsync() as Consumer; 
     if (consumer == null)
     {
         return NotFound();
     }
     TempWeekBasket tempWeekBasket = _context.TempsWeekBaskets.Include(x => x.Consumer).Include(x => x.Products).FirstOrDefault(x => x.Consumer.Id == consumer.Id);
     ValidatedWeekBasket validatedWeekBasket = _context.ValidatedWeekBaskets.Include(x => x.Consumer).Include(x => x.Products).FirstOrDefault(x => x.Consumer.Id == consumer.Id);
     if (tempWeekBasket == null)
     {
         //Il n'a pas encore de panier de la semaine, on lui en crée un
         tempWeekBasket = new TempWeekBasket();
         tempWeekBasket.Consumer = consumer;
         tempWeekBasket.Products = new List<BillEntry>();
         _context.Add(tempWeekBasket);
         _context.SaveChanges();
     }
     return View(new WeekBasketViewModel(consumer, tempWeekBasket, validatedWeekBasket, _context));
 }
Пример #3
0
 public async Task<string> JsonTmpWeekBasket()
 {
     Consumer consumer = await GetCurrentStolonsUserAsync() as Consumer;
     if (consumer == null)
     {
         return null;
     }
     TempWeekBasket tempWeekBasket = _context.TempsWeekBaskets.Include(x => x.Products).FirstOrDefault(x => x.Consumer.Id == consumer.Id);
     if (tempWeekBasket == null)
     {
         //Il n'a pas encore de panier de la semaine, on lui en creer un
         tempWeekBasket = new TempWeekBasket();
         tempWeekBasket.Consumer = consumer;
         tempWeekBasket.Products = new System.Collections.Generic.List<BillEntry>();
         _context.Add(tempWeekBasket);
         _context.SaveChanges();
     }
     else
     {
         tempWeekBasket.RetrieveProducts(_context);
     }
     return JsonConvert.SerializeObject(tempWeekBasket, Formatting.Indented, new JsonSerializerSettings()
     {
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
     });
 }
Пример #4
0
        private bool IsBasketValidated(TempWeekBasket tmpBasket)
        {
            ValidatedWeekBasket validatedBasket = _context.ValidatedWeekBaskets.Include(x => x.Consumer).Include(x => x.Products).FirstOrDefault(x => x.Consumer.Id == tmpBasket.Consumer.Id);

            if (validatedBasket == null)
            {
                return false;
            }
            if (validatedBasket.Products.Count != tmpBasket.Products.Count)
            {
                return false;
            }
            foreach (BillEntry billEntry in tmpBasket.Products.ToList())
            {
                BillEntry validatedEntry = validatedBasket.Products.FirstOrDefault(x => x.ProductId == billEntry.ProductId);

                if (validatedEntry == null)
                {
                    return false;
                }
                if (billEntry.Quantity != validatedEntry.Quantity)
                {
                    return false;
                }
            }
            return true;
        }