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) { } }