Exemplo n.º 1
0
        public async Task <IActionResult> UsersAdd(UsersViewModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = _userManager.Users.FirstOrDefault(x => x.UserName == model.User.Email);
                if (user == null)
                {
                    await CreateUser(model.User.Email, model.User.Email, model.Password, model.RoleName);

                    _userRepository.Add(new User
                    {
                        EmailAddress = model.User.Email,
                        FirstName    = model.UserInfo.FirstName,
                        FamilyName   = model.UserInfo.FamilyName,
                        PhoneNumber  = "#",
                        Address      = "#"
                    });

                    if (model.RoleName == "seller")
                    {
                        Seller newSeller = new Seller(model.UserInfo.FamilyName + " " + model.UserInfo.FirstName, model.User.UserName, "#", "#", "#", "#", "#", "#", true);
                        _sellerRepository.Add(newSeller);
                    }

                    var message = new MailMessage();
                    message.From = new MailAddress("*****@*****.**");
                    message.To.Add(model.User.Email);
                    message.Subject = "Tài khoản được tạo trên 3BrosShop";

                    message.Body = String.Format("Kính gửi, \n" +
                                                 "Tài khoản được tạo bởi Admin\n\n" +
                                                 "Thông tin chi tiết: \n" +
                                                 "Địa chỉ Email: " + model.User.Email + "\n" +
                                                 "Mật khẩu: " + model.Password + "\n" +
                                                 "Quyền: " + model.RoleName + "\n\n" +
                                                 "Bạn nên đổi mật khẩu khi đăng nhập và cập nhật thông tin cá nhân\n\n" +
                                                 "Trân trọng, \n" +
                                                 "3Bros team");

                    var SmtpServer = new SmtpClient("smtp.gmail.com");
                    SmtpServer.Port        = 587;
                    SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "1234567893bros");
                    SmtpServer.EnableSsl   = true;
                    SmtpServer.Send(message);

                    _userRepository.SaveChanges();
                    _sellerRepository.SaveChanges();
                    return(RedirectToAction("Users"));
                }
            }
            return(View(nameof(UsersAdd), model));
        }