public async Task <IActionResult> UpdateContact(UpdatedContactDto updatedContact) { ServiceResponse <GetContactDto> response = await _ContactService.UpdateContact(updatedContact); if (response.Data == null) { return(NotFound(response)); } else { return(Ok(response)); } }
public async Task <ServiceResponse <GetContactDto> > UpdateContact(UpdatedContactDto updatedContact) { ServiceResponse <GetContactDto> serviceResponse = new ServiceResponse <GetContactDto>(); try { //Contact contact = await _context.Contacts.Include(c => c.User).AsNoTracking().FirstOrDefaultAsync(c => c.Id == updatedContact.Id); Contact contact = await _context.Contacts.AsNoTracking().FirstOrDefaultAsync(c => c.Id == updatedContact.Id); Contact mappedUpdated = _mapper.Map <Contact>(updatedContact); if (contact.UserId == GetUserId()) { contact.FirstName = (updatedContact.FirstName != null) ? updatedContact.FirstName : contact.FirstName; contact.LastName = (updatedContact.LastName != null) ? updatedContact.LastName : contact.LastName; contact.Email = (updatedContact.Email != null) ? updatedContact.Email : contact.Email; contact.Type = (updatedContact.Type != ContactType.Null) ? updatedContact.Type : contact.Type; contact.Address = (updatedContact.Address != null) ? updatedContact.Address : contact.Address; contact.Address2 = (updatedContact.Address2 != null) ? updatedContact.Address2 : contact.Address2; contact.City = (updatedContact.City != null) ? updatedContact.City : contact.City; contact.State = (updatedContact.State != null) ? updatedContact.State : contact.State; contact.ZipCode = (updatedContact.ZipCode != null) ? updatedContact.ZipCode : contact.ZipCode; contact.Country = (updatedContact.Country != null) ? updatedContact.Country : contact.Country; contact.PhoneNumber = (updatedContact.PhoneNumber != null) ? updatedContact.PhoneNumber : contact.PhoneNumber; contact.CellPhone = (updatedContact.CellPhone != null) ? updatedContact.CellPhone : contact.CellPhone; _context.Contacts.Update(contact); await _context.SaveChangesAsync(); serviceResponse.Data = _mapper.Map <GetContactDto>(contact); } else { serviceResponse.Success = false; serviceResponse.Message = "Record not found."; } } catch (Exception ex) { serviceResponse.Success = false; serviceResponse.Message = ex.Message; } return(serviceResponse); }