public void InsertOrUpdate(Person person) { if (person.Id == default(int)) { // New entity context.People.Add(person); } else { // Existing entity context.Entry(person).State = EntityState.Modified; } }
public override bool ValidateUser(string username, string password) { int stop = username.IndexOf("\\"); string domain = (stop > -1) ? username.Substring(0, stop) : string.Empty; string login = (stop > -1) ? username.Substring(stop + 1, username.Length - stop - 1) : string.Empty; bool isValid = false; using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain)) { isValid = pc.ValidateCredentials(login, password); if (isValid) { if (PersonRepository.All.SingleOrDefault(p => p.DomainName == username) == null) { Person person = new Person { DomainName = username }; PersonRepository.InsertOrUpdate(person); PersonRepository.Save(); } } } return isValid; }