public DereferencePatientDataResponse Put(DereferencePatientDataRequest request) { if (request == null) { throw new ArgumentNullException("request"); } var response = new DereferencePatientDataResponse(); try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("ContactDD:DereferencePatientDataResponse()::Unauthorized Access"); } response = Manager.DereferencePatient(request); response.Version = request.Version; } catch (Exception ex) { CommonFormatter.FormatExceptionResponse(response, base.Response, ex); string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Common.Helper.LogException(int.Parse(aseProcessID), ex); } return(response); }
public DereferencePatientDataResponse DereferencePatient(DereferencePatientDataRequest request) { var response = new DereferencePatientDataResponse(); try { var repo = Factory.GetRepository(request, RepositoryType.Contact); var isSuccessful = repo.DereferencePatient(request); if (isSuccessful) { // Remove this deleted contact(PatientId) from RecentList of other contacts(users logged in). List <ContactData> contactsWithAPatientInRecentList = repo.FindContactsWithAPatientInRecentList(request.PatientId) as List <ContactData>; if (contactsWithAPatientInRecentList != null && contactsWithAPatientInRecentList.Count > 0) { var contactsWithUpdatedRecentList = new List <ContactWithUpdatedRecentList>(); contactsWithAPatientInRecentList.ForEach(c => { PutRecentPatientRequest recentPatientRequest = new PutRecentPatientRequest { ContactId = c.Id, Context = request.Context, ContractNumber = request.ContractNumber, UserId = request.UserId, Version = request.Version }; int index = c.RecentsList.IndexOf(request.PatientId); if (c.RecentsList.Remove(request.PatientId)) { if (repo.UpdateRecentList(recentPatientRequest, c.RecentsList)) { contactsWithUpdatedRecentList.Add(new ContactWithUpdatedRecentList { ContactId = recentPatientRequest.ContactId, PatientIndex = index }); } } }); } } response.IsSuccessful = isSuccessful; } catch (Exception ex) { throw ex; } return(response); }
public bool DereferencePatient(DereferencePatientDataRequest request) { throw new NotImplementedException(); }