using System;
using System.Collections.Generic;

namespace AsbCloudApp.Requests
{
    /// <summary>
    /// параметры для запроса списка сообщений
    /// </summary>
    public class MessageRequestBase : RequestBase
    {
        /// <summary>
        /// категория
        /// </summary>
        public IEnumerable<int>? Categoryids { get; set; }


        /// <summary>
        /// начальная дата
        /// </summary>
        public DateTimeOffset? Begin { get; set; }

        /// <summary>
        /// конечная дата
        /// </summary>
        public DateTimeOffset? End { get; set; }

        /// <summary>
        /// строка поиска
        /// </summary>
        public string? SearchString { get; set; }

    }

    /// <summary>
    /// параметры для запроса списка сообщений (с id скважины)
    /// </summary>
    public class MessageRequest : MessageRequestBase
    {

        /// <summary>
        /// id скважины
        /// </summary>
        public int IdWell { get; set; }

        /// <summary>
        /// параметры для запроса списка сообщений (с id скважины)
        /// </summary>
        /// <param name="request"></param>
        /// <param name="idWell"></param>
        public MessageRequest(MessageRequestBase request, int idWell)
        {
            this.IdWell = idWell;

            this.Categoryids = request.Categoryids;
            this.Begin = request.Begin;
            this.End = request.End;
            this.SearchString = request.SearchString;

            this.Skip = request.Skip;
            this.Take = request.Take;
            this.SortFields = request.SortFields;
        }

    }
}