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_Maestros._0_Modelos
{
    public class INTERNO_MAE_Ubicaciones_Listado_Modelo : MAE_Ubicaciones
    {
        public INTERNO_MAE_Ubicaciones_Listado_Modelo()
        { }

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

        }

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

        //Almacen
        public string Almacen_Codigo { get; set; }
        public string Almacen_Descripcion { get; set; }
        public DateTime? Almacen_FechaBorrado { get; set; }
        public string Almacen
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //UbicacionPerfil
        public string UbicacionPerfil_Codigo { get; set; }
        public string UbicacionPerfil_Descripcion { get; set; }
        public DateTime? UbicacionPerfil_FechaBorrado { get; set; }
        public string UbicacionPerfil
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        //TipoProducto
        public string TipoProducto_Codigo { get; set; }
        public string TipoProducto_Descripcion { get; set; }
        public DateTime? TipoProducto_FechaBorrado { get; set; }
        public string TipoProducto
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }

        public string TipoFuncion_Texto
        {
            get
            {
                string str_TipoFuncion = Variables.G_MDL_TIPOFUNCION_PICKING.Descripcion;

                if (tipoFuncion != null)
                {
                    if (tipoFuncion.Equals(Variables.G_MDL_TIPOFUNCION_RESERVA.Codigo))
                    {
                        str_TipoFuncion = Variables.G_MDL_TIPOFUNCION_RESERVA.Descripcion;
                    }
                    else if (tipoFuncion.Equals(Variables.G_MDL_TIPOFUNCION_PLAYAPICKING.Codigo))
                    {
                        str_TipoFuncion = Variables.G_MDL_TIPOFUNCION_PLAYAPICKING.Descripcion;
                    }
                    else if (tipoFuncion.Equals(Variables.G_MDL_TIPOFUNCION_MUELLEENTRADA.Codigo))
                    {
                        str_TipoFuncion = Variables.G_MDL_TIPOFUNCION_MUELLEENTRADA.Descripcion;
                    }
                }

                return str_TipoFuncion;
            }
        }

    }
}
