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_Ventas._0_Modelos
{
    public class INTERNO_VTA_Cobros_Listado_Modelo : VTA_Cobros
    {
        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;
            }
        }

        //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;
            }
        }

        //Datos de FacturaCabecera
        public long FacturaCabecera_NumeroFactura { get; set; }
        public DateTime FacturaCabecera_Fecha { get; set; }

        //FacturaCabecera_Cliente
        public long? idCliente { get; set; }
        public string FacturaCabecera_Cliente_Codigo { get; set; }
        public string FacturaCabecera_Cliente_RazonSocial { get; set; }
        public DateTime? FacturaCabecera_Cliente_FechaBorrado { get; set; }
        public string FacturaCabecera_Cliente
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Socio
        public long? idSocio { get; set; }
        public string FacturaCabecera_Socio_Codigo { get; set; }
        public string FacturaCabecera_Socio_Descripcion { get; set; }
        public DateTime? FacturaCabecera_Socio_FechaBorrado { get; set; }
        public string FacturaCabecera_Socio
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //FacturaCabecera_Empresa
        public long? idEmpresa { get; set; }
        public string FacturaCabecera_Empresa_Codigo { get; set; }
        public string FacturaCabecera_Empresa_Descripcion { get; set; }
        public DateTime? FacturaCabecera_Empresa_FechaBorrado { get; set; }
        public string FacturaCabecera_Empresa
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Vencimiento
        public long Vencimiento_Codigo { get; set; }
        public string Vencimiento_Descripcion { get; set; }
        public DateTime? Vencimiento_FechaBorrado { get; set; }
        public string Vencimiento
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (Vencimiento_Codigo > 0)
                {
                    str_Aux = "(" + Vencimiento_Codigo.ToString() + ") ";
                }

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

                return str_Aux;
            }
        }

        //TipoPago
        public string TipoPago_Codigo { get; set; }
        public string TipoPago_Descripcion { get; set; }
        public DateTime? TipoPago_FechaBorrado { get; set; }
        public string TipoPago
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Vendedor
        public string Vendedor_Codigo { get; set; }
        public string Vendedor_Nombre { get; set; }
        public DateTime? Vendedor_FechaBorrado { get; set; }
        public string Vendedor
        {
            get
            {
                string str_Aux = "";

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

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

                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_Cobro
        public string PredefinidoCabecera_Cobro_Codigo { get; set; }
        public string PredefinidoCabecera_Cobro_Descripcion { get; set; }
        public DateTime? PredefinidoCabecera_Cobro_FechaBorrado { get; set; }
        public string PredefinidoCabecera_Cobro
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //PredefinidoCabecera_Negociacion
        public string PredefinidoCabecera_Negociacion_Codigo { get; set; }
        public string PredefinidoCabecera_Negociacion_Descripcion { get; set; }
        public DateTime? PredefinidoCabecera_Negociacion_FechaBorrado { get; set; }
        public string PredefinidoCabecera_Negociacion
        {
            get
            {
                string str_Aux = "";

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

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