コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: DataContactManager.cs プロジェクト: rotovibe/engage
        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);
        }
コード例 #3
0
 public bool DereferencePatient(DereferencePatientDataRequest request)
 {
     throw new NotImplementedException();
 }