public async Task <IActionResult> Edit([FromBody] RevenueEditViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // confirm user exists var userId = _userManager.GetUserId(HttpContext.User); if (userId == null) { return(BadRequest(Errors.AddErrorToModelState( "edit_revenue_failure", "Unable to find a user for this revenue", ModelState))); } var revenue = _db.Revenues .Include(x => x.Budget) .FirstOrDefault(x => x.Budget.UserId == userId && x.Id == model.Id); if (revenue == null) { return(BadRequest(Errors.AddErrorToModelState( "edit_revenue_failure", "Unable to find this revenue", ModelState))); } // Update revenue.Description = model.Description; revenue.Amount = model.Amount; revenue.IsForever = model.IsForever; revenue.StartDate = model.StartDate; revenue.EndDate = model.EndDate; revenue.Frequency = model.Frequency; revenue.RepeatMon = model.RepeatMon; revenue.RepeatTue = model.RepeatTue; revenue.RepeatWed = model.RepeatWed; revenue.RepeatThu = model.RepeatThu; revenue.RepeatFri = model.RepeatFri; revenue.RepeatSat = model.RepeatSat; revenue.RepeatSun = model.RepeatSun; await _db.SaveChangesAsync(); return(new OkObjectResult(new { message = "success" })); }
public async Task <IActionResult> EditRevenue(RevenueEditViewModel model) { if (ModelState.IsValid) { var revenue = await repository.GetTransaction(model.Id) as Revenue; revenue.Date = model.Date; revenue.Value = model.Value; revenue.RevenueType = model.RevenueType; await repository.Update(revenue); return(RedirectToAction("list", "transaction")); } return(View()); }
public async Task <IActionResult> UdpateRevenue(RevenueEditViewModel model) { if (ModelState.IsValid) { var revenue = await repository.GetTransaction(model.Id) as Revenue; if (revenue == null) { return(NotFound(model.Id)); } revenue.Date = model.Date; revenue.Value = model.Value; revenue.RevenueType = model.RevenueType; await repository.Update(revenue); return(Ok(revenue.ToJson())); } return(BadRequest(ModelState)); }
public async Task <ViewResult> Edit(int id) { var transaction = await repository.GetTransaction(id); if (transaction == null) { ViewBag.ErrorMessage = $"Transação com Id: {id} não pode ser encontrado"; return(View("NotFound")); } switch (transaction.TransactionType) { case TransactionType.RECEITA: var revenueEditViewModel = new RevenueEditViewModel(transaction as Revenue); return(View("EditRevenue", revenueEditViewModel)); case TransactionType.DESPESA: var expenditureEditViewModel = new ExpenditureEditViewModel(transaction as Expenditure); return(View("EditExpenditure", expenditureEditViewModel)); default: return(View("NotFound")); } }