Exemplo n.º 1
0
 private void EditSale_Click(object sender, RoutedEventArgs e)
 {
     if (SaleGrid.SelectedItem != null)
     {
         UpdateSaleForm form = new UpdateSaleForm((Sale)SaleGrid.SelectedItem);
         if (form.ShowDialog() == true)
         {
             db.UpdateSale(form.sale);
             SaleCollection.RemoveAt(SaleGrid.SelectedIndex);
             SaleCollection.Add(form.sale);
         }
     }
 }
Exemplo n.º 2
0
        public async Task <HbResult <HbSale> > Update(UpdateSaleForm form)
        {
            var lotExist = await _dc.Lots.Where(u => !u.IsDeleted && u.Id == form.LotId).AnyAsync();

            if (!lotExist)
            {
                return(new HbResult <HbSale>(ErrorCodes.LotNotFound));
            }

            var sale = await _dc.Sales.FirstOrDefaultAsync(u => u.Id == form.Id && !u.IsDeleted);

            if (sale == null)
            {
                return(new HbResult <HbSale>(ErrorCodes.SaleNotFound));
            }

            if (form.Type != SalesTypes.Egg)
            {
                var soldChickens = await _dc.Sales.Where(u => u.LotId == form.LotId && u.Id != form.Id && u.Type != SalesTypes.Egg && !u.IsDeleted).SumAsync(u => u.Count);

                var broodCount = await _dc.Broods.Where(u => u.LotId == form.LotId && !u.IsDeleted).SumAsync(u => u.Count);

                if (form.Count > broodCount - soldChickens)
                {
                    return(new HbResult <HbSale>(ErrorCodes.SalesCountMoreThanBroodCount));
                }
            }

            sale.SaleDate = form.SaleDate;
            sale.Comment  = form.Comment;
            sale.Count    = form.Count;
            sale.Amount   = form.Amount;
            sale.Buyer    = form.Buyer;
            sale.Type     = form.Type;
            sale.LotId    = form.LotId;

            await _dc.SaveChangesAsync();

            await _lotsUnit.RecalculateLot(form.LotId);

            return(new HbResult <HbSale>(_mapper.Map <HbSale>(sale)));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(UpdateSaleForm form)
        {
            if (!ModelState.IsValid)
            {
                await InitLotsList(form);

                return(View(form));
            }

            var res = await _sales.Update(form);

            if (res.IsCorrect)
            {
                return(RedirectToAction(nameof(List)));
            }

            ViewData[ViewDataKeys.ErrorMessage] = res.ErrorMessage;
            await InitLotsList(form);

            return(View(form));
        }