using CareFusion.Mosaic.Interfaces.Converters;
using CareFusion.Mosaic.Interfaces.Messages;
using System.Xml.Serialization;

namespace CareFusion.Mosaic.Converters.Wwks2.Messages.OutputDestination
{
    [XmlType(TypeName = "WWKS")]
    public class OutputDestinationStateIndicationSetResponseEnvelope : EnvelopeBase, IMessageConversion
    {
        [XmlElement]
        public OutputDestinationStateIndicationSetResponse OutputDestinationStateIndicationSetResponse { get; set; }


        public MosaicMessage ToMosaicMessage(IConverterStream converterStream)
        {
            throw new System.NotImplementedException();
        }
    }

    public class OutputDestinationStateIndicationSetResponse : MessageBase, IMessageConversion
    {
        #region Properties

        [XmlAttribute]
        public int OutputDestination { get; set; }

        [XmlAttribute]
        public string Result { get; set; }

        [XmlAttribute]
        public string Text { get; set; }
        #endregion

        public OutputDestinationStateIndicationSetResponse()
        {
        }

        public OutputDestinationStateIndicationSetResponse(MosaicMessage message)
        {
            var response = (Interfaces.Messages.OutputDestination.OutputDestinationStateIndicationSetResponse)message;

            Id = response.ID;
            Source = response.Source;
            Destination = response.Destination;

            OutputDestination = response.OutputDestination;
            Result = response.Result.ToString();
            Text = response.Text;
        }

        public MosaicMessage ToMosaicMessage(IConverterStream converterStream)
        {
            throw new System.NotImplementedException();
        }
    }
}
