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_Mythos._0_Modelos
{
    public class INTERNO_MYT_InstalacionesLineasContratos_GestionContratos_Listado_Modelo :MYT_InstalacionesLineasContratos
    {
        public INTERNO_MYT_InstalacionesLineasContratos_GestionContratos_Listado_Modelo()
        { }

        public bool Seleccionar { get; set; }

        #region TipoContrato
        public string TipoContrato_Codigo { get; set; }
        public string TipoContrato_Descripcion { get; set; }
        public bool? TipoContrato_AsociaPlanMantenimiento { get; set; }
        public DateTime? TipoContrato_FechaBorrado { get; set; }
        public string TipoContrato
        {
            get
            {
                string str_Aux = "";

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

                //Descripcion
                if (TipoContrato_Descripcion != null && TipoContrato_Descripcion.Trim().Length > 0)
                {
                    str_Aux += TipoContrato_Descripcion;
                }
                return str_Aux;
            }
        }
        #endregion

        #region InstalacionLinea
        public string InstalacionLinea_Codigo { get; set; }
        public string InstalacionLinea_Descripcion { get; set; }
        public long? InstalacionLinea_IdPlanMantenimientoCabecera { get; set; }
        public DateTime? InstalacionLinea_FechaBorrado { get; set; }
        public string InstalacionLinea
        {
            get
            {
                string str_Aux = "";

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

                //Descripcion
                if (InstalacionLinea_Descripcion != null && InstalacionLinea_Descripcion.Trim().Length > 0)
                {
                    str_Aux += InstalacionLinea_Descripcion;
                }
                return str_Aux;
            }
        }
        #endregion

        #region InstalacionCabecera
        public long? InstalacionCabecera_Id { get; set; }
        public string InstalacionCabecera_Codigo { get; set; }
        public string InstalacionCabecera_Descripcion { get; set; }
        public DateTime? InstalacionCabecera_FechaBorrado { get; set; }
        public string InstalacionCabecera
        {
            get
            {
                string str_Aux = "";

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

                //Descripcion
                if (InstalacionCabecera_Descripcion != null && InstalacionCabecera_Descripcion.Trim().Length > 0)
                {
                    str_Aux += InstalacionCabecera_Descripcion;
                }
                return str_Aux;
            }
        }
        #endregion

        #region Cliente
        public long? Cliente_Id { get; set; }
        public string Cliente_Codigo { get; set; }
        public string Cliente_RazonSocial { get; set; }
        public string Cliente_NombreComercial { get; set; }
        public string Cliente_Telefono1 { get; set; }
        public string Cliente_Telefono2 { get; set; }
        #endregion

        #region  DIRECCION INSTALACION
        public GEN_Direcciones Direccion_Instalacion { get; set; }
        public string Direccion_Instalacion_NombreVia
        {
            get
            {
                string str_Aux = "";

                if (Direccion_Instalacion != null)
                {
                    str_Aux = Direccion_Instalacion.nombreVia;
                }

                return str_Aux;
            }
        }

        public string Direccion_Instalacion_CodigoPostal
        {
            get
            {
                string str_Aux = "";

                if (Direccion_Instalacion != null)
                {
                    str_Aux = Direccion_Instalacion.codigoPostal;
                }

                return str_Aux;
            }
        }

        //Pais
        public long Direccion_Instalacion_IdPais
        {
            get
            {
                long lng_Aux = -1;

                if (Direccion_Instalacion != null)
                {
                    lng_Aux = Direccion_Instalacion.idPais;
                }

                return lng_Aux;
            }
        }

        public string Direccion_Instalacion_Pais
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //Provincia
        public long Direccion_Instalacion_IdProvincia
        {
            get
            {
                long lng_Aux = -1;

                if (Direccion_Instalacion != null)
                {
                    lng_Aux = Direccion_Instalacion.idProvincia;
                }

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

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

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

                return str_Aux;
            }
        }

        //Municipio
        public long Direccion_Instalacion_IdMunicipio
        {
            get
            {
                long lng_Aux = -1;

                if (Direccion_Instalacion != null && Direccion_Instalacion.idMunicipio != null)
                {
                    lng_Aux = Direccion_Instalacion.idMunicipio.Value;
                }

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

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

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

                return str_Aux;
            }
        }

        //Poblacion
        public long Direccion_Instalacion_IdPoblacion
        {
            get
            {
                long lng_Aux = -1;

                if (Direccion_Instalacion != null && Direccion_Instalacion.idPoblacion != null)
                {
                    lng_Aux = Direccion_Instalacion.idPoblacion.Value;
                }

                return lng_Aux;
            }
        }

        public string Direccion_Instalacion_Poblacion
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        #endregion
    }
}
