public async Task <IActionResult> InterTransfer(InterBankTransferViewModel model)
        {
            decimal         amount   = 0;
            Account         receiver = accountService.OurBankAccount();
            Account         sender   = accountService.FindAccountById((int)model.Transfer.AccountSenderId).Result;
            User            user     = userService.FindUserByName(HttpContext.User.Identity.Name);
            EmployeeAccount Limit    = new EmployeeAccount();
            string          comment  = "Межбанковский платеж - " + model.Transfer.Comment;

            model.Transfer.Comment = comment;
            if (model.Transfer.AccountSenderId == null)
            {
                ModelState.AddModelError("Transfer.AccountSenderId", localizer["AccountSenderIdValidation"]);
            }
            else
            {
                Limit = accountService.FindEmployeeAccountByUserIdAndAccountId(user.Id, model.Transfer.AccountSenderId.Value);
                if (sender.Locked)
                {
                    ModelState.AddModelError("Transfer.AccountSenderId", "*Счет заблокирован");
                }
                else if (!await accountService.IsUserHaveRightsOnAccount(user, model.Transfer.AccountSenderId.Value))
                {
                    ModelState.AddModelError("Transfer.AccountSenderId", "У вас нет прав на совершение данного перевода.");
                }
                else if (await accountService.IsAccountExist(receiver.Number) && await accountService.CompareAccountsCurrencies(receiver.Number, (int)model.Transfer.AccountSenderId))
                {
                    ModelState.AddModelError("Transfer.AccountSenderId", localizer["*Межбанковский перевод провидиться в национальной валюте"]);
                }
                if (!accountService.AmountTryParse(model.Transfer.Amount, out amount))
                {
                    ModelState.AddModelError("Transfer.Amount", localizer["AmountFormatValidation"]);
                }
                else if (amount <= 0)
                {
                    ModelState.AddModelError("Transfer.Amount", localizer["AmountNotNull"]);
                }
                else if (!await accountService.IsBalanceEnough((int)model.Transfer.AccountSenderId, amount))
                {
                    ModelState.AddModelError("Transfer.Amount", localizer["IsBalanceEnoughValidation"]);
                }
                else if (Limit.limit.LimitAmount < amount)
                {
                    ModelState.AddModelError("Transfer.Amount", string.Format("{0} {1}", localizer["ExceededTheLimit"], Limit.limit.LimitAmount));
                }
            }
            if (ModelState.IsValid)
            {
                InnerTransfer transfer = await
                                         transferService.CreateInnerTransfer(sender, receiver, amount, model.Transfer.Comment, null, null, null);

                transferService.AddTransfer(transfer);
                InterBankTransfer interTransfer = transferService.CreateInterBankTransfer(model, transfer);

                if (model.Transfer.SaveInTempalte)
                {
                    Template template = _templateServiceService.SaveTemplateInterTransfer(interTransfer, user);
                    return(RedirectToAction("TemplateSave", "Template", new { tempalteId = template.Id }));
                }
                return(RedirectToAction("Transfer", "Transfer"));
            }

            Template templates = _templateServiceService.FindTemplateById(model.Transfer.TemplateId);

            if (templates != null)
            {
                model.Transfer.Template = templates;
            }
            model.Banks       = selectListService.GetBankList();
            model.PaymentCode = selectListService.GetPayemntCodeList();
            model.Transfer    = transferService.GetMethodInnerTransfer(user, model.Transfer);
            return(View(model));
        }