Example #1
0
        public async Task <IActionResult> UserCabinet(UserCabinetVM model)
        {
            AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            user.UserName                 = model.UserName;
            user.Name                     = model.Name;
            user.Surname                  = model.Surname;
            user.FatherName               = model.FatherName;
            user.Email                    = model.Email;
            user.PhoneNumber              = model.Phone;
            user.ShippingCity             = model.City;
            user.ShippingDistrict         = model.District;
            user.DetalizedShippingAddress = model.DetalizedAddress;
            user.Information              = model.Information;
            user.UserName                 = model.UserName;
            user.FIN        = model.FIN;
            user.PassportID = model.PassportID;

            if (model.Password != null)
            {
                string token = await _userManager.GeneratePasswordResetTokenAsync(user);

                var result = await _userManager.ResetPasswordAsync(user, token, model.Password);

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", "Xəta baş verdi");
                }
            }


            IdentityResult identityResult = await _userManager.UpdateAsync(user);

            if (!identityResult.Succeeded)
            {
                foreach (IdentityError error in identityResult.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
                return(View(model));
            }
            await _signInManager.RefreshSignInAsync(user);

            return(RedirectToAction("Index", "Home"));
        }
        public UserCabinetPage(Page previousPage)
        {
            InitializeComponent();

            _previousPage = previousPage;

            btnBackward.Background = PagesPropertiesProvider.BackwardImage;

            btnBackward.Click       += btnBackward_Click;
            btnChangePassword.Click += btnChangePassword_Click;
            btnDeleteAccount.Click  += btnDeleteAccount_Click;

            DataContext = new UserCabinetVM();
        }
Example #3
0
        public async Task <IActionResult> UserCabinet()
        {
            if (User.Identity.IsAuthenticated)
            {
                AppUser user = await _userManager.FindByNameAsync(User.Identity.Name);

                List <WishlListVM> wishlist = new List <WishlListVM>();
                if (Request.Cookies["wishlist"] != null)
                {
                    wishlist = JsonConvert.DeserializeObject <List <WishlListVM> >(Request.Cookies["wishlist"]);
                }
                List <WishlListVM> userWishlist = wishlist.Where(wl => wl.UserName == User.Identity.Name).ToList();

                List <Sale> sales = _context.Sales.Where(s => s.AppUserId == user.Id)
                                    .Include(s => s.PaymentType).Include(s => s.SaleProducts)
                                    .ThenInclude(s => s.Product).ToList();

                UserCabinetVM userCabinetVM = new UserCabinetVM
                {
                    User             = user,
                    Name             = user.Name,
                    Surname          = user.Surname,
                    FatherName       = user.FatherName,
                    Email            = user.Email,
                    Phone            = user.PhoneNumber,
                    Password         = user.PasswordHash,
                    CheckPassword    = user.PasswordHash,
                    City             = user.ShippingCity,
                    District         = user.ShippingDistrict,
                    DetalizedAddress = user.DetalizedShippingAddress,
                    Information      = user.Information,
                    UserName         = user.UserName,
                    FIN          = user.FIN,
                    PassportID   = user.PassportID,
                    UserWishlist = userWishlist,
                    UserSales    = sales
                };

                return(View(userCabinetVM));
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }