using System.Collections.Generic;
using CareFusion.Mosaic.Converters.Wwks2.Types;
using CareFusion.Mosaic.Interfaces.Converters;

namespace CareFusion.Mosaic.Interfaces.Messages.Stock
{
    /// <summary>
    /// Class which implements the StockUpdateRequest Mosaic message.
    /// This request is used to update stock informations
    /// </summary>
    public class StockUpdateRequest : MosaicMessage
    {
        /// <summary>
        /// The filter criteria to which articles and packs the update applies.
        /// </summary>
        public List<Criteria> Criteria { get; set; }
        /// <summary>
        /// The new information that should be applied to the stock
        /// </summary>
        public Pack Pack { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="StockUpdateRequest"/> class.
        /// </summary>
        public StockUpdateRequest() : base(MessageType.StockUpdateRequest)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="StockUpdateRequest"/> class.
        /// </summary>
        /// <param name="converterStream">The converter stream which created the request.</param>
        public StockUpdateRequest(IConverterStream converterStream) : base(MessageType.StockUpdateRequest, converterStream)
        {
        }
    }
}
