/// <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); }
public async Task RemoveMessage(MessagingEntity entity) { if (entity == null) { throw new ArgumentNullException(nameof(entity)); } await _messagingService.Remove(entity); }
public async Task Remove(MessagingEntity messagingEntity) { if (messagingEntity == null) { throw new ArgumentNullException(nameof(messagingEntity)); } await _applicationsService.RemovePartnerApplicationAsync(messagingEntity.SenderId, messagingEntity.MessageId); }
public async Task ChangeState(MessagingEntity messagingEntity) { if (messagingEntity == null) { throw new ArgumentNullException(nameof(messagingEntity)); } if (!messagingEntity.State) { await _applicationsService.RejectInboxApplication(messagingEntity.SenderId, messagingEntity.MessageId); } else { await _applicationsService.ConfirmInboxApplication(messagingEntity.SenderId, messagingEntity.MessageId); } }
public async Task Edit(MessagingEntity messagingEntity) { if (messagingEntity == null) { throw new ArgumentNullException(nameof(messagingEntity)); } await _applicationsService.EditPartnerApplicationAsync(new PartnersApplicationsEntityModel() { Id = messagingEntity.MessageId, SenderId = messagingEntity.SenderId, RecipientId = messagingEntity.RecipientId, ApplicationText = messagingEntity.Message, Confirmed = messagingEntity.State }); }
/// <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); }
public async Task <JsonResult> RemoveApplication(MessagingEntity messagingEntity) { await _messagingAdapter.RemoveMessage(messagingEntity); return(new JsonResult(new { statusCode = 200, message = "OK", data = messagingEntity })); }
public async Task <JsonResult> ChangeApplicationState(MessagingEntity messagingEntity) { await _messagingAdapter.ChangeMessageState(messagingEntity); return(new JsonResult(new { statusCode = 200, message = "OK", data = messagingEntity })); }
/// <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)); }