Example #1
0
        public InsertBatchPatientSystemsDataResponse Post(InsertBatchPatientSystemsDataRequest request)
        {
            InsertBatchPatientSystemsDataResponse response = new InsertBatchPatientSystemsDataResponse();

            try
            {
                RequireUserId(request);
                response.Responses = Manager.InsertBatchPatientSystems(request);
                response.Version   = request.Version;
            }
            catch (Exception ex)
            {
                RaiseException(response, ex);
            }
            return(response);
        }
        //ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location).AppSettings.Settings["DDPatientSystemUrl"].Value;
        //ConfigurationManager.AppSettings[""];

        //List<HttpObjectResponse<PatientSystemData>>
        public object Save <T>(T patientSystems, string contract)
        {
            LoggerDomainEvent.Raise(new LogStatus {
                Message = "2) Sending insert patientSystem DD request.", Type = LogType.Debug
            });
            var l = patientSystems as List <PatientSystemData>;

            if (l != null)
            {
                LogUtil.LogExternalRecordId("Save", l.Cast <IAppData>().ToList());
            }

            var userid = ProcConstants.UserId; // need to find a valid session id.

            try
            {
                IRestClient client = new JsonServiceClient();
                var         url    = Helper.BuildURL(string.Format("{0}/{1}/{2}/{3}/Batch/PatientSystems", DDPatientSystemUrl, "NG", 1, contract), userid);

                var request = new InsertBatchPatientSystemsDataRequest
                {
                    PatientSystemsData = patientSystems as List <PatientSystemData>,
                    Context            = "NG",
                    ContractNumber     = contract,
                    UserId             = userid,
                    Version            = 1
                };

                InsertBatchPatientSystemsDataResponse dataDomainResponse = client.Post <InsertBatchPatientSystemsDataResponse>(url, (object)request);

                //new Helpers().SerializeObject<List<PatientSystemData>>(request.PatientSystemsData, Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\PatientsSystemExample.txt");
                //var lPsd = Helpers.DeserializeObject<List<PatientSystemData>>(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\PatientsSystemExample.txt");

                var result = dataDomainResponse.Responses;
                LoggerDomainEvent.Raise(new LogStatus {
                    Message = "2) Success", Type = LogType.Debug
                });
                return(result);
            }
            catch (Exception ex)
            {
                LoggerDomainEvent.Raise(new LogStatus {
                    Message = "PatientSystemDataDomain:Save(): " + ex.Message, Type = LogType.Error
                });
                throw new ArgumentException("PatientSystemDataDomain:Save(): " + ex.Message);
            }
        }
        public List <HttpObjectResponse <PatientSystemData> > InsertBatchPatientSystems(InsertBatchPatientSystemsDataRequest request)
        {
            List <HttpObjectResponse <PatientSystemData> > list = null;

            try
            {
                if (request.PatientSystemsData != null && request.PatientSystemsData.Count > 0)
                {
                    list = new List <HttpObjectResponse <PatientSystemData> >();
                    var repo = Factory.GetRepository(RepositoryType.PatientSystem);
                    BulkInsertResult result = (BulkInsertResult)repo.InsertAll(request.PatientSystemsData.Cast <object>().ToList());
                    if (result != null)
                    {
                        if (result.ProcessedIds != null && result.ProcessedIds.Count > 0)
                        {
                            // Get the PatientSystems that were newly inserted.
                            List <PatientSystemData> insertedPatientSystems = repo.Select(result.ProcessedIds);
                            if (insertedPatientSystems != null && insertedPatientSystems.Count > 0)
                            {
                                #region DataAudit
                                List <string> insertedPatientSystemIds = insertedPatientSystems.Select(p => p.Id).ToList();
                                AuditHelper.LogDataAudit(request.UserId, MongoCollectionName.PatientSystem.ToString(), insertedPatientSystemIds, Common.DataAuditType.Insert, request.ContractNumber);
                                #endregion

                                insertedPatientSystems.ForEach(r =>
                                {
                                    list.Add(new HttpObjectResponse <PatientSystemData> {
                                        Code = HttpStatusCode.Created, Body = (PatientSystemData) new PatientSystemData {
                                            Id = r.Id, ExternalRecordId = r.ExternalRecordId, PatientId = r.PatientId
                                        }
                                    });
                                });
                            }
                        }
                        result.ErrorMessages.ForEach(e =>
                        {
                            list.Add(new HttpObjectResponse <PatientSystemData> {
                                Code = HttpStatusCode.InternalServerError, Message = e
                            });
                        });
                    }
                }
            }
            catch (Exception ex) { throw ex; }
            return(list);
        }
Example #4
0
 public List <HttpObjectResponse <PatientSystemData> > InsertBatchPatientSystems(InsertBatchPatientSystemsDataRequest request)
 {
     throw new NotImplementedException();
 }