static public Core.Models.User.UserItem Save(Core.Models.User.UserItem user) { using (var db = new DataModel.Entities()) { var result = (from i in db.Users where i.Id == user.Id && i.Deleted == null select i).SingleOrDefault(); if (result == null) { var mailCheck = (from i in db.Users where i.Mail == user.Mail select i).SingleOrDefault(); if (mailCheck != null) { throw new Exception(Core.Strings.DiffMail); } var nameCheck = (from i in db.Users where i.Name == user.Name select i).SingleOrDefault(); if (nameCheck != null) { throw new Exception(Core.Strings.DiffUserName); } return(Create(user, db)); } else { var hashPass = Hash(user.Password); if (hashPass != result.Password) { throw new Exception(Core.Strings.WrongPassword); } return(Update(user, db, result)); } } }
static private Core.Models.User.UserItem Update(Core.Models.User.UserItem user, DataModel.Entities db, DataModel.User dbUser) { /// TODO dbUser.FirstName = !string.IsNullOrEmpty(user.FirstName) && user.FirstName != dbUser.FirstName ? user.FirstName : dbUser.FirstName; dbUser.LastName = !string.IsNullOrEmpty(user.LastName) && user.LastName != dbUser.LastName ? user.LastName : dbUser.LastName; db.SaveChanges(); return(user); }
static private Core.Models.User.UserItem Create(Core.Models.User.UserItem user, DataModel.Entities db) { var pass = Hash(user.PasswordAgain); var newUser = new DataModel.User() { Id = user.Id, FirstName = user.FirstName, LastName = user.LastName, Password = pass, Name = user.Name, Mail = user.Mail, Role = user.Role, Type = user.Type, Status = user.Status, Created = DateTime.Now }; db.Users.Add(newUser); db.SaveChanges(); return(user); }
public ActionResult Index(Core.Models.User.UserItem user) { try { ModelState.Remove(nameof(user.PasswordAgain)); if (ModelState.IsValid) { var s = Core.Helpers.User.UserHelper.Save(user); TempData["Message"] = Core.Strings.UpdateSuccess; } else { TempData["Error"] = Core.Helpers.BaseHelper.ModelStateErrors(ModelState); } } catch (Exception ex) { TempData["Error"] = ex.Message; } return(View(user)); }
public ActionResult Create(Core.Models.User.UserItem user) { try { if (ModelState.IsValid) { user.Id = Guid.NewGuid(); user.Role = Core.Enums.User.UserRole.Default; var s = Core.Helpers.User.UserHelper.Save(user); return(RedirectToAction(nameof(Login))); } else { throw new Exception(Core.Strings.InvalidAreas); } } catch (Exception ex) { TempData["Error"] = ex.Message; } return(View(user)); }