public async Task <ActionResult> Create(CreateBankAccountViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                foreach (var _type in db.BankAccountTypes.ToList())
                {
                    vm.BankAccountTypeList.Add(_type.Id, _type.Name);
                }
                vm.BankNameList = new SelectList(db.BankNames.ToList(), "Id", "Name", vm.BankNameSelection);
                return(View(vm));
            }
            var nickname = (vm.NickName == null || string.IsNullOrWhiteSpace(vm.NickName)) ? "My Default Account" : vm.NickName;
            var type     = db.BankAccountTypes.Find(vm.BankAccountTypeSelection);
            var house    = db.Households.Find(User.Identity.GetHouseholdId());
            var user     = db.Users.Find(User.Identity.GetUserId());
            var bankName = db.BankNames.Find(vm.BankNameSelection);
            var balance  = vm.BankAccountBalance;
            var account  = new BankAccount();

            account.NickName          = nickname;
            account.BankNameId        = bankName.Id;
            account.BankAccountTypeId = type.Id;
            account.OwnerId           = user.Id;
            account.Balance           = balance;
            db.BankAccounts.Add(account);
            AddAccountToHouseholdUsers(account);
            db.Entry(account).State = EntityState.Added;
            db.SaveChanges();
            await ControllerContext.HttpContext.RefreshAuthentication(user);

            return(RedirectToAction("Index", "Home"));
        }
Beispiel #2
0
        public async Task <IActionResult> Create(CreateBankAccountViewModel bankAccountModel)
        {
            if (ModelState.IsValid)
            {
                User user = await CurrentUser();

                BankAccount bankAccount = new BankAccount
                {
                    Number      = bankAccountModel.Number,
                    Balance     = bankAccountModel.Balance,
                    IsLocked    = bankAccountModel.IsLocked,
                    CreatedDate = DateTime.Now.Date,
                    User        = user
                };

                bool result = service_.CreateBankAccount(bankAccount);
                if (result)
                {
                    HttpContext.Session.SetString("UserIsAuthorized", "false");
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    ModelState.AddModelError("", "Create BankAccount is unsuccessful!");
                }
            }
            return(View(bankAccountModel));
        }
Beispiel #3
0
        public ActionResult Create(CreateBankAccountViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    this.Current.Services.BankAccountService.CreateBankAccount(new core.models.BankAccount()
                    {
                        Name            = model.Name,
                        Description     = model.Description,
                        CreateUserId    = this.Current.User.Id,
                        Currency        = model.Currency,
                        StartingBalance = model.StartingBalance
                    },
                                                                               startingBalance: model.StartingBalance);

                    return(this.JsonSuccess(
                               data: null,
                               message: string.Format(ValidationResources.BankAccount_Create_Success, model.Name),
                               returnUrl: Routes.IndexBankAccounts.GetActionLink(Url)));
                }

                return(this.JsonError(data: null, message: ValidationResources.Generic_ModelState_Error));
            }
            catch (Exception e)
            {
                this.HandleError(e);
                return(this.JsonError(data: null, message: ValidationResources.Generic_Error));
            }
        }
 public ActionResult CreateBankAccount(CreateBankAccountViewModel viewModel)
 {
     if (ModelState.IsValid &&
         _bankAccountsService.CreateBankAccount(_bankingAppContext.GetUserId(), viewModel.AccountToDepositFromId, viewModel.AccountName, viewModel.AccountType, viewModel.InitialDeposit))
     {
         return(RedirectToAction("Index", "Home"));
     }
     ModelState.AddModelError("CreationFailed", "Bank account creation failed");
     return(View(viewModel));
 }
Beispiel #5
0
        public ActionResult Create(CreateBankAccountViewModel model)
        {
            var householdId = User.Identity.GetHouseholdId();

            if (ModelState.IsValid && householdId != null)
            {
                _manager.Add(new BankAccount {
                    HouseholdId = householdId.Value, Name = model.Name, Balance = model.Balance
                });
            }
            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Create()
        {
            CreateBankAccountViewModel vm = new CreateBankAccountViewModel
            {
                BankAccountTypeList = new Dictionary <int, string>(),
                BankNameList        = new SelectList(db.BankNames.ToList(), "Id", "Name", null)
            };

            foreach (var type in db.BankAccountTypes.ToList())
            {
                vm.BankAccountTypeList.Add(type.Id, type.Name);
            }
            return(View(vm));
        }
Beispiel #7
0
        public ActionResult Create(int?Id)
        {
            // Household Id
            if (Id is null)
            {
                TempData.Add("Message", "Improper Id");
                TempData.Add("MessageColour", "danger");
                return(RedirectToAction("Index", "Household"));
            }

            var viewModel = new CreateBankAccountViewModel()
            {
                HouseholdId = (int)Id
            };

            return(View(viewModel));
        }
Beispiel #8
0
        public ActionResult CreateBankAccount(int id, CreateBankAccountViewModel formData)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.HouseHoldId = id;

                return(View());
            }

            var httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {ViewBag.Token}");

            var parameters = new List <KeyValuePair <string, string> >();

            parameters.Add(new KeyValuePair <string, string>("HouseHoldId", id.ToString()));
            parameters.Add(new KeyValuePair <string, string>("Name", formData.Name));
            parameters.Add(new KeyValuePair <string, string>("Description", formData.Description));

            var enCodeParameters = new FormUrlEncodedContent(parameters);
            var url      = $"http://localhost:55336/api/BankAccount/Create/";
            var response = httpClient.PostAsync(url, enCodeParameters).Result;

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                TempData["Message"] = "BankAccount was created successfully";
                return(RedirectToAction("ListOfHouseHoldForBankAccount", "BankAccount"));
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
            {
                var data   = response.Content.ReadAsStringAsync().Result;
                var result = JsonConvert.DeserializeObject <APIErrorData>(data);

                foreach (var ele in result.ModelState)
                {
                    ModelState.AddModelError("", ele.Value[0].ToString());
                }

                return(View(formData));
            }
            else
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
Beispiel #9
0
        public ActionResult Create(int id, CreateBankAccountViewModel model)
        {
            var cookie = Request.Cookies["MyCookie"];

            if (cookie == null)
            {
                return(RedirectToAction("Index"));
            }

            var token = cookie.Value;

            var url        = "http://localhost:64310/api/BankAccount/Create";
            var httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Add("Authorization",
                                                 $"Bearer {token}");

            var name        = model.Name;
            var description = model.Description;

            model.DateCreated = DateTime.Now;

            var parameters = new List <KeyValuePair <string, string> >();

            parameters.Add(new KeyValuePair <string, string>("Name", name));
            parameters.Add(new KeyValuePair <string, string>("Description", description));
            parameters.Add(new KeyValuePair <string, string>("HouseholdId", id.ToString()));

            var encodedParameters = new FormUrlEncodedContent(parameters);

            var response = httpClient.PostAsync(url, encodedParameters).Result;

            var data1 = response.Content.ReadAsStringAsync().Result;

            var result = JsonConvert.DeserializeObject <BankAccount>(data1);

            return(RedirectToAction("BankAccount", "BankAccount", new { id = id }));
        }
 public IActionResult Create(CreateBankAccountViewModel model)
 {
     if (ModelState.IsValid)
     {
         // _userManager.GetUserName(User);
         var         userId = _userManager.GetUserId(User);
         BankAccount review = new BankAccount {
             Name         = model.Name,
             OwnerId      = userId,
             CreatedById  = userId,
             ModifiedById = userId
         };
         _context.BankAccounts.Add(review);
         _context.SaveChanges();
         System.Console.WriteLine("++++++++++++++++++++VALID+++++++++++++++++++");
         return(RedirectToAction("List"));
     }
     else
     {
         System.Console.WriteLine("--------------------NOT VALID--------------------");
         return(View("Create", model));
     }
 }
Beispiel #11
0
        public ActionResult Create(CreateBankAccountViewModel bankAccountViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(bankAccountViewModel));
            }

            var url = $"{ProjectConstants.APIURL}/api/bankaccount/create/{bankAccountViewModel.HouseholdId}";

            var parameters = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("Name", bankAccountViewModel.Name),
                new KeyValuePair <string, string>("Description", bankAccountViewModel.Description)
            };

            var encodedParameters = new FormUrlEncodedContent(parameters);
            var response          = HttpClientContext.httpClient.PostAsync(url, encodedParameters).Result;

            if (response.IsSuccessStatusCode)
            {
                TempData["Message"] = "Bank Account Created!";
                return(RedirectToAction("HouseholdBankAccounts", "BankAccount", new { Id = bankAccountViewModel.HouseholdId }));
            }
            else
            {
                ErrorHelpers.HandleResponseErrors(response, TempData, ModelState);

                if (bankAccountViewModel != null)
                {
                    return(View(bankAccountViewModel));
                }
                else
                {
                    return(RedirectToAction("Index", "Household"));
                }
            }
        }
Beispiel #12
0
        public ActionResult Create()
        {
            var model = new CreateBankAccountViewModel();

            return(View(model));
        }