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_PresupuestosCabecera_Listado_Modelo : VTA_PresupuestosCabecera
    {
        public bool Bolsa { get; set; }

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

        public string Situacion_Texto
        {
            get
            {
                string str_Situacion_Texto = Variables.G_MDL_TIPOSITUACION_PRESUPUESTO_PENDIENTE.Descripcion;

                if (situacion.ToString().Equals(Variables.G_MDL_TIPOSITUACION_PRESUPUESTO_RECHAZADO.Codigo))
                {
                    str_Situacion_Texto = Variables.G_MDL_TIPOSITUACION_PRESUPUESTO_RECHAZADO.Descripcion;
                }
                else if (situacion.ToString().Equals(Variables.G_MDL_TIPOSITUACION_PRESUPUESTO_ACEPTADO.Codigo))
                {
                    str_Situacion_Texto = Variables.G_MDL_TIPOSITUACION_PRESUPUESTO_ACEPTADO.Descripcion;
                }

                return str_Situacion_Texto;
            }
        }

        public string Tipo_Texto
        {
            get
            {
                string str_Tipo_Texto = Variables.G_MDL_TIPO_PRESUPUESTO_PRESUPUESTO.Descripcion;

                if (tipo.Equals(Variables.G_MDL_TIPO_PRESUPUESTO_OFERTA.Codigo))
                {
                    str_Tipo_Texto = Variables.G_MDL_TIPO_PRESUPUESTO_OFERTA.Descripcion;
                }
                else if (tipo.Equals(Variables.G_MDL_TIPO_PRESUPUESTO_PROFORMA.Codigo))
                {
                    str_Tipo_Texto = Variables.G_MDL_TIPO_PRESUPUESTO_PROFORMA.Descripcion;
                }

                return str_Tipo_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;
            }
        }

        //Cliente
        public string Cliente_Codigo { get; set; }
        public string Cliente_RazonSocial { get; set; }
        public string Cliente_NombreComercial { get; set; }
        public int? Cliente_ClienteCRM { 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;
            }
        }

        //VendedorPreventa
        public string VendedorPreventa_Codigo { get; set; }
        public string VendedorPreventa_Nombre { get; set; }
        public DateTime? VendedorPreventa_FechaBorrado { get; set; }
        public string VendedorPreventa
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //PedidoCabecera
        public long? PedidoCabecera_Codigo { get; set; }
        public string PedidoCabecera_Delegacion { get; set; }
        public DateTime? PedidoCabecera_Fecha { get; set; }
        public DateTime? PedidoCabecera_FechaBorrado { get; set; }
        public string PedidoCabecera
        {
            get
            {
                string str_Aux = "";

                //Codigo
                if (PedidoCabecera_Codigo != null && PedidoCabecera_Codigo.Value > -1)
                {
                    str_Aux = "(" + PedidoCabecera_Codigo.Value + "/" + PedidoCabecera_Delegacion + ") ";
                }

                //Fecha
                if (PedidoCabecera_Fecha != null && PedidoCabecera_Fecha.Value.Year != 1800)
                {
                    str_Aux += PedidoCabecera_Fecha.Value.ToString("dd/MM/yyyy");
                }

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