public ClienteF2CResponse updateConfiguracionServer(ClienteF2CRequest request)
        {
            ClienteF2CResponse response = new ClienteF2CResponse();

            try
            {
                if (Security.ValidateTokenSitio(request.Token, request.id_Sitio.ToString(), request.vchClaveSitio))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    string             mensaje    = "";
                    int id_Sitio = 0;
                    response.valido   = controller.updateConfiguracionServer(request.mdlConfiguracion, ref mensaje);
                    response.id_Sitio = id_Sitio;
                    response.message  = mensaje;
                }
                else
                {
                    response.valido  = false;
                    response.message = "Los datos de validación son erroneos.";
                }
            }
            catch (Exception getC)
            {
                response.valido  = false;
                response.message = "Existe un error en el servicio updateConfiguracionServer: " + getC.Message;
                Log.EscribeLog("Existe un error en el servicio updateConfiguracionServer: " + getC.Message);
            }
            return(response);
        }
        public ClienteF2CResponse getXMLFileConfig(ClienteF2CRequest request)
        {
            ClienteF2CResponse response = new ClienteF2CResponse();

            try
            {
                if (Security.ValidateTokenSitio(request.Token, request.id_Sitio.ToString(), request.vchClaveSitio))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    response.vchFormato = controller.getXMLFileConfig(request.vchPassword);
                    response.valido     = true;
                }
                else
                {
                    response.valido  = false;
                    response.message = "Los datos de validación son erroneos.";
                }
            }
            catch (Exception getC)
            {
                response.valido  = false;
                response.message = "Existe un error en el servicio getXMLFileConfig: " + getC.Message;
                Log.EscribeLog("Existe un error en el servicio getXMLFileConfig: " + getC.Message);
            }
            return(response);
        }
        public ClienteF2CResponse getEstudiosTransmitir(ClienteF2CRequest request)
        {
            ClienteF2CResponse response = new ClienteF2CResponse();

            try
            {
                if (Security.ValidateTokenSitio(request.Token, request.id_Sitio.ToString(), request.vchClaveSitio))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    string             mensaje    = "";
                    Log.EscribeLog("Sitio para transmitir: " + request.id_Sitio);
                    response.lstEstudio = controller.getEstudiosTransmitir(request.id_Sitio, ref mensaje);
                    response.message    = mensaje;
                }
                else
                {
                    response.valido  = false;
                    response.message = "Los datos de validación son erroneos.";
                }
            }
            catch (Exception getC)
            {
                response.valido  = false;
                response.message = "Existe un error en el servicio getEstudiosTransmitir: " + getC.Message;
                Log.EscribeLog("Existe un error en el servicio getEstudiosTransmitir: " + getC.Message);
            }
            return(response);
        }
        public tbl_DET_Sitio getDetalleSitio(int id_Sitio)
        {
            tbl_DET_Sitio _lstSitio = new tbl_DET_Sitio();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _lstSitio = controller.getDetalleSitio(id_Sitio);
            }
            catch (Exception egS)
            {
                throw egS;
            }
            return(_lstSitio);
        }
        public List <tbl_REL_ProyectoSitio> getRELProyecto_Sitio(int intProyectoID)
        {
            List <tbl_REL_ProyectoSitio> _lstRELPS = new List <tbl_REL_ProyectoSitio>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _lstRELPS = controller.getRELProyecto_Sitio(intProyectoID);
            }
            catch (Exception egS)
            {
                throw egS;
            }
            return(_lstRELPS);
        }
        public List <clsDashboardService> getServicioSitio(int intProyectoID, int id_Sitio)
        {
            List <clsDashboardService> valido = new List <clsDashboardService>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                valido = controller.getServicioSitio(intProyectoID, id_Sitio);
            }
            catch (Exception euS)
            {
                throw euS;
            }
            return(valido);
        }
        public List <tbl_CAT_Proyecto> getProyectos()
        {
            List <tbl_CAT_Proyecto> _lstSitio = new List <tbl_CAT_Proyecto>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _lstSitio = controller.getProyectos();
            }
            catch (Exception egS)
            {
                throw egS;
            }
            return(_lstSitio);
        }
        public List <clsUsuario> getUsuarios()
        {
            List <clsUsuario> _lstUser = new List <clsUsuario>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _lstUser = controller.getUsuarios();
            }
            catch (Exception egS)
            {
                throw egS;
            }
            return(_lstUser);
        }
        public List <tbl_ConfigSitio> getSitios(int intProyectoID, int id_Sitio)
        {
            List <tbl_ConfigSitio> _lstSitio = new List <tbl_ConfigSitio>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _lstSitio = controller.getSitios(intProyectoID, id_Sitio);
            }
            catch (Exception egS)
            {
                throw egS;
            }
            return(_lstSitio);
        }
        public bool validarSitio(string vchClaveSitio)
        {
            bool valida;

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                valida = controller.validarSitio(vchClaveSitio);
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(valida);
        }
        public List <clsModeloCatalogo> getCatalogo(String _TipoCat, int intProyecto, int id_Sitio)
        {
            List <clsModeloCatalogo> lst = new List <clsModeloCatalogo>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                lst = controller.getCatalogo(_TipoCat, intProyecto, id_Sitio);
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(lst);
        }
        public clsTop getDatosTop(DateTime fini, DateTime ffin, int sucOID, int intProyectoID)
        {
            clsTop NumEst = new clsTop();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                NumEst = controller.getDatosTop(fini, ffin, sucOID, intProyectoID);
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(NumEst);
        }
        public List <tbl_CAT_Feed2Version> getListaArchivos()
        {
            List <tbl_CAT_Feed2Version> response = new List <tbl_CAT_Feed2Version>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                response = controller.getListaArchivos();
            }
            catch (Exception euS)
            {
                throw euS;
            }
            return(response);
        }
        public List <clsGrafica> getDatosGraficas(String tipo, DateTime FechaIncio, DateTime FechaFin, int sucOID, int intProyectoID)
        {
            List <clsGrafica> valida;

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                valida = controller.getDatosGraficas(tipo, FechaIncio, FechaFin, sucOID, intProyectoID);
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(valida);
        }
        public string getPromedioEnvio(DateTime FechaIncio, DateTime FechaFin, int sucOID, int intProyectoID)
        {
            string NumEst = "";

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                NumEst = controller.getPromedioEnvio(FechaIncio, FechaFin, sucOID, intProyectoID);
            }
            catch (Exception egV)
            {
                NumEst = null;
            }
            return(NumEst);
        }
        public bool getPingServer()
        {
            bool valido = false;

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                valido = controller.getPingServer();
            }
            catch (Exception egPS)
            {
                valido = false;
                Log.EscribeLog("Existe un error en getPingServer: " + egPS.Message);
            }
            return(valido);
        }
        public bool setDetalleSitioEdicion(tbl_DET_Sitio detalle)
        {
            bool valido = false;

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                valido = controller.setDetalleSitioEdicion(detalle);
            }
            catch (Exception egS)
            {
                valido = false;
                Log.EscribeLog("Existe un error en setDetalleSitioEdicion: " + egS.Message);
            }
            return(valido);
        }
        public clsMensaje setSitio(tbl_ConfigSitio mdlSitio, tbl_RegistroSitio mdlRegistro)
        {
            clsMensaje response = new clsMensaje();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                string             mensaje    = "";
                response.valido = controller.setSitio(mdlSitio, mdlRegistro, ref mensaje);
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(response);
        }
        public clsMensaje updatePassword(int intUsuarioID, string vchPassword, bool SolRe)
        {
            clsMensaje response = new clsMensaje();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                string             mensaje    = "";
                response.valido     = controller.updatePassword(intUsuarioID, vchPassword, SolRe, ref mensaje);
                response.vchMensaje = mensaje;
            }
            catch (Exception euS)
            {
                throw euS;
            }
            return(response);
        }
        public LoginResponse Logear(LoginRequest Request)
        {
            LoginResponse      Response   = new LoginResponse();
            NapoleonDataAccess controller = new NapoleonDataAccess();
            clsUsuario         entidad    = new clsUsuario();

            try
            {
                Response.Success     = controller.Logear(Request.username, Request.password, Request.vchSitio, ref entidad);
                Response.CurrentUser = entidad;
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(Response);
        }
        public clsMensaje updateEstatusProyectos(int intProyectoID, bool activo)
        {
            clsMensaje response = new clsMensaje();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                string             mensaje    = "";
                response.valido     = controller.updateEstatusProyectos(intProyectoID, activo, ref mensaje);
                response.vchMensaje = mensaje;
            }
            catch (Exception euS)
            {
                throw euS;
            }
            return(response);
        }
        public clsMensaje setPrioridadesSucMod(PrioridadSucModRequest Request)
        {
            clsMensaje _userResponse = new clsMensaje();

            try
            {
                if (Security.ValidateToken(Request.Token, Request.intUsuarioID, Request.vchUsuario, Request.vchPassword))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    _userResponse.vchMensaje = controller.setPrioridadesSucMod(Request.mosID, Request.activar);
                }
            }
            catch (Exception egV)
            {
                _userResponse.vchError = egV.Message;
            }
            return(_userResponse);
        }
        public clsMensaje updateEstatusPrioridadModalidad(PrioridadModalidadRequest Request)
        {
            clsMensaje _userResponse = new clsMensaje();

            try
            {
                if (Security.ValidateToken(Request.Token, Request.intUsuarioID, Request.vchUsuario, Request.vchPassword))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    _userResponse = controller.updateEstatusPrioridadModalidad(Request.mdlPrioridad);
                }
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(_userResponse);
        }
        public PrioridadResponse setPrioridadesSucModAcomodar(PrioridadRequest _resp)
        {
            PrioridadResponse _prioResponse = new PrioridadResponse();

            try
            {
                if (Security.ValidateToken(_resp.Token, _resp.intUsuarioID, _resp.vchUsuario, _resp.vchPassword))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    _prioResponse._mensaje.vchMensaje = controller.setPrioridadesSucModAcomodar(_resp.intEstudioID, _resp.intDireccion, _resp.intSecuenciaActual);
                }
            }
            catch (Exception egV)
            {
                _prioResponse._mensaje.vchError = egV.Message;
            }
            return(_prioResponse);
        }
        public EstudioResponse setPrioridadEstudio(EstudioRequest Request)
        {
            EstudioResponse _estudioResponse = new EstudioResponse();

            try
            {
                if (Security.ValidateToken(Request.Token, Request.intUsuarioID, Request.vchUsuario, Request.vchPassword))
                {
                    NapoleonDataAccess controller = new NapoleonDataAccess();
                    _estudioResponse._mensaje = controller.updatePrioridadEstudio(Request._mdlPrioridad);
                }
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(_estudioResponse);
        }
        public tbl_RegistroSitio getRegistroContacto(int id_Sitio)
        {
            tbl_RegistroSitio _response = new tbl_RegistroSitio();

            try
            {
                //if (Security.ValidateToken(_resp.Token, _resp.intUsuarioID, _resp.vchUsuario, _resp.vchPassword))
                //{
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _response = controller.getRegistroContacto(id_Sitio);
                //}
            }
            catch (Exception egV)
            {
                _response = null;
                Log.EscribeLog("Existe un error en getRegistroContacto: " + egV.Message);
            }
            return(_response);
        }
        public clsMensaje getListEstudios(int intEstatusID, int id_Sitio, int intModalidadID, int intProyectoID)
        {
            clsMensaje        response = new clsMensaje();
            List <clsEstudio> lst      = new List <clsEstudio>();

            try
            {
                NapoleonDataAccess controller = new NapoleonDataAccess();
                string             mensaje    = "";
                lst = controller.getListEstudios(intEstatusID, id_Sitio, intModalidadID, intProyectoID, ref mensaje);
                response.vchMensaje = mensaje;
                response._lstEst    = lst;
            }
            catch (Exception egV)
            {
                throw egV;
            }
            return(response);
        }
        public LoginResponse getNewPassword(string vchCorreo)
        {
            LoginResponse response = new LoginResponse();

            try
            {
                string             mensaje    = "";
                NapoleonDataAccess controller = new NapoleonDataAccess();
                clsUsuario         mdl        = new clsUsuario();
                response.Success     = controller.getNewPassword(vchCorreo, ref mensaje, ref mdl);
                response.CurrentUser = mdl;
                response.vchMensaje  = mensaje;
            }
            catch (Exception euS)
            {
                throw euS;
            }
            return(response);
        }
        public List <clsPrioridadSucursal> getPrioridadSucursal(int id_Sitio, int intProyectoID)
        {
            List <clsPrioridadSucursal> _response = new List <clsPrioridadSucursal>();

            try
            {
                //if (Security.ValidateToken(_resp.Token, _resp.intUsuarioID, _resp.vchUsuario, _resp.vchPassword))
                //{
                NapoleonDataAccess controller = new NapoleonDataAccess();
                _response = controller.getPrioridadSucursal(id_Sitio, intProyectoID);
                //}
            }
            catch (Exception egV)
            {
                _response = null;
                Log.EscribeLog("Existe un error en getRegistroContacto: " + egV.Message);
            }
            return(_response);
        }
        public clsMensaje updateUsuario(UserRequest request)
        {
            clsMensaje response = new clsMensaje();

            try
            {
                string             mensaje    = "";
                NapoleonDataAccess controller = new NapoleonDataAccess();
                if (Security.ValidateToken(request.Token, request.intUsuarioID, request.vchUsuario, request.vchPassword))
                {
                    response.valido     = controller.updateUsuario(request.usuario, ref mensaje);
                    response.vchMensaje = mensaje;
                }
            }
            catch (Exception euS)
            {
                throw euS;
            }
            return(response);
        }