示例#1
0
        public async Task <ActionResult> Register(RegisterAdmin reg)
        {
            reg.Email.Trim();

            AbzContext db   = new AbzContext();
            Usr        user = new Usr();

            user.Email = reg.Email;
            string Password = GenerateRandomPassword(6);

            user.Password = Password;
            user.UserId   = Guid.NewGuid().ToString();
            db.Users.Add(user);
            db.SaveChanges();

            UserInCust uc = new UserInCust();

            uc.CustID  = reg.CustId;
            uc.UserId  = user.UserId;
            uc.LastDat = DateTime.Now;
            uc.Email   = reg.Email;
            //uc.Pwd = Password;
            db.UserInCusts.Add(uc);
            db.SaveChanges();
            await EmailSend.EMailRegAsync(reg.Email, Password);

            return(RedirectToAction("Index", "Home"));
        }
示例#2
0
        public async Task <ActionResult> Register(RegisterAdmin reg)
        {
            //Отладка

            //EmailSend.EMailReg("*****@*****.**", "123");
            //return View("NoRegister");

            AbzContext db   = new AbzContext();
            var        user = new ApplicationUser {
                UserName = reg.Email, Email = reg.Email, CustID = reg.CustId
            };
            string Password = GenerateRandomPassword(6);

            var result = UserManager.Create(user, Password);

            if (result.Succeeded)
            {
                UserManager.AddToRole(user.Id, "CustManager");
                SignInManager.SignIn(user, isPersistent: false, rememberBrowser: false);

                UserInCust uc = new UserInCust();
                uc.CustID  = reg.CustId;
                uc.UserId  = user.Id;
                uc.LastDat = DateTime.Now;
                db.UserInCusts.Add(uc);
                db.SaveChanges();
                await EmailSend.EMailRegAsync(reg.Email, Password);


                //EmailSend.EMailRegAsync(reg.Email, Password);

                // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                // Отправка сообщения электронной почты с этой ссылкой
                // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                // await UserManager.SendEmailAsync(user.Id, "Подтверждение учетной записи", "Подтвердите вашу учетную запись, щелкнув <a href=\"" + callbackUrl + "\">здесь</a>");

                return(RedirectToAction("Index", "Home"));
            }

            return(View("NoRegister"));
        }
示例#3
0
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            AbzHashRepo hashRepo = new AbzHashRepo();
            string      auth     = GetCookie("Auth");
            AbzHash     abzHash  = hashRepo.GetHash(auth);
            AbzContext  db       = new AbzContext();
            Usr         usr      = db.Users.FirstOrDefault(u => u.Email == abzHash.Email);

            if ((usr != null) && (usr.Password == model.OldPassword))
            {
                usr.Password        = model.NewPassword;
                db.Entry(usr).State = EntityState.Modified;
                db.SaveChanges();
                await EmailSend.EMailRegAsync(abzHash.Email, model.NewPassword);
            }
            return(RedirectToAction("Index", "Home"));
        }