public async Task <bool> SaveContact([FromBody] TblEVContact contact) { bool result = false; result = await evcontactRepo.SaveContact(contact); return(result); }
/// <summary> /// Save/Update contact's information to the database. /// </summary> /// <param name="contact">contact's basic information.</param> /// <returns>Success/failure boolean flag.</returns> async Task <bool> IEVContactRepository.SaveContact(TblEVContact contact) { bool usersaved = false; var existingUser = EVContactDB.TblEVContacts.AsNoTracking().Where(c => c.Id == contact.Id).SingleOrDefault(); var duplicateUser = EVContactDB.TblEVContacts.AsNoTracking().Where(c => c.Email == contact.Email && c.Status == "Active").SingleOrDefault(); // var existingUser = EVContactDB.TblEVContacts.Find(contact.Id); try { if (existingUser != null) { EVContactDB.Entry(contact).State = EntityState.Modified; await EVContactDB.SaveChangesAsync(); usersaved = true; } else { if (duplicateUser == null) { contact.Status = "Active"; EVContactDB.TblEVContacts.Add(contact); await EVContactDB.SaveChangesAsync(); usersaved = true; } else { usersaved = false; } } } catch (Exception ex) { usersaved = false; } return(usersaved); }