public void Update(IUser user) { if (user == null) { throw new ArgumentNullException("user"); } if (user.Id <= 0) { throw new ArgumentException("User Id must be a positive integer.", "user"); } using (var context = CrmContextFactory.Get()) { var dbUser = context.Users.Find(user.Id); if (dbUser == null) { throw new ArgumentException("Trying to update non-existent user.", "user"); } dbUser.FirstName = user.FirstName; dbUser.LastName = user.LastName; dbUser.Login = user.Login; context.SaveChanges(); } }
public IUser Read(int id) { using (var context = CrmContextFactory.Get()) { try { return (context.Users.AsNoTracking() .Where(user => user.Id == id) .Select( user => new DomainUser { Id = user.Id, FirstName = user.FirstName, LastName = user.LastName, Login = user.Login } ) .First()); } catch (InvalidOperationException ex) { throw new ArgumentException("User not found.", "id", ex); } } }
public void SetPassword(int id, string password) { using (var context = CrmContextFactory.Get()) { var dbUser = context.Users.Find(id); if (dbUser == null) { throw new ArgumentException("User not found.", "id"); } dbUser.Password.Hash = GetPasswordHash(password); context.SaveChanges(); } }
public void Delete(int id) { if (id <= 0) { throw new ArgumentException("User Id must be a positive integer.", "id"); } using (var context = CrmContextFactory.Get()) { var dbUser = context.Users.Find(id); if (dbUser == null) { return; } context.Users.Remove(dbUser); context.SaveChanges(); } }
public void Create(IUser user, string password) { using (var context = CrmContextFactory.Get()) { context.Users.Add( new User { FirstName = user.FirstName, LastName = user.LastName, Login = user.Login, Password = { Hash = GetPasswordHash(password) } } ); context.SaveChanges(); } }
internal static void Add(ContactsViewModel ContactsModel) { using (var context = CrmContextFactory.Get()) { foreach (var NewContact in ContactsModel.GetAll()) { Contact NewContactDB = new Contact { ClientId = ContactsModel.GetClientId(), PhoneNr = NewContact.PhoneNr, PhoneType = NewContact.PhoneType, }; context.Contacts.Add(NewContactDB); } context.SaveChanges(); } }
public IEnumerable <IUser> GetAll() { using (var context = CrmContextFactory.Get()) { return (context.Users.AsNoTracking() .Select( user => new DomainUser { Id = user.Id, FirstName = user.FirstName, LastName = user.LastName, Login = user.Login } ) .ToList()); } }
public IUser Authenticate(string login, string password) { if (string.IsNullOrEmpty(login)) { return(null); } var hash = string.IsNullOrEmpty(password) ? null : GetPasswordHash(password); using (var context = CrmContextFactory.Get()) { return(context.Users .Where(user => login.Equals(user.Login, StringComparison.InvariantCultureIgnoreCase) && Equals(user.Password.Hash, hash) ) .Select(user => new DomainUser { Id = user.Id, Login = user.Login, FirstName = user.FirstName, LastName = user.LastName } ) .FirstOrDefault()); } }