using Exferia_Aplicacion.General;
using Exferia_EntityFramework;
using Exferia_Expedientes.General;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exferia_Expedientes._0_Modelos
{
    public class INTERNO_Informe_CitacionesPorExpediente_Modelo
    {

        public INTERNO_Informe_CitacionesPorExpediente_Modelo()
        { }

        public int Tipo { get; set; }

        #region Expediente
        public long Expediente_id { get; set; }
        public string Expediente_codigo { get; set; }
        public string Expediente_descripcion { get; set; }

        public DateTime Expediente_fechaAlta { get; set; }
        public string Expediente_fechaAlta_Texto
        {
            get
            {
                return Expediente_fechaAlta.ToString("dd/MM/yyyy");
            }
        }

        public DateTime? Expediente_fechaBaja { get; set; }
        public string Expediente_fechaBaja_Texto
        {
            get
            {
                return (Expediente_fechaBaja!=null ? Expediente_fechaBaja.Value.ToString("dd/MM/yyyy") : "");
            }
        }
        public bool Expediente_colectivo { get; set; }

        public string Expediente_demandanteDemandado { get; set; }
        public string Expediente_DemandanteDemandado_Texto
        {
            get
            {
                string str_ValorDevuelto = Variables_Expedientes.G_MDL_DEMANDANTEDEMANDADO_DEMANDANTE.Descripcion;

                if (Expediente_demandanteDemandado.Equals(Variables_Expedientes.G_MDL_DEMANDANTEDEMANDADO_DEMANDADO.Codigo))
                {
                    str_ValorDevuelto = Variables_Expedientes.G_MDL_DEMANDANTEDEMANDADO_DEMANDADO.Descripcion;
                }

                return str_ValorDevuelto;
            }
        }

        public string Expediente_observaciones { get; set; }

        //Asesor
        public string Expediente_Asesor
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        public string Expediente_Asesor_codigo { get; set; }
        public string Expediente_Asesor_nombre { get; set; }

        //Demandado
        public string Expediente_Demandado
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        public string Expediente_Demandado_codigo { get; set; }
        public string Expediente_Demandado_nombre { get; set; }

        //Empresa
        public string Expediente_Empresa
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        public string Expediente_Empresa_codigo { get; set; }
        public string Expediente_Empresa_descripcion { get; set; }

        //Actores
        public string Expediente_Actores { get; set; }
        #endregion

        #region Procedimientos
        public long? Procedimientos_id { get; set; }
        public string Procedimientos_numero { get; set; }
        public string Procedimientos_numeroEjecucion { get; set; }
        public string Procedimientos_observaciones { get; set; }

        //Materia
        public string Procedimientos_Materia
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        public string Procedimientos_Materia_codigo { get; set; }
        public string Procedimientos_Materia_descripcion { get; set; }

        //Juzgado
        public string Procedimientos_Juzgado
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        public string Procedimientos_Juzgado_codigo { get; set; }
        public string Procedimientos_Juzgado_descripcion { get; set; }

        //Actores
        public string Procedimientos_Actores { get; set; }
        #endregion

        #region Citaciones
        public long? Citaciones_id { get; set; }
        public string Citaciones_codigo { get; set; }
        public string Citaciones_descripcion { get; set; }
        public DateTime? Citaciones_fechaHora { get; set; }
        public string Citaciones_Fecha
        {
            get
            {
                return (Citaciones_fechaHora!=null ? Citaciones_fechaHora.Value.ToString("dd/MM/yyyy") : "");
            }
        }
        public string Citaciones_Hora
        {
            get
            {
                string str_ValorDevuelto = "";

                if (Citaciones_fechaHora != null)
                {
                    TimeSpan tms_hora = new TimeSpan(Citaciones_fechaHora.Value.Hour, Citaciones_fechaHora.Value.Minute, 0);
                    str_ValorDevuelto = tms_hora.ToString("hh\\:mm");
                }

                return str_ValorDevuelto;
            }
        }

        public int? Citaciones_duracion { get; set; }
        public string Citaciones_observaciones { get; set; }

        //Asesor
        public string Citaciones_Asesor
        {
            get
            {
                string str_Aux = "";

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

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

                return str_Aux;
            }
        }
        public string Citaciones_Asesor_codigo { get; set; }
        public string Citaciones_Asesor_nombre { get; set; }
        #endregion

    }
}
