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_Compras._0_Modelos
{
    public class INTERNO_COM_EntradasMercanciaCabecera_Bolsa_Listado_Modelo : COM_EntradasMercanciaCabecera
    {
        public string Estado_Texto
        {
            get
            {
                string str_Estado_Texto = Variables.G_STR_ESTADO_CONTABILIDAD_ABIERTO_TEXTO;

                if (estado != null && estado.Trim().Length > 0 && estado.Equals(Variables.G_STR_ESTADO_CONTABILIDAD_CERRADO))
                {
                    str_Estado_Texto = Variables.G_STR_ESTADO_CONTABILIDAD_CERRADO_TEXTO;
                }

                return str_Estado_Texto;
            }
        }

        //Empresa
        public string Empresa_Codigo { get; set; }
        public string Empresa_Descripcion { get; set; }
        public DateTime? Empresa_FechaBorrado { get; set; }
        public string Empresa
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Delegacion
        public string Delegacion_Codigo { get; set; }
        public string Delegacion_Descripcion { get; set; }
        public DateTime? Delegacion_FechaBorrado { get; set; }
        public string Delegacion
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Proveedor
        public string Proveedor_Codigo { get; set; }
        public string Proveedor_RazonSocial { get; set; }
        public string Proveedor_NombreComercial { get; set; }

        //Moneda
        public string Moneda_Codigo { get; set; }
        public string Moneda_Descripcion { get; set; }
        public DateTime? Moneda_FechaBorrado { get; set; }
        public string Moneda
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //ImpuestoCabecera
        public string ImpuestoCabecera_Codigo { get; set; }
        public string ImpuestoCabecera_Descripcion { get; set; }
        public DateTime? ImpuestoCabecera_FechaBorrado { get; set; }
        public string ImpuestoCabecera
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Empleado
        public string Empleado_Codigo { get; set; }
        public string Empleado_Nombre { get; set; }
        public DateTime? Empleado_FechaBorrado { get; set; }
        public string Empleado
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //PredefinidoCabecera (EntradaMercancia)
        public string PredefinidoCabeceraEntradaMercancia_Codigo { get; set; }
        public string PredefinidoCabeceraEntradaMercancia_Descripcion { get; set; }
        public DateTime? PredefinidoCabeceraEntradaMercancia_FechaBorrado { get; set; }
        public string PredefinidoCabeceraEntradaMercancia
        {
            get
            {
                string str_Aux = "";

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

                //Descripcion
                if (PredefinidoCabeceraEntradaMercancia_Descripcion != null && PredefinidoCabeceraEntradaMercancia_Descripcion.Trim().Length > 0)
                {
                    str_Aux += PredefinidoCabeceraEntradaMercancia_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;
            }
        }


        //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 = "";

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

                return str_Aux;
            }
        }

    }
}
