private void HandleAppointmentScheduling(MessageEventArgs messageEvent)
        {
            try
            {
                ProcessPatientAppointmentMessage appointmentMessage = new ProcessPatientAppointmentMessage();
                var    appointmentScheduling       = appointmentMessage.Get(messageEvent.EntityId);
                var    appointmentSchedulingEntity = _jsonEntityMapper.AppointmentScheduling(appointmentScheduling, messageEvent);
                string appointmentSchedulingJson   = new JavaScriptSerializer().Serialize(appointmentSchedulingEntity);

                //save
                var apiOutbox = new ApiOutbox()
                {
                    DateSent = DateTime.Now,
                    Message  = appointmentSchedulingJson
                };
                _apiOutboxManager.AddApiOutbox(apiOutbox);

                //send
                SendData(appointmentSchedulingJson, "").ConfigureAwait(false);
            }
            catch (Exception e)
            {
                string message = new JavaScriptSerializer().Serialize(messageEvent);
                //error
                var apiOutbox = new ApiOutbox()
                {
                    DateSent   = DateTime.Now,
                    Message    = message,
                    LogMessage = e.Message + "\n" + e.StackTrace
                };
                _apiOutboxManager.AddApiOutbox(apiOutbox);
            }
        }
        private void HandleObservationResult(MessageEventArgs messageEvent)
        {
            try
            {
                ProcessObservationResultMessage observationResult = new ProcessObservationResultMessage();

                var    observationDto        = observationResult.GetObservation(messageEvent);
                var    observationEntityDto  = _jsonEntityMapper.ObservationResult(observationDto, messageEvent);
                string observationEntityJson = new JavaScriptSerializer().Serialize(observationEntityDto);

                //save
                var apiOutbox = new ApiOutbox()
                {
                    DateSent = DateTime.Now,
                    Message  = observationEntityJson
                };
                _apiOutboxManager.AddApiOutbox(apiOutbox);

                //send
                SendData(observationEntityJson, "").ConfigureAwait(false);
            }
            catch (Exception e)
            {
                string message = new JavaScriptSerializer().Serialize(messageEvent);
                //error
                var apiOutbox = new ApiOutbox()
                {
                    DateSent   = DateTime.Now,
                    Message    = message,
                    LogMessage = e.Message + "\n" + e.StackTrace
                };
                _apiOutboxManager.AddApiOutbox(apiOutbox);
            }
        }
        private void HandleUpdatedClientInformation(MessageEventArgs messageEvent)
        {
            try
            {
                var    processRegistration = new ProcessRegistration();
                var    registrationDto     = processRegistration.Get(messageEvent.PatientId);
                var    registrationEntity  = _jsonEntityMapper.PatientRegistration(registrationDto, messageEvent);
                string registrationJson    = new JavaScriptSerializer().Serialize(registrationEntity);

                //save
                var apiOutbox = new ApiOutbox()
                {
                    DateSent = DateTime.Now,
                    Message  = registrationJson
                };

                _apiOutboxManager.AddApiOutbox(apiOutbox);
                //Send
                SendData(registrationJson, "").ConfigureAwait(false);
            }
            catch (Exception e)
            {
                string message = new JavaScriptSerializer().Serialize(messageEvent);
                //error
                var apiOutbox = new ApiOutbox()
                {
                    DateSent   = DateTime.Now,
                    Message    = message,
                    LogMessage = e.Message + "\n" + e.StackTrace
                };
                _apiOutboxManager.AddApiOutbox(apiOutbox);
            }
        }
Ejemplo n.º 4
0
        public int AddApiProcessed(ApiOutbox apiOutbox)
        {
            ApiOutbox outbox = new ApiOutbox()
            {
                Id       = apiOutbox.Id,
                DateSent = apiOutbox.DateSent
            };

            return(_apiOutboxmanager.AddApiProcessed(outbox));
        }
Ejemplo n.º 5
0
 public int AddApiProcessed(ApiOutbox apiOutbox)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork(new ApiContext()))
     {
         unitOfWork.ApiOutboxRepository.Update(apiOutbox);
         Result = unitOfWork.Complete();
         unitOfWork.Dispose();
         return(Result);
     }
 }
Ejemplo n.º 6
0
        public int AddApiOutbox(ApiOutbox apiOutbox)
        {
            ApiOutbox outbox = new ApiOutbox()
            {
                DateSent     = apiOutbox.DateSent,
                RecepientId  = apiOutbox.RecepientId,
                AttemptCount = 0,
                Message      = apiOutbox.Message,
                LogMessage   = apiOutbox.LogMessage
            };

            return(_apiOutboxmanager.AddApiOutbox(outbox));
        }
        private void HandleDrugPrescriptionRaised(MessageEventArgs messageEvent)
        {
            try
            {
                var drugPrescriptionMessage = new DrugPrescriptionMessage();
                //DrugPrescriptionMessage drugPrescriptionMessage = new DrugPrescriptionMessage();

                var prescriptiondPrescriptionSourceEntitiesToDto = drugPrescriptionMessage.PreparePrescriptionSourceDto(messageEvent.PatientId, messageEvent.EntityId, messageEvent.PatientMasterVisitId);

                if (prescriptiondPrescriptionSourceEntitiesToDto != null)
                {
                    var prescriptionEntityPayLoad = _jsonEntityMapper.DrugPrescriptionRaised(prescriptiondPrescriptionSourceEntitiesToDto);

                    string prescriptionJson = new JavaScriptSerializer().Serialize(prescriptionEntityPayLoad);
                    var    apiOutbox        = new ApiOutbox()
                    {
                        DateSent    = DateTime.Now,
                        Message     = prescriptionJson,
                        RecepientId = 1,
                        LogMessage  = "New prescription raised"
                    };

                    _apiOutboxManager.AddApiOutbox(apiOutbox);
                    SendData(prescriptionJson, "").ConfigureAwait(false);
                }
                else
                {
                    //todo send abort
                }
            }
            catch (Exception e)
            {
                string message = new JavaScriptSerializer().Serialize(messageEvent);
                //error
                var apiOutbox = new ApiOutbox()
                {
                    DateSent   = DateTime.Now,
                    Message    = message,
                    LogMessage = e.Message + "\n" + e.StackTrace
                };
                _apiOutboxManager.AddApiOutbox(apiOutbox);
            }
        }