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

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

            string userName = await _userManager.GetUserNameAsync(user);

            string email = await _userManager.GetEmailAsync(user);

            string phoneNumber = await _userManager.GetPhoneNumberAsync(user);

            Input = new InputModel
            {
                Username    = userName,
                Email       = email,
                PhoneNumber = phoneNumber
            };

            IsEmailConfirmed = await _userManager.IsEmailConfirmedAsync(user);

            return(Page());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("UserProfileId,FirstName,LastName,Email,Password,ConfirmPassword,OldPassword,ProfilePicture,VinarishUserId")] UserProfile userProfile)
        {
            if (ModelState.IsValid)
            {
                UserProfile register = userProfile;
                if (register.Password.Equals(register.ConfirmPassword))
                {
                    var username = register.Email;
                    register.Email = register.Email + "@vinarish.com";
                    VinarishUser user = new VinarishUser()
                    {
                        Email = register.Email, UserName = username, EmailConfirmed = true
                    };
                    var result = await _userManager.CreateAsync(user, register.Password);

                    if (result.Succeeded)
                    {
                        register.Password        = user.PasswordHash;
                        register.ConfirmPassword = user.PasswordHash;
                        register.VinarishUserId  = user.Id;
                        _context.UserProfile.Add(register);
                        await _context.SaveChangesAsync();
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(userProfile));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Upload(IFormFile File)
        {
            IFormFile file = File;

            if (file == null || file.Length == 0)
            {
                return(RedirectToAction(nameof(Index)));
            }
            List <UserProfile> UserProfiles = new List <UserProfile>();

            using (var memoryStream = new MemoryStream())
            {
                await file.CopyToAsync(memoryStream).ConfigureAwait(false);

                using (var package = new ExcelPackage(memoryStream))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; // Tip: To access the first worksheet, try index 1, not 0
                    int            totalRows = worksheet.Dimension.Rows;


                    for (int i = 1; i < totalRows; i++)
                    {
                        var         name     = ((object[, ])(worksheet.Cells.Value))[i, 0].ToString();
                        UserProfile register = new UserProfile
                        {
                            Email           = name,
                            Password        = "******",
                            ConfirmPassword = "******"
                        };
                        if (register.Password.Equals(register.ConfirmPassword))
                        {
                            var username = register.Email;
                            register.Email = register.Email + "@vinarish.com";
                            VinarishUser user = new VinarishUser()
                            {
                                Email = register.Email, UserName = username, EmailConfirmed = true
                            };
                            var result = await _userManager.CreateAsync(user, register.Password);

                            if (result.Succeeded)
                            {
                                register.Password        = user.PasswordHash;
                                register.ConfirmPassword = user.PasswordHash;
                                register.VinarishUserId  = user.Id;
                                _context.UserProfile.Add(register);
                                await _context.SaveChangesAsync();
                            }
                        }
                    }
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                var user = new VinarishUser {
                    UserName = Input.Email, Email = Input.Email
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { 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>.");

                    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());
        }
Ejemplo n.º 5
0
        public async Task CreateDefaultSuperAdmin()
        {
            try
            {
                await _roles.GenerateRolesFromPagesAsync();

                VinarishUser superAdmin = new VinarishUser
                {
                    Email = _superAdminDefaultOptions.Email
                };
                superAdmin.UserName       = superAdmin.Email;
                superAdmin.EmailConfirmed = true;

                IdentityResult result = await _userManager.CreateAsync(superAdmin, _superAdminDefaultOptions.Password);

                if (result.Succeeded)
                {
                    //add to user profile
                    UserProfile profile = new UserProfile
                    {
                        FirstName      = "Farzad",
                        LastName       = "Motallebizaade",
                        Email          = superAdmin.Email,
                        VinarishUserId = superAdmin.Id
                    };
                    await _context.UserProfile.AddAsync(profile);

                    await _context.SaveChangesAsync();

                    await _roles.AddToRoles(superAdmin.Id);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            VinarishUser user = await _userManager.GetUserAsync(User);

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

            string username = await _userManager.GetUserNameAsync(user);

            if (Input.Username != username)
            {
                IdentityResult setUsernameResult = await _userManager.SetUserNameAsync(user, Input.Username);

                if (!setUsernameResult.Succeeded)
                {
                    string userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting Username for user with ID '{userId}'.");
                }
            }

            string email = await _userManager.GetEmailAsync(user);

            if (Input.Email != email)
            {
                IdentityResult setEmailResult = await _userManager.SetEmailAsync(user, Input.Email);

                if (!setEmailResult.Succeeded)
                {
                    string userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting email for user with ID '{userId}'.");
                }
            }

            string phoneNumber = await _userManager.GetPhoneNumberAsync(user);

            if (Input.PhoneNumber != phoneNumber)
            {
                IdentityResult setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber);

                if (!setPhoneResult.Succeeded)
                {
                    string userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting phone number for user with ID '{userId}'.");
                }
            }

            await _signInManager.RefreshSignInAsync(user);

            StatusMessage = "پرونده به‌روزرسانی شد.";
            return(RedirectToPage());
        }