using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IOB_UT_NEXT.Config.Base
{
    /// <summary>
    /// /Configurazione specifica gestione contapezzi
    /// </summary>
    public class CounterDto
    {
        /// <summary>
        /// Abilita impostazione forzata contapezzi 
        /// </summary>
        public bool EnableSetPzCount { get; set; } = false;

        /// <summary>
        /// Abilita impostazione pz richiesti
        /// </summary>
        public bool EnableSetPzReq { get; set; } = false;

        /// <summary>
        /// Valore massimo incremento contapezzi (in %)
        /// </summary>
        public int MaxIncrPzCountPerc { get; set; } = 200;

        /// <summary>
        /// Abilita reset contapezzi a INIZIO setup
        /// </summary>
        public bool ResetOnSetupStart { get; set; } = false;

        /// <summary>
        /// Abilita Reset contapezzi a FINE setup
        /// </summary>
        public bool ResetOnSetupStop { get; set; } = false;

        /// <summary>
        /// Abilita Reset contapezzi a FINE PRODUZIONE
        /// </summary>
        public bool ResetOnProdEnd { get; set; } = false;

        /// <summary>
        /// Abilita invio di più pezzi alla volta (IdxEv: 120)
        /// </summary>
        public bool EnabSendPzcBlock { get; set; } = true;

        /// <summary>
        /// Numero minimo pezzi x invio in blocco
        /// </summary>
        public int SendPzcBlockMin { get; set; } = 0;

        /// <summary>
        /// Numero massimo x invio in blocco
        /// </summary>
        public int SendPzcBlockMax { get; set; } = 100;

        /// <summary>
        /// Modalità set PzCount (contapezzi parziale) tra DIRECT / TASK
        /// </summary>
        public string SendPzCountMode { get; set; } = "";

    }
}
