Ejemplo n.º 1
0
        public async Task <IActionResult> Create(AccountBalanceViewModel accountBalanceViewModel)
        {
            foreach (var accountBalance in _newAccountBalances)
            {
                var entity = await _accountBalanceFacade.InsertAsync(accountBalance);
            }

            _newAccountBalances.Clear();
            return(View("Index"));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }