using System.Collections.Generic;
using AsbCloudApp.Data.ProcessMaps;

namespace AsbCloudInfrastructure.Services.ExcelServices.Templates.ProcessMapPlanTemplates;

public class ProcessMapPlanDrillingTemplate : ITemplateParameters
{
	public string SheetName => "План";

	public int HeaderRowsCount => 2;

	public string FileName => "ProcessMapPlanDrillingTemplate.xlsx";

	public IDictionary<string, Cell> Cells => new Dictionary<string, Cell>
	{
		{ nameof(ProcessMapPlanDrillingDto.Section), new Cell(1, typeof(string)) },
		{ nameof(ProcessMapPlanDrillingDto.Mode), new Cell(2, typeof(string)) },
		{ nameof(ProcessMapPlanDrillingDto.DepthStart), new Cell(3, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.DepthEnd), new Cell(4, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.DeltaPressurePlan), new Cell(5, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.DeltaPressureLimitMax), new Cell(6, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.AxialLoadPlan), new Cell(7, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.AxialLoadLimitMax), new Cell(8, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.TopDriveTorquePlan), new Cell(9, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.TopDriveTorqueLimitMax), new Cell(10, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.TopDriveSpeedPlan), new Cell(11, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.TopDriveSpeedLimitMax), new Cell(12, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.FlowPlan), new Cell(13, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.FlowLimitMax), new Cell(14, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.RopPlan), new Cell(15, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.UsageSaub), new Cell(16, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.UsageSpin), new Cell(17, typeof(double)) },
		{ nameof(ProcessMapPlanDrillingDto.Comment), new Cell(18, typeof(string)) }
	};
}