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;
    }

}