public void DeleteContact(IContactBus contact) { // Address if (contact.ContactData != null) { _repo.Delete<Address>(contact.AddressData.AddressId); } // Contact if (contact.ContactData != null) _repo.Delete<Contact>(contact.ContactData.ContactId); }
public void SaveContact(IContactBus contact) { // Contact data switch (contact.ContactData.ObjectStatus) { case DataObjectStatus.Modified: _repo.Update(contact.ContactData); break; case DataObjectStatus.Added: _repo.Insert(contact.ContactData); break; } // Address if (contact.AddressData != null) { switch (contact.AddressData.ObjectStatus) { case DataObjectStatus.Modified: _repo.Update(contact.AddressData); break; case DataObjectStatus.Added: contact.AddressData.EntityId = contact.ContactData.ContactId; _repo.Insert(contact.AddressData); break; } } }
public IContactBus LoadDetails(IContactBus contact) { if (contact.ContactData != null) { var dataService = ServiceLocator.Current.GetInstance<IDataService>(); if (dataService != null) { var repo = dataService.Repo; var address = repo.Query<Address>(String.Format("EntityId={0}",contact.ContactData.ContactId),"",0,"*") .FirstOrDefault(); if (address != null) { contact.AddressData = address; } else { contact.AddressData = new Address { ObjectStatus = DataObjectStatus.Added }; } var account = repo.Query<Account>(String.Format("AccountId={0}",contact.ContactData.AccountId),"",0,"*") .FirstOrDefault(); contact.AccountBusData = new AccountBus(); if (account != null) { contact.AccountBusData.AccountData = account; contact.AccountBusData = LoadDetails(contact.AccountBusData); } } } return contact; }