using System.Collections.Generic;

namespace AsbCloudApp.Requests;

/// <summary>
/// Запрос получения версий ПО
/// </summary>
public class VersionRequestBase
{
	/// <summary>
	/// Конструктор по умолчанию
	/// </summary>
	public VersionRequestBase()
	{
	}

	/// <summary>
	/// Копирующий конструктор
	/// </summary>
	/// <param name="request"></param>
	public VersionRequestBase(VersionRequestBase request)
	{
		IdWellState = request.IdWellState;
		IdsWell = request.IdsWell;
	}

	/// <summary>
	/// Необязательный параметр. Определяет состояние скважины
	/// null - возвращаются все записи
	/// 0 - неизвестно,
	/// 1 - в работе,
	/// 2 - завершена
	/// </summary>
	public int? IdWellState { get; set; }

	/// <summary>
	/// Идентификаторы скважин
	/// </summary>
	public IEnumerable<int>? IdsWell { get; set; }
}

/// <summary>
/// Запрос получения версий ПО
/// </summary>
public class VersionRequest : VersionRequestBase
{
	/// <summary>
	/// Конструктор
	/// </summary>
	public VersionRequest(int idCompany,
		VersionRequestBase request)
		: base(request)
	{
		IdCompany = idCompany;
	}

	/// <summary>
	/// Идентификатор компании
	/// </summary>
	public int IdCompany { get; set; }
}