Example #1
0
 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));
        }
Example #3
0
 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));
        }