Пример #1
0
        public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model)
        {
            if (!ModelState.IsValid)
            {
                //ВАЛІДАЦІЯ
                return(new ResultDTO
                {
                    Status = 500,
                    Message = "ERROR",
                    Errors = CustomValidator.GetErrorsByModel(ModelState)
                });
            }
            else
            {
                var user = new User()
                {
                    Email    = model.Email,
                    UserName = model.Email,
                };
                var userMoreInfo = new UserMoreInfo()
                {
                    id       = user.Id,
                    FullName = model.FullName,
                    Address  = model.Address,
                    Age      = model.Age,
                    Phone    = model.PhoneNumber
                };

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

                if (!result.Succeeded)
                {
                    //TYT БУде валідація
                    return(new ResultDTO
                    {
                        Status = 500,
                        Message = "Error",
                        Errors = CustomValidator.GetErrorsByIdentityResult(result)
                    });
                }
                else if (result.Succeeded)
                {
                    result = _userManager.AddToRoleAsync(user, "User").Result;
                    _context.userMoreInfos.Add(userMoreInfo);
                    _context.SaveChanges();
                }

                return(new ResultDTO
                {
                    Status = 200,
                    Message = "OK"
                });
            }
        }
Пример #2
0
        public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model)
        {
            if (!ModelState.IsValid)
            {
                return(new ResultDTO
                {
                    Status = 500,
                    Message = "Error",
                    Errors = Validation.GetErrorsByModel(ModelState)
                });
            }
            else
            {
                var user = new User()
                {
                    Email       = model.email,
                    PhoneNumber = model.phoneNumber,
                    UserName    = model.email
                };

                var userMoreInfo = new UserMoreInfo()
                {
                    id       = user.Id,
                    FullName = model.fullName,
                    Address  = model.address,
                    Age      = model.age
                };

                var result = await _userManager.CreateAsync(user, model.password);

                if (!result.Succeeded)
                {
                    return(new ResultDTO
                    {
                        Status = 400,
                        Errors = Validation.GetErrorsByIdentityResult(result)
                    });
                }
                else if (result.Succeeded)
                {
                    result = _userManager.AddToRoleAsync(user, "User").Result;
                    _context.UserMoreInfos.Add(userMoreInfo);
                    _context.SaveChanges();
                }

                return(new ResultDTO
                {
                    Status = 200
                });
            }
        }
Пример #3
0
        public async Task <ResultDto> Register([FromBody] UserRegisterDto model)
        {
            if (!ModelState.IsValid)
            {
                return(new ResultErrorDto
                {
                    Status = 500,
                    Errors = CustomValidator.GetErrorsByModel(ModelState)
                });
            }



            var user = new User()
            {
                UserName    = model.Email,
                Email       = model.Email,
                PhoneNumber = model.PhoneNumber
            };

            var userProfile = new UserMoreInfo()
            {
                Age      = model.Age,
                FullName = model.FullName,
                Id       = user.Id,
                Address  = model.Address
            };


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

            if (!result.Succeeded)
            {
                return(new ResultErrorDto
                {
                    Status = 500,
                    Errors = CustomValidator.GetErrorsByIdentityResult(result)
                });
            }
            else
            {
                result = _userManager.AddToRoleAsync(user, "User").Result;
                _context.userMoreInfos.AddAsync(userProfile);
                _context.SaveChanges();
            }

            return(new ResultDto
            {
                Status = 200
            });
        }
Пример #4
0
        public async Task <ResultDTO> SignUp([FromBody] SignUpDTO model)
        {
            var result = default(ResultDTO);

            try
            {
                if (!ModelState.IsValid)
                {
                    result = new ErrorResultDTO
                    {
                        Status  = 403,
                        Message = "Model is invalid",
                        Errors  = ModelStateCustomValidator.GetErrorsFromModel(ModelState)
                    };
                }
                else
                {
                    var user = new AppUser
                    {
                        UserName    = model.Email,
                        Email       = model.Email,
                        PhoneNumber = model.Phone
                    };

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

                    if (!createResult.Succeeded)
                    {
                        result = new ErrorResultDTO
                        {
                            Errors  = ModelStateCustomValidator.GetErrorsFromIdentityResult(createResult.Errors),
                            Message = "Create error",
                            Status  = 500
                        };
                    }
                    else
                    {
                        var userMoreInfo = new UserMoreInfo
                        {
                            Address    = model.Address,
                            ImageURL   = "default.jpg",
                            FirstName  = model.FirstName,
                            MiddleName = model.MiddleName,
                            LastName   = model.LastName,
                            Id         = user.Id
                        };

                        var roleResult = await userManager.AddToRoleAsync(user, "User");

                        context.UserMoreInfos.Add(userMoreInfo);
                        context.SaveChanges();
                        result = new ResultDTO
                        {
                            Status  = 200,
                            Message = "OK"
                        };
                    }
                }

                return(result);
            }
            catch (Exception ex)
            {
                result = new ResultDTO
                {
                    Status  = 500,
                    Message = ex.Message
                };

                return(result);
            }
        }