public async Task <IActionResult> Create(AccountBalanceViewModel accountBalanceViewModel) { foreach (var accountBalance in _newAccountBalances) { var entity = await _accountBalanceFacade.InsertAsync(accountBalance); } _newAccountBalances.Clear(); return(View("Index")); }
public async Task <IActionResult> Create() { AccountBalanceViewModel accountBalanceViewModel = new AccountBalanceViewModel(); var accounts = await _accountFacade.GetAll(); foreach (var account in accounts) { accountBalanceViewModel.AccountTypes.Add(account.TipRacuna); } return(View(accountBalanceViewModel)); }
public async Task <ActionResult> GetPayments() { var user = await Task.Run(() => _userManager.GetUser(User.Identity.Name)); //* i did this instead of joining users and payments user so that you can display the name of user if you want to * var paymentLists = await Task.Run(() => _paymentManager.GetPaymentList(user.UserCode) .Select(i => new PaymentListViewModel { Date = i.Date.ToString("yyyy-MM-dd hh:mm tt"), Amount = i.Amount, Status = i.Status, Reason = i.Reason })); AccountBalanceViewModel accountBalanceViewModel = new AccountBalanceViewModel { AccountNumber = user.AccountNumber, // I assume that you need to look into account number if you want to see your paymentdetails. AccountBalance = paymentLists.Sum(i => i.Amount), // * I assume that you need to get the sum of payments to get the Account balance of user. * PaymentList = paymentLists, }; return(Ok(accountBalanceViewModel)); }
public IActionResult IncreaseBalance(AccountBalanceViewModel accountBalanceViewModel) { if (signInManager.IsSignedIn(User) == true) { SignedUserName = User.Identity.Name; user = dbContext.CustomUsers.FirstOrDefault(x => x.UserName == SignedUserName); } var balance = dbContext.Balances.FirstOrDefault(x => x.DbPassportUserModelId == user.Id); balance.LastIncreasedAZNBalanceDate = DateTime.Now; balance.AZNBalance += accountBalanceViewModel.AZNBalance; dbContext.SaveChanges(); UserTransaction userTransaction = new UserTransaction() { TransactionType = 1, //================ 1 for medaxil, 2 for mexaric Amount = accountBalanceViewModel.AZNBalance, CurrencyType = 1, //=================== 1 for azn, 2 for try, Date = DateTime.Now, DbPassportUserModel = user }; dbContext.Transactions.Add(userTransaction); dbContext.SaveChanges(); AccountBalanceViewModel sendData = new AccountBalanceViewModel() { AZNBalance = balance.AZNBalance, LastIncreasedAZNBalanceDate = balance.LastIncreasedAZNBalanceDate }; var serializedBalance = JsonConvert.SerializeObject(sendData); return(Content(serializedBalance)); }
public async Task <IActionResult> CreateUserSecond(PassportUserModel passportUser) { if (passportUser.agreeBox == false) { ModelState.AddModelError("agreeBox", "Zəhmət olmasa istifadəçi qaydaları ilə razı olun"); return(View(passportUser)); } if (ModelState.IsValid) { DateTime lastDateTime = new DateTime(passportUser.Year, passportUser.Month, passportUser.Day); var howManyUsers = dbContext.Users.ToList(); int customerid; if (howManyUsers.Count == 0) { customerid = 10000000; } else { customerid = dbContext.CustomUsers.Max(x => x.CustomerNumber) + 1; } DbPassportUserModel finalUser = new DbPassportUserModel() { UserName = passportUser.Email, Email = passportUser.Email, Name = passportUser.Name, Surname = passportUser.Surname, FinCode = passportUser.FinCode, SeriaNumber = passportUser.SeriaNumber, Sex = passportUser.Sex, Address = passportUser.Address, PhoneNumber = passportUser.MobilePhone, BirthdayDate = lastDateTime, CustomerNumber = customerid, Citizenship = passportUser.Citizenship }; var existedEmail = user.Users.FirstOrDefault(x => x.Email == finalUser.Email); var existedPhone = user.Users.FirstOrDefault(x => x.PhoneNumber == finalUser.PhoneNumber); var existedSeriaNumber = user.Users.FirstOrDefault(x => x.SeriaNumber == finalUser.SeriaNumber); var existedFinNumber = user.Users.FirstOrDefault(x => x.FinCode == finalUser.FinCode); if (existedEmail != null || existedPhone != null || existedSeriaNumber != null || existedFinNumber != null) { if (existedEmail != null) { ModelState.AddModelError("Email", "Belə mail istifadə olunub"); } if (existedPhone != null) { ModelState.AddModelError("MobilePhone", "Belə telefon nomrəsi istifadə olunub"); } if (existedSeriaNumber != null) { ModelState.AddModelError("SeriaNumber", "Belə seriya nömrəsi nomrəsi istifadə olunub"); } if (existedFinNumber != null) { ModelState.AddModelError("FinCode", "Belə Fin nömrəsi nomrəsi istifadə olunub"); } } else { var result = user.CreateAsync(finalUser, passportUser.Password).Result; if (result.Succeeded) { await signIn.SignInAsync(finalUser, false); var thResult = user.AddToRoleAsync(finalUser, "User").Result; if (thResult.Succeeded) { } var signedBalanceUser = dbContext.CustomUsers.FirstOrDefault(x => x.UserName == finalUser.UserName); AccountBalanceViewModel accountBalanceViewModel = new AccountBalanceViewModel() { AZNBalance = 0.00M, TLBalance = 0.00M, LastIncreasedAZNBalanceDate = DateTime.Now, DbPassportUserModel = signedBalanceUser }; dbContext.Balances.Add(accountBalanceViewModel); dbContext.SaveChanges(); var code = await user.GenerateEmailConfirmationTokenAsync(finalUser); var link = this.Url.ActionLink("EmailVerified", "Register", new { userId = finalUser.Id, code = code }); var message = new MimeMessage(); message.From.Add(new MailboxAddress("Limak", "*****@*****.**")); message.To.Add(new MailboxAddress("Code academy", finalUser.Email)); message.Subject = "Test"; string customText = $"<a href={link}> Click Me<a/>"; var bodyBuilder = new BodyBuilder(); bodyBuilder.HtmlBody = $"<a href={link}> Click Me<a/>"; message.Body = bodyBuilder.ToMessageBody(); using (var client = new SmtpClient()) { client.CheckCertificateRevocation = false; client.Connect("smtp.gmail.com", 587, false); client.Authenticate("*****@*****.**", "miko1999"); client.Send(message); } return(RedirectToAction("PleaseVerify")); } else { ModelState.AddModelError("Password", "Parolda 1 boyuk herf 1 reqem ve 1 simvol olmalidir"); } } } return(View(passportUser)); }