public override async Task <AppDomainResult> Register([FromBody] RegisterModel register)
        {
            AppDomainResult appDomainResult = new AppDomainResult();

            if (ModelState.IsValid)
            {
                // Kiểm tra định dạng user name
                bool isValidUser = ValidateUserName.IsValidUserName(register.UserName);
                if (!isValidUser)
                {
                    throw new AppException("Vui lòng nhập số điện thoại hoặc email!");
                }

                var user = new Users()
                {
                    UserName     = register.UserName,
                    Password     = register.Password,
                    Created      = DateTime.Now,
                    CreatedBy    = register.UserName,
                    Active       = true,
                    Phone        = ValidateUserName.IsPhoneNumber(register.UserName) ? register.UserName : string.Empty,
                    Email        = ValidateUserName.IsEmail(register.UserName) ? register.UserName : string.Empty,
                    UserInGroups = new List <UserInGroups>(),
                };
                // Tạo mặc định trong group User
                var groupUserInfos = await userGroupService.GetAsync(e => e.Code == CoreContants.USER_GROUP);

                if (groupUserInfos != null && groupUserInfos.Any())
                {
                    UserInGroups userInGroups = new UserInGroups()
                    {
                        UserGroupId = groupUserInfos.FirstOrDefault().Id,
                        Created     = DateTime.Now,
                        CreatedBy   = register.UserName,
                        Deleted     = false,
                        Active      = true,
                    };
                    user.UserInGroups.Add(userInGroups);
                }

                // Kiểm tra item có tồn tại chưa?
                var messageUserCheck = await this.userService.GetExistItemMessage(user);

                if (!string.IsNullOrEmpty(messageUserCheck))
                {
                    throw new AppException(messageUserCheck);
                }
                user.Password           = SecurityUtils.HashSHA1(register.Password);
                appDomainResult.Success = await userService.CreateAsync(user);

                appDomainResult.ResultCode = (int)HttpStatusCode.OK;
            }
            else
            {
                var resultMessage = ModelState.GetErrorMessage();
                throw new AppException(resultMessage);
            }
            return(appDomainResult);
        }
Exemple #2
0
        public virtual async Task <AppDomainResult> Register([FromBody] RegisterModel register)
        {
            AppDomainResult appDomainResult = new AppDomainResult();

            if (ModelState.IsValid)
            {
                // Kiểm tra định dạng user name
                bool isValidUser = ValidateUserName.IsValidUserName(register.UserName);
                if (!isValidUser)
                {
                    throw new AppException("Vui lòng nhập số điện thoại hoặc email!");
                }

                var user = new Users()
                {
                    UserName  = register.UserName,
                    Password  = register.Password,
                    Created   = DateTime.Now,
                    CreatedBy = register.UserName,
                    Active    = true,
                    Phone     = ValidateUserName.IsPhoneNumber(register.UserName) ? register.UserName : string.Empty,
                    Email     = ValidateUserName.IsEmail(register.UserName) ? register.UserName : string.Empty,
                };
                // Kiểm tra item có tồn tại chưa?
                var messageUserCheck = await this.userService.GetExistItemMessage(user);

                if (!string.IsNullOrEmpty(messageUserCheck))
                {
                    throw new AppException(messageUserCheck);
                }
                user.Password           = SecurityUtils.HashSHA1(register.Password);
                appDomainResult.Success = await userService.CreateAsync(user);

                appDomainResult.ResultCode = (int)HttpStatusCode.OK;
            }
            else
            {
                var resultMessage = ModelState.GetErrorMessage();
                throw new AppException(resultMessage);
            }
            return(appDomainResult);
        }