using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Hermes;
using Exferia_EntityFramework;
using Exferia_Hermes._1_Datos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exferia_Hermes
{
    public class Datos_Hermes
    {
        #region HRM_Agencias
        private HRM_Agencias HRM_Agencias_Obtener_Modelo_Por_Id(long _lng_id)
        {
            HRM_Agencias mdl_HRM_Agencias = null;
            try
            {
                HRM_Agencias_Datos obj_HRM_Agencias_Datos = new HRM_Agencias_Datos();

                mdl_HRM_Agencias = obj_HRM_Agencias_Datos.Obtener_Modelo_Por_Id(_lng_id,true);
            }
            catch (Control_Errores)
            {
                mdl_HRM_Agencias = null;
            }
            catch (Exception)
            {
                mdl_HRM_Agencias = null;
            }

            return mdl_HRM_Agencias;
        }
        #endregion

        #region HRM_Configuracion
        private HRM_Configuracion HRM_Configuracion_Obtener_Modelo()
        {
            HRM_Configuracion mdl_HRM_Configuracion = null;
            try
            {
                HRM_Configuracion_Datos obj_HRM_Configuracion_Datos = new HRM_Configuracion_Datos();

                mdl_HRM_Configuracion = obj_HRM_Configuracion_Datos.Obtener_Modelo(true);
            }
            catch (Control_Errores)
            {
                mdl_HRM_Configuracion = null;
            }
            catch (Exception)
            {
                mdl_HRM_Configuracion = null;
            }

            return mdl_HRM_Configuracion;
        }
        #endregion

        #region HRM_TarifasCabecera
        private INTERNO_HRM_TarifasCabecera_Listado_Modelo HRM_TarifasCabecera_Obtener_ParaListado_Modelo_Por_Id(long _lng_id)
        {
            INTERNO_HRM_TarifasCabecera_Listado_Modelo mdl_INTERNO_HRM_TarifasCabecera_Listado_Modelo = null;
            try
            {
                HRM_TarifasCabecera_Datos obj_HRM_TarifasCabecera_Datos = new HRM_TarifasCabecera_Datos();

                mdl_INTERNO_HRM_TarifasCabecera_Listado_Modelo = obj_HRM_TarifasCabecera_Datos.Obtener_Registro_Para_Listado_Por_Id(_lng_id);
            }
            catch (Control_Errores)
            {
                mdl_INTERNO_HRM_TarifasCabecera_Listado_Modelo = null;
            }
            catch (Exception)
            {
                mdl_INTERNO_HRM_TarifasCabecera_Listado_Modelo = null;
            }

            return mdl_INTERNO_HRM_TarifasCabecera_Listado_Modelo;
        }
        private List<dynamic> HRM_TarifasCabecera_Obtener_ParaListado()
        {
            List<dynamic> lst_INTERNO_HRM_TarifasCabecera_Listado_Modelo = null;
            try
            {
                HRM_TarifasCabecera_Datos obj_HRM_TarifasCabecera_Datos = new HRM_TarifasCabecera_Datos();

                lst_INTERNO_HRM_TarifasCabecera_Listado_Modelo = obj_HRM_TarifasCabecera_Datos.Obtener_Registros_Para_Listado();

            }
            catch (Control_Errores)
            {
                lst_INTERNO_HRM_TarifasCabecera_Listado_Modelo = null;
            }
            catch (Exception)
            {
                lst_INTERNO_HRM_TarifasCabecera_Listado_Modelo = null;
            }

            return lst_INTERNO_HRM_TarifasCabecera_Listado_Modelo;
        }

        private List<HRM_TarifasCabecera> HRM_TarifasCabecera_Obtener_Listado_Por_IdsCliente(List<long> _lst_IdCliente)
        {
            List<HRM_TarifasCabecera> lst_HRM_TarifasCabecera = null;
            try
            {
                HRM_TarifasCabecera_Datos obj_HRM_TarifasCabecera_Datos = new HRM_TarifasCabecera_Datos();

                lst_HRM_TarifasCabecera = obj_HRM_TarifasCabecera_Datos.Obtener_ModeloListado_Por_IdsCliente(_lst_IdCliente, true);
            }
            catch (Control_Errores)
            {
                lst_HRM_TarifasCabecera = null;
            }
            catch (Exception)
            {
                lst_HRM_TarifasCabecera = null;
            }

            return lst_HRM_TarifasCabecera;
        }
        #endregion

        #region HRM_TarifasLineas
        private HRM_TarifasLineas HRM_TarifasLineas_Modelo_Por_Id(long _lng_id)
        {
            HRM_TarifasLineas mdl_HRM_TarifasLineas = null;
            try
            {
                HRM_TarifasLineas_Datos obj_HRM_TarifasLineas_Datos = new HRM_TarifasLineas_Datos();

                mdl_HRM_TarifasLineas = obj_HRM_TarifasLineas_Datos.Obtener_Modelo_Por_Id(_lng_id,true,true);
            }
            catch (Control_Errores)
            {
                mdl_HRM_TarifasLineas = null;
            }
            catch (Exception)
            {
                mdl_HRM_TarifasLineas = null;
            }

            return mdl_HRM_TarifasLineas;
        }

        private List<INTERNO_HRM_TarifasLineas_Listado_Modelo> HRM_TarifasLineas_Obtener_ParaListado_Modelo_Por_IdTarifaCabecera(long _lng_idTarifaCabecera)
        {
            List<INTERNO_HRM_TarifasLineas_Listado_Modelo> lst_INTERNO_HRM_TarifasLineas_Listado_Modelo = null;
            try
            {
                HRM_TarifasLineas_Datos obj_HRM_TarifasLineas_Datos = new HRM_TarifasLineas_Datos();

                lst_INTERNO_HRM_TarifasLineas_Listado_Modelo = obj_HRM_TarifasLineas_Datos.Obtener_Registros_Para_Listado_Por_TarifaCabecera(_lng_idTarifaCabecera);
            }
            catch (Control_Errores)
            {
                lst_INTERNO_HRM_TarifasLineas_Listado_Modelo = null;
            }
            catch (Exception)
            {
                lst_INTERNO_HRM_TarifasLineas_Listado_Modelo = null;
            }

            return lst_INTERNO_HRM_TarifasLineas_Listado_Modelo;
        }
        #endregion

        #region HRM_AlbaranPerfil_Cabecera
        private HRM_AlbaranPerfil_Cabecera HRM_AlbaranPerfil_Cabecera_Obtener_Modelo_Por_Id(long _lng_id)
        {
            HRM_AlbaranPerfil_Cabecera mdl_HRM_AlbaranPerfil_Cabecera = null;
            try
            {
                HRM_AlbaranPerfil_Cabecera_Datos obj_HRM_AlbaranPerfil_Cabecera_Datos = new HRM_AlbaranPerfil_Cabecera_Datos();

                mdl_HRM_AlbaranPerfil_Cabecera = obj_HRM_AlbaranPerfil_Cabecera_Datos.Obtener_Modelo_Por_Id(_lng_id,false);
            }
            catch (Control_Errores)
            {
                mdl_HRM_AlbaranPerfil_Cabecera = null;
            }
            catch (Exception)
            {
                mdl_HRM_AlbaranPerfil_Cabecera = null;
            }

            return mdl_HRM_AlbaranPerfil_Cabecera;
        }
        private HRM_AlbaranPerfil_Cabecera HRM_AlbaranPerfil_Cabecera_Obtener_Modelo_Por_Id_AUX_1(long _lng_id,bool _bol_Cargar_AlbaranPerfilLineas)
        {
            HRM_AlbaranPerfil_Cabecera mdl_HRM_AlbaranPerfil_Cabecera = null;
            try
            {
                HRM_AlbaranPerfil_Cabecera_Datos obj_HRM_AlbaranPerfil_Cabecera_Datos = new HRM_AlbaranPerfil_Cabecera_Datos();

                mdl_HRM_AlbaranPerfil_Cabecera = obj_HRM_AlbaranPerfil_Cabecera_Datos.Obtener_Modelo_Por_Id(_lng_id, _bol_Cargar_AlbaranPerfilLineas);
            }
            catch (Control_Errores)
            {
                mdl_HRM_AlbaranPerfil_Cabecera = null;
            }
            catch (Exception)
            {
                mdl_HRM_AlbaranPerfil_Cabecera = null;
            }

            return mdl_HRM_AlbaranPerfil_Cabecera;
        }

        #endregion

        #region HRM_PrecioSeguro
        private HRM_PrecioSeguro HRM_PrecioSeguro_Obtener(long _lng_id)
        {
            HRM_PrecioSeguro mdl_HRM_PrecioSeguro = null;
            try
            {
                HRM_PrecioSeguro_Datos obj_HRM_PrecioSeguro_Datos = new HRM_PrecioSeguro_Datos();
                mdl_HRM_PrecioSeguro = obj_HRM_PrecioSeguro_Datos.Obtener(_lng_id);
            }
            catch (Control_Errores)
            {
                mdl_HRM_PrecioSeguro = null;
            }
            catch (Exception)
            {
                mdl_HRM_PrecioSeguro = null;
            }

            return mdl_HRM_PrecioSeguro;
        }

        private List<HRM_PrecioSeguro> HRM_PrecioSeguro_Obtener_ModeloListado_Por_IdCliente(long _lng_idCliente)
        {
            List<HRM_PrecioSeguro> mdl_HRM_PrecioSeguro = null;
            try
            {
                HRM_PrecioSeguro_Datos obj_HRM_PrecioSeguro_Datos = new HRM_PrecioSeguro_Datos();
                mdl_HRM_PrecioSeguro = obj_HRM_PrecioSeguro_Datos.Obtener_ModeloListado_Por_IdCliente(_lng_idCliente);
            }
            catch (Control_Errores)
            {
                mdl_HRM_PrecioSeguro = null;
            }
            catch (Exception)
            {
                mdl_HRM_PrecioSeguro = null;
            }

            return mdl_HRM_PrecioSeguro;
        }

        private INTERNO_ValorDevuelto_Modelo HRM_PrecioSeguro_Grabar(HRM_PrecioSeguro _mdl_obj)
        {
            INTERNO_ValorDevuelto_Modelo _mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_PrecioSeguro_Datos obj_HRM_PrecioSeguro_Datos = new HRM_PrecioSeguro_Datos();
                _mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_PrecioSeguro_Datos.Grabar(_mdl_obj);
            }
            catch (Exception)
            { }

            return _mdl_INTERNO_ValorDevuelto_Modelo;
        }

        private INTERNO_ValorDevuelto_Modelo HRM_PrecioSeguro_Borrar(long _lng_id)
        {
            INTERNO_ValorDevuelto_Modelo _mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_PrecioSeguro_Datos obj_HRM_PrecioSeguro_Datos = new HRM_PrecioSeguro_Datos();
                _mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_PrecioSeguro_Datos.Borrar(_lng_id);
            }
            catch (Exception)
            { }

            return _mdl_INTERNO_ValorDevuelto_Modelo;
        }
        #endregion HRM_PrecioSeguro

        #region HRM_Contratos
        private HRM_Contratos HRM_Contratos_Obtener(long _lng_id)
        {
            HRM_Contratos mdl_HRM_Contratos = null;
            try
            {
                HRM_Contratos_Datos obj_HRM_Contratos_Datos = new HRM_Contratos_Datos();
                mdl_HRM_Contratos = obj_HRM_Contratos_Datos.Obtener(_lng_id);
            }
            catch (Control_Errores)
            {
                mdl_HRM_Contratos = null;
            }
            catch (Exception)
            {
                mdl_HRM_Contratos = null;
            }

            return mdl_HRM_Contratos;
        }

        private List<HRM_Contratos> HRM_Contratos_Obtener_ModeloListado_Por_IdCliente(long _lng_idCliente)
        {
            List<HRM_Contratos> mdl_HRM_Contratos = null;
            try
            {
                HRM_Contratos_Datos obj_HRM_Contratos_Datos = new HRM_Contratos_Datos();
                mdl_HRM_Contratos = obj_HRM_Contratos_Datos.Obtener_ModeloListado_Por_IdCliente(_lng_idCliente);
            }
            catch (Control_Errores)
            {
                mdl_HRM_Contratos = null;
            }
            catch (Exception)
            {
                mdl_HRM_Contratos = null;
            }

            return mdl_HRM_Contratos;
        }

        private INTERNO_ValorDevuelto_Modelo HRM_Contratos_Grabar(HRM_Contratos _mdl_obj)
        {
            INTERNO_ValorDevuelto_Modelo _mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_Contratos_Datos obj_HRM_Contratos_Datos = new HRM_Contratos_Datos();
                _mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_Contratos_Datos.Grabar(_mdl_obj);
            }
            catch (Exception)
            { }

            return _mdl_INTERNO_ValorDevuelto_Modelo;
        }

        private INTERNO_ValorDevuelto_Modelo HRM_Contratos_Borrar(long _lng_id)
        {
            INTERNO_ValorDevuelto_Modelo _mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_Contratos_Datos obj_HRM_Contratos_Datos = new HRM_Contratos_Datos();
                _mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_Contratos_Datos.Borrar(_lng_id);
            }
            catch (Exception)
            { }

            return _mdl_INTERNO_ValorDevuelto_Modelo;
        }
        #endregion HRM_Contratos

        #region HRM_PreciosCombustible_Historico
        private HRM_PreciosCombustible_Historico HRM_PreciosCombustible_Historico_Obtener(long _lng_id)
        {
            HRM_PreciosCombustible_Historico mdl_HRM_PreciosCombustible_Historicos = null;
            try
            {
                HRM_PreciosCombustible_Historico_Datos obj_HRM_PreciosCombustible_Historico_Datos = new HRM_PreciosCombustible_Historico_Datos();
                mdl_HRM_PreciosCombustible_Historicos = obj_HRM_PreciosCombustible_Historico_Datos.Obtener(_lng_id);
            }
            catch (Control_Errores)
            {
                mdl_HRM_PreciosCombustible_Historicos = null;
            }
            catch (Exception)
            {
                mdl_HRM_PreciosCombustible_Historicos = null;
            }

            return mdl_HRM_PreciosCombustible_Historicos;
        }

        private dynamic HRM_PreciosCombustible_Historico_Obtener_Listado(long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<string> _lst_CamposConRelacionABuscar, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
        {
            dynamic _mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_PreciosCombustible_Historico_Datos obj_HRM_PreciosCombustible_Historico_Datos = new HRM_PreciosCombustible_Historico_Datos();
                _mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_PreciosCombustible_Historico_Datos.Obtener_Listado( _lng_idEmpresaSeleccionada,  _lng_idEjercicioActual,_lst_CamposConRelacionABuscar,_lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
            }
            catch (Exception)
            { }

            return _mdl_INTERNO_ValorDevuelto_Modelo;
        }

        private INTERNO_ValorDevuelto_Modelo HRM_PreciosCombustible_Historico_Grabar(HRM_PreciosCombustible_Historico _mdl_obj)
        {
            INTERNO_ValorDevuelto_Modelo _mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_PreciosCombustible_Historico_Datos obj_HRM_PreciosCombustible_Historico_Datos = new HRM_PreciosCombustible_Historico_Datos();
                _mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_PreciosCombustible_Historico_Datos.Grabar(_mdl_obj);
            }
            catch (Exception)
            { }

            return _mdl_INTERNO_ValorDevuelto_Modelo;
        }

        private HRM_PreciosCombustible_Historico HRM_PreciosCombustible_Historico_Obtener_Modelo_Por_Id(long _lng_id)
        {
            HRM_PreciosCombustible_Historico mdl_HRM_PreciosCombustible_Historicos = null;
            try
            {
                HRM_PreciosCombustible_Historico_Datos obj_HRM_PreciosCombustible_Historico_Datos = new HRM_PreciosCombustible_Historico_Datos();
                mdl_HRM_PreciosCombustible_Historicos = obj_HRM_PreciosCombustible_Historico_Datos.Obtener_Modelo_Por_Id(_lng_id);
            }
            catch (Control_Errores)
            {
                mdl_HRM_PreciosCombustible_Historicos = null;
            }
            catch (Exception)
            {
                mdl_HRM_PreciosCombustible_Historicos = null;
            }

            return mdl_HRM_PreciosCombustible_Historicos;
        }

        private INTERNO_ValorDevuelto_Modelo HRM_PreciosCombustible_Historico_Borrar_Lista(object _lng_lst__id)
        {
            INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = null;
            try
            {
                HRM_PreciosCombustible_Historico_Datos obj_HRM_PreciosCombustible_Historico_Datos = new HRM_PreciosCombustible_Historico_Datos();
                mdl_INTERNO_ValorDevuelto_Modelo = obj_HRM_PreciosCombustible_Historico_Datos.Borrar(_lng_lst__id);
            }
            catch (Control_Errores)
            {
                mdl_INTERNO_ValorDevuelto_Modelo = null;
            }
            catch (Exception)
            {
                mdl_INTERNO_ValorDevuelto_Modelo = null;
            }

            return mdl_INTERNO_ValorDevuelto_Modelo;
        }
        #endregion HRM_PreciosCombustible_Historico
    }
}
