/// <summary> /// Get thread of messages for an econsults. /// </summary> /// <param name="entity" type="LG.Data.Models.Clinical.MessagingEntity"></param> /// <returns>LG.Data.Models.Clinical.MessagingEntity</returns> public static async Task<MessagingEntity> GetConsultationMessageExchange(MessagingEntity entity) { var client = ClientConnection.GetCDMS_Connection(); try { client.Open(); var response = await client.GetConsultationMessageExchangeAsync(new GetConsultationMessageExchangeRequest() { MessageGuid = Guid.NewGuid(), ConsultationID = entity.ConsultationID }); entity.IsError = response.ReturnStatus.IsError; entity.Messages = response.ConsultationMessages.ToList(); } catch (Exception ex) { client.Abort(); entity.IsError = true; entity.Message = ex.ToString(); } finally { if (client.State != CommunicationState.Closed) { client.Close(); } } return entity; }
/// <summary> /// Adds a message to an econsult. /// </summary> /// <param name="entity" type="LG.Data.Models.Clinical.MessagingEntity"></param> /// <returns>LG.Data.Models.Clinical.MessagingEntity</returns> public static async Task<MessagingEntity> AddMessageToConsultation(MessagingEntity entity) { var client = ClientConnection.GetCDMS_Connection(); try { client.Open(); var response = await client.AddMessageToConsultationAsync(new AddMessageToConsultationRequest() { OrderID = entity.OrderID, SendByRID = entity.SenderID, MemberRID = entity.MemberRID, ConsultationID = entity.ConsultationID, MessageGuid = Guid.NewGuid(), Message = entity.NewMessage, PropBag = Propbag }); entity.NewMessageID = response.ID; entity.IsError = response.ReturnStatus.IsError; } catch (Exception ex) { client.Abort(); entity.IsError = true; entity.Message = ex.ToString(); } finally { if (client.State != CommunicationState.Closed) { client.Close(); } } return entity; }
/// <summary> /// Get thread of messages for an econsults. /// </summary> /// <param name="entity" type="LG.Data.Models.Clinical.MessagingEntity"></param> /// <returns>LG.Data.Models.Clinical.MessagingEntity</returns> public static async Task<MessagingEntity> GetConsultationMessageExchange(MessagingEntity entity) { return await LG.Data.Core.Clinical.MessagingDataService.GetConsultationMessageExchange(entity); }
/// <summary> /// Adds a message to an econsult. /// </summary> /// <param name="entity" type="LG.Data.Models.Clinical.MessagingEntity"></param> /// <returns>LG.Data.Models.Clinical.MessagingEntity</returns> public static async Task<MessagingEntity> AddMessageToConsultation(MessagingEntity entity) { return await LG.Data.Core.Clinical.MessagingDataService.AddMessageToConsultation(entity); }