Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. public void UpdateContact(PersonalDetailDto personalDetailDto)
  2. {
  3. using (var context = base.CreateDbContext())
  4. {
  5. var dbObject = context.PersonalDetails
  6.  
  7. .FirstOrDefault(c=>c.Id == personalDetailDto.Id);
  8.  
  9. var detailsFromUpdate = personalDetailDto.ContactNumbers;
  10.  
  11. personalDetailDto.ContactNumbers = null;
  12.  
  13. _mapper.Map(personalDetailDto, dbObject);
  14.  
  15. var contactDetails = context.ContactNumbers.Where(c => c.PersonalDetailId == personalDetailDto.Id);
  16.  
  17.  
  18. // map existing
  19. foreach (var contactDetail in contactDetails)
  20. {
  21. var updated = detailsFromUpdate.Find(c => c.Id == contactDetail.Id);
  22. if (updated != null)
  23. {
  24. _mapper.Map(updated, contactDetail);
  25. }
  26.  
  27. else
  28. {
  29. context.ContactNumbers.Remove(contactDetail);
  30. }
  31. }
  32.  
  33. // add new
  34. foreach (var contactNumberDto in detailsFromUpdate.Where(c => c.Id == 0))
  35. {
  36. var newItem = _mapper.Map<ContactNumber>(contactNumberDto);
  37. newItem.PersonalDetailId = personalDetailDto.Id;
  38. context.ContactNumbers.Add(newItem);
  39. }
  40.  
  41.  
  42. context.SaveChanges();
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement