Esempio n. 1
0
        public async Task <ActionResult> ClosePartially(DebtEditModel model)
        {
            Debt debt = null;

            if (ModelState.IsValid)
            {
                try
                {
                    await _createCloseDebtService.PartialCloseAsync(model.DebtId, model.Sum, model.AccountId);
                }
                catch (ServiceException e)
                {
                    throw new WebUiException(
                              $"Ошибка в контроллере {nameof(DebtController)} в методе {nameof(ClosePartially)}", e);
                }
                catch (ArgumentOutOfRangeException)
                {
                    ModelState.AddModelError("", "Введенная сумма больше суммы долга");
                    debt = await _debtService.GetItemAsync(model.DebtId);
                    await FillDebtViewModel(debt, model);

                    return(PartialView("_ClosePartially", model));
                }

                return(RedirectToAction("DebtList"));
            }
            debt = await _debtService.GetItemAsync(model.DebtId);
            await FillDebtViewModel(debt, model);

            return(PartialView("_ClosePartially", model));
        }
Esempio n. 2
0
        private async Task FillDebtViewModel(Debt debt, DebtEditModel model)
        {
            var accounts = (await _accService.GetListAsync(a => a.UserId == debt.UserId)).ToList();

            model.DebtId       = debt.DebtID;
            model.Sum          = debt.Summ;
            model.Accounts     = accounts;
            model.Date         = debt.DateBegin.ToShortDateString();
            model.Person       = debt.Person;
            model.TypeOfFlowId = debt.TypeOfFlowId;
            model.AccountId    = debt.AccountId;
        }
Esempio n. 3
0
        public async Task <ActionResult> ClosePartially(int id)
        {
            try
            {
                var debt = await _debtService.GetItemAsync(id);

                if (debt == null)
                {
                    return(RedirectToAction("DebtList"));
                }

                var debtEditModel = new DebtEditModel();
                await FillDebtViewModel(debt, debtEditModel);

                return(PartialView("_ClosePartially", debtEditModel));
            }
            catch (ServiceException e)
            {
                throw new WebUiException($"Ошибка в контроллере {nameof(DebtController)} в методе {nameof(ClosePartially)}", e);
            }
        }