Example #1
0
        public async Task <IActionResult> CreateDemoUser([FromForm] SignUpSystemRequest request)
        {
            var user = new AppUser()
            {
                Email         = request.Email,
                FullName      = request.FullName,
                PassWord      = request.Password,
                IsInfoUpdated = false,
                TypeAccount   = ETypeAccount.System,
                AvatarPath    = "image.png",
                Status        = EUserStatus.Active,
                UserName      = request.Email,
                Role          = ERole.User,
                CreatedAt     = DateTime.Now
            };

            _context.Users.Add(user);
            await _context.SaveChangesAsync();

            return(Ok());
        }
Example #2
0
        public async Task <IActionResult> SignUp([FromForm] SignUpSystemRequest signUpRequest)
        {
            _loginInfo = new LoginInfo();
            LoginInfo loginInfo = new LoginInfo();
            var       request   = new LoginInfo()
            {
                Email    = signUpRequest.Email,
                FullName = signUpRequest.FullName,
                Password = signUpRequest.Password,
                UserName = signUpRequest.Email
            };

            loginInfo = await this.CheckRecordExistence(request);

            _loginInfo = loginInfo;
            if (loginInfo == null)
            {
                var user = new AppUser()
                {
                    CreatedAt  = DateTime.Now,
                    Email      = request.Email,
                    UserName   = request.UserName,
                    FullName   = request.FullName,
                    PassWord   = request.Password,
                    Role       = ERole.User,
                    Status     = EUserStatus.IsVerifying,
                    AvatarPath = "image.png"
                };
                //var mailchimp = new MailChimpModel()
                //{
                //    Email = request.Email,
                //    Name = request.FullName
                //};


                try
                {
                    //await _mailchimpService.Subscribe(mailchimp);
                    _context.Users.Add(user);
                    await _context.SaveChangesAsync();
                }
                catch (Exception e)
                {
                    return(BadRequest(new
                    {
                        Message = e.InnerException
                    }));
                }
                _loginInfo = new LoginInfo()
                {
                    Email           = user.Email,
                    FullName        = user.FullName,
                    IsMailConfirmed = false,
                    Message         = MessageMail.Success,
                    UserId          = user.Id,
                    UserName        = user.UserName
                };
            }

            if (_loginInfo.Message == MessageMail.UserAlreadyCreated)
            {
                return(BadRequest(new
                {
                    Message = _loginInfo.Message
                }));
            }

            if (_loginInfo.Message == MessageMail.VerifyMail)
            {
                MailClass mailClass = this.GetMailObject(_loginInfo);
                await _mailService.SendMail(mailClass);

                return(BadRequest(new
                {
                    Message = MessageMail.VerifyMail
                }));
            }

            var message = "";

            if (_loginInfo.Message == MessageMail.Success)
            {
                MailClass mailClass = this.GetMailObject(_loginInfo);
                message = await _mailService.SendMail(mailClass);
            }

            if (message != MessageMail.MailSent)
            {
                return(BadRequest(new
                {
                    Message = message
                }));
            }
            else
            {
                return(Ok(new
                {
                    Message = MessageMail.UserCreatedVerifyMail
                }));
            }
        }