//?? public UndoDereferencePatientDataResponse UndoDereferencePatient(UndoDereferencePatientDataRequest request) { var response = new UndoDereferencePatientDataResponse(); try { var repo = Factory.GetRepository(request, RepositoryType.Contact); var isSuccessful = repo.UnDereferencePatient(request); // Add the deleted contact back into the RecentList of other contacts(users logged in) who had him/her before the delete action. var undeletedContact = repo.FindByID(request.ContactId) as ContactData; if (undeletedContact != null) { if (request.ContactWithUpdatedRecentLists != null && request.ContactWithUpdatedRecentLists.Count > 0) { request.ContactWithUpdatedRecentLists.ForEach(c => { var contactData = repo.FindByID(c.ContactId) as ContactData; if (contactData != null) { contactData.RecentsList.Insert(c.PatientIndex, undeletedContact.PatientId); PutRecentPatientRequest recentPatientRequest = new PutRecentPatientRequest { ContactId = c.ContactId, Context = request.Context, ContractNumber = request.ContractNumber, UserId = request.UserId, Version = request.Version }; repo.UpdateRecentList(recentPatientRequest, contactData.RecentsList); } }); } } response.IsSuccessful = isSuccessful; } catch (Exception ex) { throw ex; } return(response); }
public bool UnDereferencePatient(UndoDereferencePatientDataRequest request) { throw new NotImplementedException(); }