Esempio n. 1
0
        /// <summary>
        /// Handles an update.
        /// </summary>
        /// <param name="message">The ADT_A08 message.</param>
        /// <param name="eventArgs">The <see cref="Hl7MessageReceivedEventArgs" /> instance containing the event data.</param>
        /// <returns>Returns the response message from the merge event.</returns>
        internal IMessage HandlePixUpdate(NHapi.Model.V231.Message.ADT_A08 message, Hl7MessageReceivedEventArgs eventArgs)
        {
            var parser = new PipeParser();

            message.MSH.MessageType.MessageStructure.Value = "ADT_A01";

            var encodedMessage = parser.Parse(parser.Encode(message));

            if (encodedMessage is NHapi.Model.V231.Message.ADT_A01)
            {
                return(this.HandlePixUpdate(encodedMessage as NHapi.Model.V231.Message.ADT_A01, eventArgs));
            }

            return(MessageUtil.CreateNack(eventArgs.Message, "AR", "200", ApplicationContext.Current.GetLocaleString("MSGE074")));
        }
Esempio n. 2
0
        /// <summary>
        /// Handle PIX Update
        /// </summary>
        private IMessage HandlePixUpdate(NHapi.Model.V231.Message.ADT_A08 aDT_A08, Hl7MessageReceivedEventArgs e)
        {
            ILocalizationService        locale = this.Context.GetService(typeof(ILocalizationService)) as ILocalizationService;
            ISystemConfigurationService config = this.Context.GetService(typeof(ISystemConfigurationService)) as ISystemConfigurationService;

            PipeParser parser = new PipeParser();

            aDT_A08.MSH.MessageType.MessageStructure.Value = "ADT_A01";
            var message = parser.Parse(parser.Encode(aDT_A08));

            if (message is NHapi.Model.V231.Message.ADT_A01)
            {
                return(this.HandlePixUpdate(message as NHapi.Model.V231.Message.ADT_A01, e));
            }
            else
            {
                return(MessageUtil.CreateNack(e.Message, "AR", "200", locale.GetString("MSGE074"), config));
            }
        }