public ActionResult Create(TransferViewModel transferViewModel) { if (ModelState.IsValid && transferViewModel != null) { var transfer = GetTransfer(transferViewModel); _transferService.AddTransfer(transfer); return(RedirectToAction("Index")); } return(View(transferViewModel)); }
public async Task <IActionResult> InnerTransfer(InnerTransferViewModel model) { decimal amount = 0; User user = userService.FindUserByName(HttpContext.User.Identity.Name); Account sender = accountService.FindAccountById((int)model.AccountSenderId).Result; await validationService.ValidateInnerTransfer(model, user, sender, ModelState); string comment = "Внутрибанковский платеж - " + model.Comment; model.Comment = comment; if (ModelState.IsValid) { amount = decimal.Parse(model.Amount); Account receiver = accountService.FindAccountByNumber(model.ReceiverAccountNumber).Result; //decimal amountReceive; //accountService.AmountTryParse(model.AmountReceive, out amountReceive); InnerTransfer transfer = await transferService.CreateInnerTransfer(sender, receiver, amount, model.Comment, null, null, null); transferService.AddTransfer(transfer); if (model.SaveInTempalte) { Template template = _templateServiceService.SaveTemplate(transfer, user); return(RedirectToAction("TemplateSave", "Template", new { tempalteId = template.Id })); } return(RedirectToAction("Transfer", "Transfer")); } model = transferService.GetMethodInnerTransfer(user, model); Template templates = _templateServiceService.FindTemplateById(model.TemplateId); if (templates != null) { model.Template = templates; } return(View(model)); }
public IActionResult Post([FromBody] TransferCommand command) { _service.AddTransfer(command); return(Ok()); }
public async Task <IActionResult> ConvertUserCurrency(CurrencyConversionViewModel model) { User user = userService.FindUserByName(User.Identity.Name); Account sender = accountService.FindAccountById(model.AccountSenderId).Result; decimal amountSend = 0; accountService.AmountTryParse(model.AmountSend, out amountSend); await validationService.ValidateConvertUserCurrency(model, sender, ModelState, user); if (ModelState.IsValid) { Account receiver = accountService.FindAccountById(model.AccountReceiverId).Result; decimal amountReceive = 0; accountService.AmountTryParse(model.AmountReceive, out amountReceive); List <ExchangeRate> exchangeRateList = exchangeRateService.GetLastExchangeRatesByDate().ToList(); ExchangeRate exchangeRate = exchangeRateList.FirstOrDefault(r => r.CurrencyId == receiver.CurrencyId); ExchangeRate exchangeRateSecond = exchangeRateList.FirstOrDefault(r => r.CurrencyId == sender.CurrencyId); if (exchangeRate == null) { exchangeRate = exchangeRateList.FirstOrDefault(u => u.CurrencyId == sender.CurrencyId); } if (exchangeRateSecond == null) { exchangeRateSecond = exchangeRateList.FirstOrDefault(u => u.CurrencyId == receiver.CurrencyId); } int exchangeRateId = exchangeRate.Id; int exchangeRateIdSecond = exchangeRateSecond.Id; InnerTransfer transfer = await transferService.CreateInnerTransfer(sender, receiver, amountSend, "конвертация", amountReceive, exchangeRateId, exchangeRateIdSecond); transferService.AddTransfer(transfer); ViewBag.successMessage = localizer["ConversionWasSuccessful"]; ConvertConversionToDocViewModel docModel = new ConvertConversionToDocViewModel() { Date = DateTime.Now.ToString(), AccountFromNumber = sender.Number, CurrencyFromName = sender.Currency.Name, AmountSend = amountSend.ToString(), AccountToNumber = receiver.Number, CurrencyToName = receiver.Currency.Name, AmountReceive = amountReceive.ToString(), CurrencyFromRate = exchangeRate.RateForSale.ToString(), CurrencyToRate = exchangeRateSecond.RateForPurchaise.ToString() }; _docmodel = docModel; PdfPTable table = createPdFandLoad.TableForConvertion(docModel); string name = createPdFandLoad.CreatePDF(table); ViewBag.FileName = name; } string userName = String.Empty; int userId = 0; UserInfo userInfo = userService.FindUserByIdInUserInfo(user.Id, ref userName, ref userId); EmployeeInfo employeeInfo = userService.FindUserByIdInCompany(user.Id, ref userName, ref userId); if (userInfo != null) { model.UserAccounts = selectListService.GetUserAccounts(userInfo.Id); } if (employeeInfo != null) { model.UserAccounts = selectListService.GetEmployeeAccounts(employeeInfo.Id); } return(View(model)); }