// GET: CashOutcomes/Create public IActionResult Create() { CreateInitial(0); CashOutcome cashOutcome = new CashOutcome(); cashOutcome.OutcomeDate = DateTime.Today; return(View(cashOutcome)); }
public async Task <IActionResult> Create([Bind("CashOutcomeId,ProductId,Description,Amount,OutcomeDate")] CashOutcome cashOutcome) { if (ModelState.IsValid) { cashOutcome.Product = await _context.Product.SingleOrDefaultAsync(p => p.ProductId == cashOutcome.ProductId); //product.Balance = product.Balance - cashOutcome.Amount; cashOutcome.Product.Balance = cashOutcome.Product.Balance - cashOutcome.Amount; cashOutcome.CreatedDate = DateTime.Today; cashOutcome.StatusOutcome = Models.Enum.StatusCashFlow.Activo; _context.Add(cashOutcome); //_context.Update(product); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } CreateInitial(cashOutcome.ProductId); return(View(cashOutcome)); }
public async Task <IActionResult> Edit(int id, [Bind("CashOutcomeId,ProductId,Description,Amount,OutcomeDate,CreatedDate,StatusOutcome")] CashOutcome cashOutcome) { if (id != cashOutcome.CashOutcomeId) { return(NotFound()); } if (ModelState.IsValid) { try { CashOutcome cashOutcomeOld = await _context.CashOutcome.SingleOrDefaultAsync(c => c.CashOutcomeId == cashOutcome.CashOutcomeId); Product product = await _context.Product.SingleOrDefaultAsync(p => p.ProductId == cashOutcome.ProductId); if (cashOutcome.Amount != cashOutcomeOld.Amount) { var _amount = cashOutcome.Amount - cashOutcomeOld.Amount; product.Balance = product.Balance - _amount; _context.Update(product); } _context.Update(cashOutcome); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CashOutcomeExists(cashOutcome.CashOutcomeId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } CreateInitial(cashOutcome.ProductId); return(View(cashOutcome)); }