示例#1
0
        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" }));
        }
示例#2
0
        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());
        }
示例#3
0
        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));
        }
示例#4
0
        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"));
            }
        }