public ActionResult EditCompany(CompanyAccountVM model) { var user = User as MPrincipal; var login = user.UserDetails.Login; ViewBag.UserName = user.UserDetails.Login; ViewBag.UserRole = 4; using (ApplicationDbContext db = new ApplicationDbContext()) { var baseCompEmail = db.Companies.FirstOrDefault(x => x.Email == model.Email); var baseCustEmail = db.Customers.FirstOrDefault(x => x.Email == model.Email); var comp = db.Companies.FirstOrDefault(u => u.Login.Equals(login)); if (comp != null) { // loginu nie można zmienić, więc tutaj tylko email nie może się powtórzyć z takim jaki jużjest w bazie if ((baseCompEmail == null && baseCustEmail == null) || model.Email == comp.Email) { comp.CompanyName = model.CompanyName ?? ""; comp.PhoneNumer = model.PhoneNumber ?? ""; comp.Email = model.Email ?? ""; db.SaveChanges(); return(RedirectToAction("EditCompany")); } else { ModelState.AddModelError("Email", "Użytkownik o podanym emailu już istnieje"); } } } return(RedirectToAction("EditCompany")); }
public ActionResult EditCompany() { ViewBag.CityList = CitiesQuery(); var user = User as MPrincipal; var login = user.UserDetails.Login; ViewBag.UserName = user.UserDetails.Login; ViewBag.UserRole = 4; CompanyAccountVM companyEditVM = null; using (ApplicationDbContext db = new ApplicationDbContext()) { var comp = db.Companies.FirstOrDefault(u => u.Login.Equals(login)); ViewBag.UserName = comp.Login; ViewBag.Role = comp.RoleId; companyEditVM = new CompanyAccountVM(); companyEditVM.CompanyName = comp.CompanyName; companyEditVM.PhoneNumber = comp.PhoneNumer; companyEditVM.Email = comp.Email; } return(View("EditCompany", companyEditVM)); }
public ActionResult RegisterCompany(CompanyAccountVM _model) { if (ModelState.IsValid) { using (ApplicationDbContext db = new ApplicationDbContext()) { var compEmail = db.Companies.FirstOrDefault(x => x.Email == _model.Email); var compLogin = db.Companies.FirstOrDefault(x => x.Login == _model.Login); var custEmail = db.Customers.FirstOrDefault(x => x.Email == _model.Email); var custLogin = db.Customers.FirstOrDefault(x => x.Login == _model.Login); if ((compEmail == null) && (compLogin == null) && (custEmail == null) && (custLogin == null)) { Company company = new Company(); company.CompanyName = _model.CompanyName; company.Login = _model.Login; company.PhoneNumer = _model.PhoneNumber; company.Email = _model.Email; company.Password = Security.sha512encrypt(_model.Password); company.RoleId = 4; company.IsDelete = false; company.CityId = 1; db.Companies.Add(company); db.SaveChanges(); return(RedirectToAction("LoginCompany")); } else if ((compEmail != null) || (custEmail != null)) { ModelState.AddModelError("Email", "Użytkownik o podanym emailu już istnieje"); } else if ((compLogin != null) || (custLogin != null)) { ModelState.AddModelError("Login", "Użytkownik o podanym loginie już istnieje"); } } } return(View(_model)); }
public ActionResult LoginCompany(CompanyAccountVM _model) { using (ApplicationDbContext db = new ApplicationDbContext()) { bool validEmail = db.Companies.Any(x => x.Email == _model.Email); bool validLogin = db.Companies.Any(x => x.Login == _model.Login); if (!(validEmail || validLogin)) { ModelState.AddModelError("Password", "Niepoprawny login lub hasło"); return(View(_model)); } _model.Password = Security.sha512encrypt(_model.Password); ViewBag.Title = "Logowanie klienta"; Company company = db.Companies.FirstOrDefault(u => u.Login.Equals(_model.Login) && u.Password.Equals(_model.Password)); string authId = Guid.NewGuid().ToString(); Session["AuthID"] = authId; var cookie = new HttpCookie("AuthID"); cookie.Value = authId; Response.Cookies.Add(cookie); if (company != null) { FormsAuthentication.SetAuthCookie(company.Login, false); var authTicket = new FormsAuthenticationTicket(1, company.Login, DateTime.UtcNow, DateTime.UtcNow.AddMinutes(60), false, ""); var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket)); authCookie.Expires = DateTime.UtcNow.AddMinutes(60); Response.SetCookie(authCookie); return(RedirectToAction("Index", "Home")); } return(View(_model)); } }