public ActionResult CreateUser(user model) { using (DisDBContext db = new DisDBContext()) { var newUser = User as CustomPrincipal; if (newUser != null) { user _userAdmin = db.Users.FirstOrDefault(m => m.id == newUser.UserId && m.email == newUser.UserEmail); if (_userAdmin.position == 1 || _userAdmin.position == 0) { user _userNew = new user(); _userNew = db.Users.FirstOrDefault(p => p.email.ToLower() == model.email.ToLower()); //проверяем есть ли п ользователь с таким email if (_userNew == null) { _userNew = new user(); _userNew.first_name = model.first_name; _userNew.last_name = model.last_name; _userNew.sur_name = model.sur_name; _userNew.register_day = DateTime.Now; _userNew.birth_day = model.birth_day; _userNew.iin = model.iin; _userNew.sex = model.sex; _userNew.tel_number = model.tel_number; _userNew.department_id = model.department_id; _userNew.check = 1; _userNew.position = 2; HashMD5 Hash = new HashMD5(); string newPassWord = Hash.CreatePassword(6); _userNew.security_stamp = Hash.HashMD5String(DateTime.Now.ToString()); _userNew.password = newPassWord; _userNew.email = model.email; _userNew.company_id = _userAdmin.company_id; db.Users.Add(_userNew); db.SaveChanges(); _userNew = db.Users.Where(u => u.email.Trim() == model.email && u.password.Trim() == newPassWord).FirstOrDefault(); if (_userNew != null) { #region sendEmail string htmlCodeFull; string code = _userNew.email; var callbackUrl = Url.Action("ConfirmEmail", "Home", new { userId = _userNew.id, code = code }, protocol: Request.Url.Scheme); StreamReader readerhtmlCodeHead = new StreamReader(Server.MapPath("~/Views/Mailing/emailConfirmHead.html")); string htmlCodeHead = readerhtmlCodeHead.ReadToEnd(); StreamReader readerhtmlCodeFooter = new StreamReader(Server.MapPath("~/Views/Mailing/emailConfirmFooter.html")); string htmlCodeFooter = readerhtmlCodeFooter.ReadToEnd(); string htmlCodeMiddle = "<table id=\"rec85502797\" style=\"width:100%; border-collapse:collapse; border-spacing:0; margin:0; border:0;\" cellpadding=\"0\" cellspacing=\"0\" data-record-type=\"618\"><tr><td style=\"padding-left:15px; padding-right:15px; \"><table id=\"recin85502797\" class=\"r\" style=\"margin: 0 auto;background-color:#ffffff;border-spacing: 0;width:600px;\" align=\"center\"><tr><td style=\"padding-top:30px;padding-bottom:30px;padding-left:30px;padding-right:30px;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"width:100%;\"><tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0 auto;\"><tr><td><a style=\"display: table-cell; text-decoration: none; font-size: 15px; text-align: center; font-weight: bold; font-family:Helvetica Neue, Helvetica, Arial, sans-serif; width: 100%;color:#ffffff; border:0px solid ;\" href=\" " + callbackUrl + " \"><img src=\"https://i.imgur.com/5p3P6ft.png\" alt=\"Confirm\" width=\"200px\" height=\"70px\"></a></td></tr></table></td></tr></table></td></tr></table></td></tr></table>"; string htmlCodeMiddle2 = "<table id=\"rec85502797\" style=\"width:100%; border-collapse:collapse; border-spacing:0; margin:0; border:0;\" cellpadding=\"0\" cellspacing=\"0\" data-record-type=\"618\"><tr><td style=\"padding-left:15px; padding-right:15px; \"><table id=\"recin85502797\" class=\"r\" style=\"margin: 0 auto;background-color:#ffffff;border-spacing: 0;width:600px;\" align=\"center\"><tr><td style=\"padding-top:30px;padding-bottom:30px;padding-left:30px;padding-right:30px;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"width:100%;\"><tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0 auto;\"><tr><td><div style=\"margin-right: auto; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; color:#444444;font-size:20px;line-height:1.45;\"><p>Email: " + _userNew.email + "</p><p>Password: "******"</p><br /></div></td></tr></table></td></tr></table></td></tr></table></td></tr></table>"; htmlCodeFull = htmlCodeHead + htmlCodeMiddle + htmlCodeMiddle2 + htmlCodeFooter; Method m = new Method(); m.sendEmail(_userNew.email.Trim(), "Confirm registration", htmlCodeFull); #endregion return(Json("success", JsonRequestBehavior.AllowGet)); // return RedirectToAction("ConfirmWaitingPage", "Home"); } else { return(Json("error", JsonRequestBehavior.AllowGet)); } } else { return(Json("errorMail", JsonRequestBehavior.AllowGet)); //Пользователь с таким email уже зарегистрирован } } } return(RedirectToAction("AccessDenied", "Home")); } }
public ActionResult Registration(user model) { if (ModelState.IsValid) { user _user = new user(); using (DisDBContext db = new DisDBContext()) { _user = db.Users.FirstOrDefault(u => u.email.ToLower().Trim().Contains(model.email.ToLower().Trim())); //проверяем есть ли п ользователь с таким email if (_user == null) { company userCompany = new company(); department userDepartment = new department(); string companName = model.last_name; userCompany = db.Companies.Where(u => u.company_name.Trim() == companName.Trim()).FirstOrDefault(); if (userCompany == null) { _user = new user(); userCompany = new company(); userCompany.company_name = companName; // Copmany db.Companies.Add(userCompany); db.SaveChanges(); //userCompany = db.Companies.Where(u => u.company_name.Trim() == companName.Trim()).FirstOrDefault(); // Department userDepartment.dpt_name = "Directors"; userDepartment.dpt_description = "Executives members"; userDepartment.company_id = userCompany.id; db.Departments.Add(userDepartment); db.SaveChanges(); // User _user.first_name = model.first_name; _user.email = model.email; _user.password = model.password; HashMD5 Hash = new HashMD5(); _user.security_stamp = Hash.HashMD5String(DateTime.Now.ToString()); _user.company_id = userCompany.id; _user.department_id = userDepartment.id; db.Users.Add(_user); db.SaveChanges(); _user = db.Users.Where(u => u.email.Trim() == model.email && u.password.Trim() == model.password).FirstOrDefault(); if (_user != null) { #region sendEmail string htmlCodeFull; string code = _user.email; var callbackUrl = Url.Action("ConfirmEmail", "Home", new { userId = _user.id, code = code }, protocol: Request.Url.Scheme); StreamReader readerhtmlCodeHead = new StreamReader(Server.MapPath("~/Views/Mailing/emailConfirmHead.html")); string htmlCodeHead = readerhtmlCodeHead.ReadToEnd(); StreamReader readerhtmlCodeFooter = new StreamReader(Server.MapPath("~/Views/Mailing/emailConfirmFooter.html")); string htmlCodeFooter = readerhtmlCodeFooter.ReadToEnd(); string htmlCodeMiddle = "<table id=\"rec85502797\" style=\"width:100%; border-collapse:collapse; border-spacing:0; margin:0; border:0;\" cellpadding=\"0\" cellspacing=\"0\" data-record-type=\"618\"><tr><td style=\"padding-left:15px; padding-right:15px; \"><table id=\"recin85502797\" class=\"r\" style=\"margin: 0 auto;background-color:#ffffff;border-spacing: 0;width:600px;\" align=\"center\"><tr><td style=\"padding-top:30px;padding-bottom:30px;padding-left:30px;padding-right:30px;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"width:100%;\"><tr><td><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0 auto;\"><tr><td><a style=\"display: table-cell; text-decoration: none; font-size: 15px; text-align: center; font-weight: bold; font-family:Helvetica Neue, Helvetica, Arial, sans-serif; width: 100%;color:#ffffff; border:0px solid ;\" href=\" " + callbackUrl + " \"><img src=\"https://i.imgur.com/5p3P6ft.png\" alt=\"Confirm\" width=\"200px\" height=\"70px\"></a></td></tr></table></td></tr></table></td></tr></table></td></tr></table>"; htmlCodeFull = htmlCodeHead + htmlCodeMiddle + htmlCodeFooter; Method m = new Method(); m.sendEmail(_user.email.Trim(), "Confirm registration", htmlCodeFull); #endregion return(Json("success", JsonRequestBehavior.AllowGet)); // return RedirectToAction("ConfirmWaitingPage", "Home"); } else { return(Json("error", JsonRequestBehavior.AllowGet)); } } else { return(Json("failedCompany", JsonRequestBehavior.AllowGet)); //Пользователь с таким email уже зарегистрирован } } else { return(Json("failedEmail", JsonRequestBehavior.AllowGet)); //Пользователь с таким email уже зарегистрирован! } } } return(Json("error", JsonRequestBehavior.AllowGet)); }