using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Requests;
///
/// Параметры для создания отчёта и получения прогнозируемого количества страниц будущего отчета
///
public class ReportParametersRequest: IValidatableObject
{
///
/// Шаг интервала
///
[Range(1, 86400)]
public int StepSeconds { get; set; }
///
/// формат отчета (0-PDF, 1-LAS)
///
[Range(0, 1)]
public int Format { get; set; }
///
/// Дата начала интервала
///
public DateTime Begin { get; set; } = default;
///
/// Дата окончания интервала
///
public DateTime End { get; set; } = default;
///
public IEnumerable Validate(ValidationContext validationContext)
{
if (End < Begin)
yield return new("End mast be less then begin");
if (Begin < new DateTime(2000, 1, 1))
yield return new("Begin mast be > 2000-1-1");
}
}