public async Task <ActionResult> ForgotPassword(ForgotViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByEmailAsync(model.Email);

                if (user != null)
                {
                    var    password = Guid.NewGuid().ToString();
                    string hash     = "";
                    for (int i = 0; i < 7; i++)
                    {
                        hash += password[i].ToString();
                    }
                    user.PasswordHash = UserManager.PasswordHasher.HashPassword(hash);
                    var request = await UserManager.UpdateAsync(user);

                    if (request.Succeeded)
                    {
                        var a = await Bll.DB_Action().Add(new DataAccessLayer.AdoModel.Action
                        {
                            User_Id   = user.Id,
                            Message   = hash,
                            Completed = false
                        });

                        if (a.success)
                        {
                            ModelState.AddModelError("", "Şifreniz Güncellendi! Size Mail Olarak Gönderilecektir.");
                        }
                        else
                        {
                            ModelState.AddModelError("", "Şifreniz Güncellendi! Fakat Mail Gönderilemiyor. Yönetici İle İletişime Geçiniz!");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Kullanıcı Bulunamadı!");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Kullanıcı Bulunamadı!");
                }
            }
            else
            {
                ModelState.AddModelError("", "Şifreniz Değiştirilemedi!");
            }
            return(View());
        }
Beispiel #2
0
        public async Task <ActionResult> Create(UsersCreateModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser _user = new ApplicationUser();
                _user.Email    = model.email;
                _user.UserName = _user.Email;
                var    _guid    = Guid.NewGuid().ToString();
                string password = "";
                for (int i = 0; i < 7; i++)
                {
                    password += _guid[i].ToString();
                }
                var userCreated = await UserManager.CreateAsync(_user, password);

                if (userCreated.Succeeded)
                {
                    var role = await _roleManager.FindByIdAsync(model.role_id);

                    var createUser = await UserManager.FindByEmailAsync(model.email);

                    var addToRole = await UserManager.AddToRoleAsync(createUser.Id, role.Name);

                    if (addToRole.Succeeded)
                    {
                        var action = await Bll.DB_Action().Add(new DataAccessLayer.AdoModel.Action
                        {
                            User_Id   = createUser.Id,
                            Message   = password,
                            Completed = false
                        });

                        if (action.success)
                        {
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Kullanıcı Şifresi Gönderilmek Üzere Hazırlanırken Bir Hata Oluştu!");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Kullanıcı Oluşturuldu Fakat Yetkilendirilirken Hataya Rastlandı!");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Kullanıcı Oluşturulamadı!");
                }
            }
            else
            {
                ModelState.AddModelError("", "Kullanıcı Oluşturulamadı!");
            }
            var dbModel = await Bll.DB_AspNetRoles().ListAsync();

            var result = new UsersCreateModel();

            foreach (var item in dbModel.resultItem)
            {
                result.roles.Add(new RoleViewModel
                {
                    Id   = item.Id,
                    Name = item.Name
                });
            }
            return(View(result));
        }