Ejemplo n.º 1
0
        //??
        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);
        }
Ejemplo n.º 2
0
 public bool UnDereferencePatient(UndoDereferencePatientDataRequest request)
 {
     throw new NotImplementedException();
 }