Beispiel #1
0
        public async Task <ServiceResultModel <IdentityResult> > RegisterUser(UserRegisterPostModel model, IFormFile file)
        {
            var result = new ServiceResultModel <IdentityResult>();

            var errorMessage = ValidateUserData(model.Email, model.Username, null);

            if (errorMessage != null)
            {
                result.Error        = true;
                result.ErrorMessage = errorMessage;
            }
            else
            {
                var user = new ApplicationUser
                {
                    UserName   = model.Username,
                    Email      = model.Email,
                    FullName   = model.FullName,
                    CreatedAt  = DateTime.Now,
                    Phone      = model.Phone,
                    Address    = model.Address,
                    Avatar     = model.Avatar != null ? model.Avatar : await fileService.GenerateFileSource(file, userAvatarsFolderName, model.Username.ToLower()),
                    City       = model.City,
                    Country    = model.Country,
                    PostalCode = model.PostalCode,
                };

                result.DataResult = await userManager.CreateAsync(user, model.Password);

                result.SuccessMessage = UserMessages.AccountSuccessfullyCreate(model.Username);
            }

            return(result);
        }
        public async Task <ServiceResultModel <bool> > RegisterUser(UserRegisterPostModel model, string currentUserUsername)
        {
            var result = new ServiceResultModel <bool>();

            var errorMessage = ValidateUserData(model.Email, model.Username, currentUserUsername);

            if (errorMessage != null)
            {
                result.Error        = true;
                result.ErrorMessage = errorMessage;
            }
            else
            {
                var user = new ApplicationUser
                {
                    UserName  = model.Username,
                    Email     = model.Email,
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    CreatedAt = DateTime.Now,
                    Avatar    = model.AvatarFile == null ? null : await fileService.GenerateFile(model.AvatarFile, model.Username, null),
                };

                var registerResult = await userManager.CreateAsync(user, model.Password);

                if (registerResult.Succeeded)
                {
                    result.DataResult     = true;
                    result.SuccessMessage = UserMessages.AccountSuccessfullyCreate(model.Username);
                }
            }

            return(result);
        }