using AsbCloudApp.Data;
using AsbCloudApp.Data.SAUB;
using System;
using System.Collections.Generic;
using System.Linq;
namespace AsbCloudApp.Requests;
///
/// параметры для запроса списка сообщений
///
public class MessageRequestBase : RequestBase
{
///
/// категория
///
public IEnumerable? IdsCategories { get; set; }
///
/// начальная дата
///
public DateTimeOffset? Begin { get; set; }
///
/// конечная дата
///
public DateTimeOffset? End { get; set; }
///
/// строка поиска
///
public string? SearchString { get; set; }
///
///
///
public MessageRequestBase()
{
}
///
/// копирующий конструктор
///
///
public MessageRequestBase(MessageRequestBase request)
{
this.IdsCategories = request.IdsCategories;
this.Begin = request.Begin;
this.End = request.End;
this.SearchString = request.SearchString;
this.Skip = request.Skip;
this.Take = request.Take;
this.SortFields = request.SortFields;
}
}
///
/// параметры для запроса списка сообщений (с ids скважин)
///
public class MessageRequest : MessageRequestBase
{
///
/// ids скважин
///
public IEnumerable IdsWell { get; set; } = null!;
///
///
///
public MessageRequest()
{
}
///
/// параметры для запроса списка сообщений (с ids скважин)
///
///
///
public MessageRequest(MessageRequestBase request, IEnumerable idsWell) : base(request)
{
this.IdsWell = idsWell;
}
}
///
/// параметры запроса для получения списка сообщений телеметрии
///
public class MessageTelemetryRequest : MessageRequestBase
{
///
/// события
///
public IEnumerable Events { get; set; }= Enumerable.Empty();
///
/// телеметрии
///
public IEnumerable Telemetries { get; set; } = Enumerable.Empty();
///
public MessageTelemetryRequest(
MessageRequestBase request,
IEnumerable events,
IEnumerable telemetries) : base(request)
{
Events = events;
Telemetries = telemetries;
}
///
public MessageTelemetryRequest(MessageRequestBase request)
: base(request) { }
}