コード例 #1
0
 public static async Task<LG.Data.Models.Clinical.ActiveConsultation> GetInfo(LG.Data.Models.Clinical.ActiveConsultation entity)
 {
     try
     {
         var response = GetOrderProcessingData(entity);
         await response;
         if (response.IsCompleted)
         {
             return await GetEncounterlInfo(response.Result);
         }
         if (response.IsFaulted)
         {
             response.Result.IsError = true;
             response.Result.Message = response.Result.Message + "|@|response.IsFaulted";
             return response.Result;
         }
         if (response.IsCanceled)
         {
             response.Result.IsError = true;
             response.Result.Message = response.Result.Message + "|@|response.IsFaulted";
             return response.Result;
         }
     }
     catch (Exception ex)
     {
         entity.IsError = true;
         entity.Message = ex.Message + "|@|Exception ex";
         return entity;
     }
     return null;
 }
コード例 #2
0
 internal static async Task<LG.Data.Models.Clinical.ActiveConsultation> GetOrderProcessingData(LG.Data.Models.Clinical.ActiveConsultation entity)
 {
     var client = ClientConnection.GetOMS_Connection();
     try
     {
         client.Open();
         var response = client.GetOrderStatusAsync(new GetOrderStatusRequest()
         {
             MessageGuid = Guid.NewGuid(),
             OrderID = entity.ConsultationID
         });
         await response;
         var response2 = client.GetConsultationStatusAsync(new GetConsultationStatusRequest()
         {
             MessageGuid = Guid.NewGuid(),
             ConsultationID = entity.ConsultationID
         });
         await response2;
         if (response.IsCompleted && response2.IsCompleted)
         {
             entity.OrderDetails = new LG.Data.Models.Clinical.OrderData()
             {
                 OrderStatus = response.Result.OrderStatusDetails,
                 ConsultStatus = response2.Result.ConsultationStatusDetails,
                 IsError = response.Result.ReturnStatus.IsError || response2.Result.ReturnStatus.IsError,
                 Message = string.Format("Response:{0} || Response2:{1}", response.Result.ReturnStatus.GeneralMessage, response2.Result.ReturnStatus.GeneralMessage)
             };
         }
     }
     catch (Exception ex)
     {
         client.Abort();
         entity.IsError = true;
         entity.Message = ex.ToString();
     }
     finally
     {
         if (client.State != CommunicationState.Closed)
         {
             client.Close();
         }
     }
     return entity;
 }
コード例 #3
0
 internal static async Task<LG.Data.Models.Clinical.ActiveConsultation> GetEncounterlInfo(LG.Data.Models.Clinical.ActiveConsultation entity)
 {
     var client = ClientConnection.GetCDMS_Connection();
     try
     {
         client.Open();
         var response =  client.GetChiefComplaintsByCIDAsync(new GetChiefComplaintsByCIDRequest()
         {
             MessageGuid = Guid.NewGuid(),
             ConsultationID = entity.ConsultationID
         });
         await response;
         var response2 = client.GetFilesAssociatedWithConsultationAsync(new GetFilesAssociatedWithConsultationRequest()
         {
             MessageGuid = Guid.NewGuid(),
             ConsultationID = entity.ConsultationID
         });
         await response2;
         if (response.IsCompleted && response2.IsCompleted)
         {
             entity.EncounterData = new ClinicalData()
             {
                 ChiefComplaints = response.Result.ChiefComplaints,
                 Files = response2.Result.ListOfFilesAssociatedWithConsultation,
                 IsError = response.Result.ReturnStatus.IsError || response2.Result.ReturnStatus.IsError,
                 Message = string.Format("Response:{0} || Response2:{1}", response.Result.ReturnStatus.GeneralMessage, response2.Result.ReturnStatus.GeneralMessage)
             };
         }
     }
     catch (Exception ex)
     {
         client.Abort();
         entity.IsError = true;
         entity.Message = ex.ToString();
     }
     finally
     {
         if (client.State != CommunicationState.Closed)
         {
             client.Close();
         }
     }
     return entity;
 }