Exemplo n.º 1
0
        /// <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);
 }
Exemplo n.º 3
0
        public async Task Remove(MessagingEntity messagingEntity)
        {
            if (messagingEntity == null)
            {
                throw new ArgumentNullException(nameof(messagingEntity));
            }

            await _applicationsService.RemovePartnerApplicationAsync(messagingEntity.SenderId, messagingEntity.MessageId);
        }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
 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
     });
 }
Exemplo n.º 6
0
        /// <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 }));
        }
Exemplo n.º 9
0
 /// <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));
 }
Exemplo n.º 10
0
 /// <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));
 }