Esempio n. 1
0
        public async Task <Role> SaveAsync(Role appRole, Guid[] permissionIds)
        {
            appRole.CreatedOnDate      = DateTime.Now;
            appRole.LastModifiedOnDate = DateTime.Now;
            await _dataContext.AppRoles.AddAsync(appRole);

            _dataContext.SaveChanges();

            await AddPermission(appRole.Id, permissionIds);

            return(appRole);
        }
Esempio n. 2
0
        public async Task <User> SaveAsync(User appUser, List <Guid> roleIds, Guid employeeId)
        {
            var userName = _dataContext.AppUsers.AsNoTracking().FirstOrDefault(x => x.Username == appUser.Username);

            if (userName != null)
            {
                throw new ArgumentException(IUserService.Message_UserNameAlreadyExist);
            }
            if (appUser.Email != null)
            {
                Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
                Match match = regex.Match(appUser.Email);
                if (!match.Success)
                {
                    throw new ArgumentException("Email incorrect format");
                }
            }

            appUser.VerificationCode   = RandomString(7);
            appUser.CreatedOnDate      = DateTime.Now;
            appUser.LastModifiedOnDate = DateTime.Now;

            var passwordHasher = new PasswordHasher <User>();

            appUser.Password = passwordHasher.HashPassword(appUser, appUser.Password);

            await _dataContext.AppUsers.AddAsync(appUser);

            if (appUser.Email != null)
            {
                if (_emailConfiguration.Enable == true)
                {
                    _emailCode.SendMail(appUser.Email, appUser.VerificationCode);
                }
            }
            if (roleIds != null)
            {
                await AddRole(appUser.Id, roleIds);
            }
            _dataContext.SaveChanges();
            return(appUser);
        }