using Exferia_Aplicacion.General;
using Exferia_EntityFramework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exferia_Personal._1_Modelos
{
    public class INTERNO_PER_NominasPagos_Listado_Modelo : PER_NominasPagos
    {
        public INTERNO_PER_NominasPagos_Listado_Modelo()
        { }

        public string Estado_Texto
        {
            get
            {
                string str_Estado_Texto = Variables.G_STR_ESTADO_CONTABILIDAD_ABIERTO_TEXTO;

                if (estado.Equals(Variables.G_STR_ESTADO_CONTABILIDAD_CERRADO))
                {
                    str_Estado_Texto = Variables.G_STR_ESTADO_CONTABILIDAD_CERRADO_TEXTO;
                }
                else if (estado.Equals(Variables.G_STR_ESTADO_CONTABILIDAD_VOLCADO))
                {
                    str_Estado_Texto = Variables.G_STR_ESTADO_CONTABILIDAD_VOLCADO_TEXTO;
                }

                return str_Estado_Texto;
            }
        }

        //NominaVencimiento
        public long NominaVencimiento_Codigo { get; set; }
        public string NominaVencimiento_Descripcion { get; set; }
        public DateTime? NominaVencimiento_FechaBorrado { get; set; }
        public string NominaVencimiento
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (NominaVencimiento_Codigo>0)
                {
                    str_Aux = "(" + NominaVencimiento_Codigo + ") ";
                }

                //Descripcion
                if (NominaVencimiento_Descripcion != null && NominaVencimiento_Descripcion.Trim().Length > 0)
                {
                    str_Aux += NominaVencimiento_Descripcion;
                }

                return str_Aux;
            }
        }

        //Tesoreria
        public string Tesoreria_Codigo { get; set; }
        public string Tesoreria_Descripcion { get; set; }
        public DateTime? Tesoreria_FechaBorrado { get; set; }
        public string Tesoreria
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (Tesoreria_Codigo != null && Tesoreria_Codigo.Trim().Length > 0)
                {
                    str_Aux = "(" + Tesoreria_Codigo + ") ";
                }

                //Descripcion
                if (Tesoreria_Descripcion != null && Tesoreria_Descripcion.Trim().Length > 0)
                {
                    str_Aux += Tesoreria_Descripcion;
                }

                return str_Aux;
            }
        }

        //ClaveAnalitica
        public string ClaveAnalitica_Codigo { get; set; }
        public string ClaveAnalitica_Descripcion { get; set; }
        public DateTime? ClaveAnalitica_FechaBorrado { get; set; }
        public string ClaveAnalitica
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (ClaveAnalitica_Codigo != null && ClaveAnalitica_Codigo.Trim().Length > 0)
                {
                    str_Aux = "(" + ClaveAnalitica_Codigo + ") ";
                }

                //Descripcion
                if (ClaveAnalitica_Descripcion != null && ClaveAnalitica_Descripcion.Trim().Length > 0)
                {
                    str_Aux += ClaveAnalitica_Descripcion;
                }

                return str_Aux;
            }
        }

        //PredefinidoCabecera_Pago
        public string PredefinidoCabecera_Pago_Codigo { get; set; }
        public string PredefinidoCabecera_Pago_Descripcion { get; set; }
        public DateTime? PredefinidoCabecera_Pago_FechaBorrado { get; set; }
        public string PredefinidoCabecera_Pago
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (PredefinidoCabecera_Pago_Codigo != null && PredefinidoCabecera_Pago_Codigo.Trim().Length > 0)
                {
                    str_Aux = "(" + PredefinidoCabecera_Pago_Codigo + ") ";
                }

                //Descripcion
                if (PredefinidoCabecera_Pago_Descripcion != null && PredefinidoCabecera_Pago_Descripcion.Trim().Length > 0)
                {
                    str_Aux += PredefinidoCabecera_Pago_Descripcion;
                }

                return str_Aux;
            }
        }

        //NominaRemesa_Linea
        public long NominaRemesa_Linea_Codigo { get; set; }
        public string NominaRemesa_Linea_Descripcion { get; set; }
        public DateTime? NominaRemesa_Linea_FechaBorrado { get; set; }
        public string NominaRemesa_Linea
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (NominaRemesa_Linea_Codigo >0)
                {
                    str_Aux = "(" + NominaRemesa_Linea_Codigo + ") ";
                }

                //Descripcion
                if (NominaRemesa_Linea_Descripcion != null && NominaRemesa_Linea_Descripcion.Trim().Length > 0)
                {
                    str_Aux += NominaRemesa_Linea_Descripcion;
                }

                return str_Aux;
            }
        }

        //Ejercicio
        public GEN_EjerciciosActivos_Empresa Ejercicios_Empresa { get; set; }
        public long idEjercicio
        {
            get
            {
                long lng_Aux = -1;

                if (Ejercicios_Empresa != null)
                {
                    lng_Aux = Ejercicios_Empresa.id;
                }

                return lng_Aux;
            }
        }
        public string Ejercicio
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (Ejercicios_Empresa != null)
                {
                    str_Aux = Ejercicios_Empresa.anioControl;
                }

                return str_Aux;
            }
        }
    }
}
