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_Hermes._0_Modelos
{
    public class INTERNO_HRM_Agencias_Listado_Modelo : HRM_Agencias
    {
        public INTERNO_HRM_Agencias_Listado_Modelo()
        { }

        public bool Seleccionar { get; set; }

        public long codigo_Long
        {
            get
            {
                long lng_Codigo = 0;
                if (Funciones.IsNumeric(codigo))
                {
                    lng_Codigo = long.Parse(codigo);
                }
                return lng_Codigo;
            }
        }

        #region 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;
            }
        }
        #endregion

        #region 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;
            }
        }
        #endregion

        #region  DIRECCION ENVIO
        public GEN_Direcciones DireccionEnvio { get; set; }
        public string DireccionEnvio_NombreVia
        {
            get
            {
                string str_Aux = "";

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

                return str_Aux;
            }
        }

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

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

                return str_Aux;
            }
        }

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

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

                return lng_Aux;
            }
        }

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

                return lng_Aux;
            }
        }

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

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

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

                return str_Aux;
            }
        }
        #endregion

        #region DIRECCION FACTURACION
        public GEN_Direcciones DireccionFacturacion { get; set; }
        public string DireccionFacturacion_NombreVia
        {
            get
            {
                string str_Aux = "";

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

                return str_Aux;
            }
        }
        public string DireccionFacturacion_CodigoPostal
        {
            get
            {
                string str_Aux = "";

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }
        #endregion

        #region  DIRECCION FISCAL
        public GEN_Direcciones DireccionFiscal { get; set; }
        public string DireccionFiscal_NombreVia
        {
            get
            {
                string str_Aux = "";

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

                return str_Aux;
            }
        }
        public string DireccionFiscal_TipoNumeracion
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.tipoNumeracion;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_NumeroCasa
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.numeroCasa;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_CalificadorNumero
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.calificadorNumero;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_Bloque
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.bloque;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_Portal
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.portal;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_Escalera
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.escalera;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_Planta
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.planta;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_Puerta
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.puerta;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_DatosComplementariosDomicilio
        {
            get
            {
                string str_Aux = "";

                if (DireccionFiscal != null)
                {
                    str_Aux = DireccionFiscal.datosComplementariosDomicilio;
                }

                return str_Aux;
            }
        }
        public string DireccionFiscal_CodigoPostal
        {
            get
            {
                string str_Aux = "";

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

                return str_Aux;
            }
        }
        //Pais
        public long DireccionFiscal_IdPais
        {
            get
            {
                long lng_Aux = -1;

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

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

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

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

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

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

                return str_Aux;
            }
        }

        //TipoVia
        public long DireccionFiscal_IdTipoVia
        {
            get
            {
                long lng_Aux = -1;

                if (DireccionFiscal != null && DireccionFiscal.idTipoVia != null)
                {
                    lng_Aux = DireccionFiscal.idTipoVia.Value;
                }

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

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

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

                return str_Aux;
            }
        }
        #endregion
    }
}
