protected async Task<bool> SaveContacts(MasterEntity entity) { using (var c = NestedContainer) { if(!ContactsList.Any(n => n.IsDirty)) return true; _proxy = Using<IDistributorServiceProxy>(c); ResponseBool response = new ResponseBool { Success = false }; var itemsToSave = new List<ContactItem>(); foreach (var item in ContactsList.Where(n => n.IsDirty)) { var contactItem = new ContactItem { MasterId = item.Contact.Id, DateOfBirth = item.Contact.DateOfBirth, MaritalStatusMasterId = (int)item.Contact.MStatus, BusinessPhone = item.Contact.BusinessPhone, ChildrenNames = item.Contact.ChildrenNames, City = item.Contact.City, Company = item.Contact.Company, ContactClassification = (int)item.Contact.ContactClassification, ContactOwnerType = item.Contact.ContactOwnerType, ContactOwnerMasterId = entity.Id, DateCreated = item.Contact._DateCreated, Email = item.Contact.Email, Fax = item.Contact.Fax, Firstname = item.Contact.Firstname, HomePhone = item.Contact.HomePhone, HomeTown = item.Contact.HomeTown, JobTitle = item.Contact.JobTitle, Lastname = item.Contact.Lastname, MobilePhone = item.Contact.MobilePhone, PhysicalAddress = item.Contact.PhysicalAddress, PostalAddress = item.Contact.PostalAddress, SpouseName = item.Contact.SpouseName, WorkExtPhone = item.Contact.WorkExtPhone, DateLastUpdated = DateTime.Now, StatusId = (int)EntityStatus.Active, IsNew = item.IsNew }; if (item.Contact.ContactType != null) contactItem.ContactTypeMasterId = item.Contact.ContactType.Id; itemsToSave.Add(contactItem); } if (itemsToSave.Count > 0) { response = await _proxy.ContactsAddAsync(itemsToSave.ToList()); MessageBox.Show(response.ErrorInfo, "Agrimanagr: Manage contacts", MessageBoxButton.OK, MessageBoxImage.Information); } else response.Success = true; return response.Success; } }