Ejemplo n.º 1
0
        public async Task <IActionResult> OnPostAsync()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }

            var updateduser = (ApplicationUser)user;

            updateduser.Name        = Input.Name;
            updateduser.Country     = Input.Country;
            updateduser.State       = Input.State;
            updateduser.Address1    = Input.Address1;
            updateduser.Address2    = Input.Address2;
            updateduser.City        = Input.City;
            updateduser.PostCode    = Input.PostCode;
            updateduser.PhoneNumber = Input.PhoneNumber;

            // Process the avatar
            if (Input.AvartarUrl != null && Input.AvartarUrl.Length > 0 && updateduser.AvartarUrl != Input.AvartarUrl)
            {
                //Avatar is changed

                string folderName          = HttpContext.Session.GetObject <string>(SessionType.UploadImage);
                string savedAvatarFileName = ImageManagment.SaveAvatarPicToServer(_hostEnvironment, folderName, Input.AvartarUrl);
                if (savedAvatarFileName.Length > 0)
                {
                    //Delete the old avatar on server
                    if (updateduser.AvartarUrl != null && updateduser.AvartarUrl.Length > 0)
                    {
                        ImageManagment.DeleteOldAvatar(_hostEnvironment, updateduser.AvartarUrl);
                    }
                    updateduser.AvartarUrl = savedAvatarFileName;
                }
            }


            if (!ModelState.IsValid)
            {
                await LoadAsync(updateduser);

                return(Page());
            }

            var result = await _userManager.UpdateAsync(updateduser);

            if (result.Succeeded == false)
            {
                throw new InvalidOperationException($"Unexpected error occurred on updatting profile of  '{updateduser.Id}'.");
            }

            await _signInManager.RefreshSignInAsync(user);

            StatusMessage = "Your profile has been updated";
            return(RedirectToPage());
        }
 public CollectionController(ComicsDbContext context, UserManager <User> userManager, ComicsDbContext db, IWebHostEnvironment appEnviroment, ICollectionRepository collectionRepository, IUserRepository userRepository, ImageManagment imageManagment)
 {
     _context              = context;
     _userManager          = userManager;
     _db                   = db;
     _appEnviroment        = appEnviroment;
     _collectionRepository = collectionRepository;
     _userRepository       = userRepository;
     _imageManagment       = imageManagment;
 }
 public AccountController(UserManager <User> userManager, SignInManager <User> signInManager, ILogger <AccountController> logger, IUserRepository userRep, ICollectionRepository collectionRepository, IEmail email, ImageManagment imageManagment, ComicsDbContext db)
 {
     _userManager          = userManager;
     _signInManager        = signInManager;
     _logger               = logger;
     _userRep              = userRep;
     _collectionRepository = collectionRepository;
     _email          = email;
     _imageManagment = imageManagment;
     _db             = db;
 }
 public WhiskyController(ComicsDbContext context, UserManager <User> userManager, ComicsDbContext db, IWebHostEnvironment appEnviroment, IWhiskyRepository whiskyRepository, ICommentsRepository commentRepository, IUserRepository userRepository, ImageManagment imageManagment, IHubContext <UpdateHub> updateHub)
 {
     _context           = context;
     _userManager       = userManager;
     _db                = db;
     _appEnviroment     = appEnviroment;
     _whiskyRepository  = whiskyRepository;
     _commentRepository = commentRepository;
     _userRepository    = userRepository;
     _imageManagment    = imageManagment;
     _updateHub         = updateHub;
 }
Ejemplo n.º 5
0
        public ActionResult UploadAvatar()
        {
            //create session
            if (HttpContext.Session.GetObject <string>(SessionType.UploadImage) == null)
            {
                HttpContext.Session.SetObject(SessionType.UploadImage, Guid.NewGuid().ToString());
            }
            string folderName = HttpContext.Session.GetObject <string>(SessionType.UploadImage);
            var    files      = HttpContext.Request.Form.Files;

            ImageManagment.UploadAvatarTemporary(files, _hostEnvironment, folderName);

            return(Json(true));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl      = returnUrl ?? Url.Content("~/");
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName    = Input.Email,
                    Email       = Input.Email,
                    Name        = Input.Name,
                    Country     = Input.Country,
                    State       = Input.State,
                    Address1    = Input.Address1,
                    Address2    = Input.Address2,
                    City        = Input.City,
                    PostCode    = Input.PostCode,
                    PhoneNumber = Input.PhoneNumber,
                    AvartarUrl  = "Avatar.jpg",
                };


                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    //Store the avatar
                    if (Input.AvartarUrl != null && Input.AvartarUrl.Length > 0)
                    {
                        string contextName         = "UPLOAD_PICS";
                        string folderName          = HttpContext.Session.GetObject <string>(contextName);
                        string savedAvatarFileName = ImageManagment.SaveAvatarPicToServer(_hostEnvironment, folderName, Input.AvartarUrl);
                        if (savedAvatarFileName.Length > 0)
                        {
                            user.AvartarUrl = savedAvatarFileName;
                            await _userManager.UpdateAsync(user);
                        }
                    }



                    _logger.LogInformation("User created a new account with password.");

                    //Update the role
                    string role = Request.Form["rdUserRole"].ToString();
                    if (role == UserType.AdminRole || role == UserType.SupplierRole ||
                        role == UserType.CustomerRole)
                    {
                        await _userManager.AddToRoleAsync(user, role);
                    }

                    // Process the avartar if have


/*                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
 *                  code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
 *                  var callbackUrl = Url.Page(
 *                      "/Account/ConfirmEmail",
 *                      pageHandler: null,
 *                      values: new { area = "Identity", userId = user.Id, code = code },
 *                      protocol: Request.Scheme);
 *
 *                  await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
 *                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");
 */
                    if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    {
                        return(RedirectToPage("RegisterConfirmation", new { email = Input.Email }));
                    }
                    else
                    {
                        //  await _signInManager.SignInAsync(user, isPersistent: false);
                        return(LocalRedirect(returnUrl));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }