コード例 #1
0
        public static int getIdUserSession()
        {
            UsuarioViewModels   usuario2 = (UsuarioViewModels)JwtManager.obtenerSession <UsuarioViewModels>("Usuario");
            FuncionesViewModels decode   = new FuncionesViewModels();

            return(int.Parse(decode.Base64_Decode(usuario2.idUsuario)));
        }
コード例 #2
0
        public async Task <IHttpActionResult> registro(CourseraViewModels coursera)
        {
            coursera.id = JwtManager.getIdUserSession();
            var mem     = new FuncionesViewModels();
            var mensaje = await mem.RegistroCousera(coursera);

            return(Ok(mensaje));
        }
コード例 #3
0
        //private RepositoryGeneral _ir = new RepositoryGeneral();

        private static bool TryRetrieveToken(HttpRequestMessage request, out string token)
        {
            RepositoryGeneral general = new RepositoryGeneral();
            var usaSesionUsuario      = general.ObtenerRegistro <Parametros>(z => z.idParametro == 13);

            token = null;
            IEnumerable <string> authzHeaders;

            if (!request.Headers.TryGetValues("Authorization", out authzHeaders) || authzHeaders.Count() > 1)
            {
                return(false);
            }
            var bearerToken = authzHeaders.ElementAt(0);

            token = bearerToken.StartsWith("Bearer ") ? bearerToken.Substring(7) : bearerToken;
            if (usaSesionUsuario.parametroJSON == "0")
            {
                return(true);
            }
            var jwt       = token;
            var handler   = new JwtSecurityTokenHandler();
            var tokenRead = handler.ReadJwtToken(jwt);
            var user      = tokenRead.Claims.FirstOrDefault(z => z.Type == "Usuario");
            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            dynamic j              = jsonSerializer.Deserialize <dynamic>(user.Value);//deserializamos el objeto
            var     fun            = new FuncionesViewModels();
            var     idTransformado = fun.Base64_Decode(j["idUsuario"].ToString());
            int     id             = Convert.ToInt32(idTransformado);

            var userData = general.ObtenerRegistro <UsuarioSesion>(z => z.idUsuario == id && z.vigente == true);

            if (userData != null)
            {
                if (userData.token == token)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
コード例 #4
0
        public async Task <IHttpActionResult> Deletegenda(int id)
        {
            entRespuesta respuesta = new entRespuesta();

            try
            {
                var idUser       = JwtManager.getIdUserSession();
                var agendamiento = await _ir.Find <Agenda>(id);                 //buscamos el agendamiento

                if (agendamiento != null && (agendamiento.idUsuario == idUser)) //si no es null procedemos a dejarlo como no vigente y actualizamos
                {
                    agendamiento.vigente = false;
                    await _ir.Update(agendamiento, id);

                    var    fun     = new FuncionesViewModels();
                    string mensaje = "";
                    if (agendamiento.idCasoMoksys != null)
                    {
                        mensaje = await fun.EliminaMocksys(agendamiento.idCasoMoksys.GetValueOrDefault());
                    }

                    respuesta.mensajeExtra = mensaje;
                    respuesta.codigo       = 0;
                    respuesta.mensaje      = "Agendamiento eliminado";
                    respuesta.data         = id;
                    return(Ok(respuesta));
                }
                else
                {
                    respuesta.codigo  = 1;
                    respuesta.mensaje = "No se ha podido encontrar agendamiento";
                }
                return(Ok(respuesta));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #5
0
        public async Task <IHttpActionResult> InstanfitAutenticacionLink(UserInstafitViewModels user)
        {
            try
            {
                var    idUser = JwtManager.getIdUserSession();
                var    _fun   = new FuncionesViewModels();
                string token  = _fun.ValidarUserInstafit(user);
                string link   = token;
                // Guardamos la url del usuairo en la tabla
                var updateUser = await _ir.GetFirst <Usuario>(z => z.idUsuario == idUser);

                if (updateUser != null)
                {
                    updateUser.instafitUrl = link;
                    await _ir.Update(updateUser, updateUser.idUsuario);
                }
                return(Ok(link));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #6
0
        public async Task <IHttpActionResult> EnvioMensajesAgendar(int id, string metodo)
        {
            entRespuesta respuesta = new entRespuesta();
            var          _fun      = new FuncionesViewModels();

            try
            {
                var idUser       = JwtManager.getIdUserSession();
                var ultimaAgenda = await _ir.FindEspecial <Agenda>(id);//obtenemos el registro insertado

                if (ultimaAgenda != null && (ultimaAgenda.idUsuario == idUser))
                {
                    string fecha        = "";
                    string hora         = "";
                    string accion       = "";
                    int    codSms       = 0;
                    int    IdPlantilla  = 0;
                    int    idAgendaTipo = 0;
                    string contacto     = "";

                    if (metodo == "Agendar")
                    {
                        codSms       = 1;
                        IdPlantilla  = Convert.ToInt32(WebConfigurationManager.AppSettings["PlantillaAgendaInsertar"].ToString());
                        fecha        = Convert.ToDateTime(ultimaAgenda.fechaAgenda).ToString("dd-MM-yyyy");
                        hora         = ultimaAgenda.horaAgenda.GetValueOrDefault().ToString();
                        idAgendaTipo = ultimaAgenda.AgendaTipo.idAgendaTipo;
                        contacto     = ultimaAgenda.contacto;
                        accion       = "Agendamiento realizado";
                    }
                    else if (metodo == "Eliminar")
                    {
                        codSms       = 2;
                        IdPlantilla  = Convert.ToInt32(WebConfigurationManager.AppSettings["PlantillaAgendaEliminar"].ToString());
                        fecha        = Convert.ToDateTime(ultimaAgenda.fechaAgenda).ToString("dd-MM-yyyy");
                        hora         = ultimaAgenda.horaAgenda.GetValueOrDefault().ToString();
                        accion       = "Agendamiento eliminado";
                        idAgendaTipo = ultimaAgenda.AgendaTipo.idAgendaTipo;
                        contacto     = ultimaAgenda.contacto;
                    }
                    else if (metodo == "Modificar")
                    {
                        codSms       = 1;
                        IdPlantilla  = Convert.ToInt32(WebConfigurationManager.AppSettings["PlantillaAgendaModificar"].ToString());
                        fecha        = Convert.ToDateTime(ultimaAgenda.fechaAgenda).ToString("dd-MM-yyyy");
                        hora         = ultimaAgenda.horaAgenda.GetValueOrDefault().ToString();
                        accion       = "Agendamiento modificado";
                        idAgendaTipo = ultimaAgenda.AgendaTipo.idAgendaTipo;
                        contacto     = ultimaAgenda.contacto;
                    }
                    string respuestaDevuelta = await _fun.EnvioSmsAnterior(ultimaAgenda.AgendaTipo.modulo, ultimaAgenda.discriminadorAgendamiento,
                                                                           ultimaAgenda.contacto, codSms, fecha, hora);//enviamos el sms de agendamiento

                    if (!String.IsNullOrEmpty(respuestaDevuelta))
                    {
                        var logError = new ErrorLog();//en caso de error insertamos en la tabla de error
                        logError.errorMensaje = respuestaDevuelta;
                        logError.evento       = accion + "envio sms";
                        await _ir.Add(logError);
                    }
                    var plantilla = await _ir.Find <PlantillaCorreo>(IdPlantilla);                                                                               //obtenemos la plantilla de correo

                    await _fun.EnvioEmail(ultimaAgenda.idUsuario.GetValueOrDefault(), plantilla.Plantilla, accion, codSms, fecha, hora, idAgendaTipo, contacto); //enviamos el email

                    if (codSms == 1)
                    {
                        string observacion = "";
                        switch (ultimaAgenda.discriminadorAgendamiento)
                        {
                        case "1":
                            observacion = "Caso generado desde ecosistemas. Contacto por WhatsApp: " + ultimaAgenda.contacto;
                            break;

                        case "2":
                            observacion = "Caso generado desde ecosistemas. Contacto por Skype: " + ultimaAgenda.contacto;
                            break;

                        case "0":
                            observacion = "Caso generado desde ecosistemas. Contacto por Teléfono: " + ultimaAgenda.contacto;
                            break;
                        }
                        var urlProveedores = "";
                        var idSocio        = _fun.Base64_Encode(WebConfigurationManager.AppSettings["idSocio"].ToString());
                        var idAgenda       = _fun.Base64_Encode(ultimaAgenda.idAgenda.ToString());

                        if (ultimaAgenda.AgendaTipo.modulo == "HojaVida")
                        {
                            urlProveedores = "https://statistics.grupomok.com.co/HojaDeVida/" + idSocio + "/" + idAgenda;
                        }
                        else if (ultimaAgenda.AgendaTipo.modulo == "Entrevista")
                        {
                            urlProveedores = "https://statistics.grupomok.com.co/PruebasPsicotecnicas/" + idSocio + "/" + idAgenda;
                        }

                        observacion = observacion + ". Motivo de consulta: " + ultimaAgenda.AgendaTipo.glosaAgendaTipo + ". " + urlProveedores;

                        var fechaAgenda  = ultimaAgenda.fechaAgenda + ultimaAgenda.horaAgenda;
                        var datosMocksys = await _fun.TraeMocksys(ultimaAgenda.idUsuario.GetValueOrDefault(), ultimaAgenda.idAgendaTipo.GetValueOrDefault(), fechaAgenda.GetValueOrDefault(), ultimaAgenda.AgendaTipo.idContratoMoksys.GetValueOrDefault(), observacion);//insertamos la

                        //data en el servicio de mocksys
                        ultimaAgenda.idCasoMoksys = Convert.ToInt32(datosMocksys.Rows[0].ItemArray[0].ToString()); //obtenemos la ot de mocksys
                        await _ir.Update(ultimaAgenda, ultimaAgenda.idAgenda);                                     //y la insertamos en el agendamiento
                    }
                    respuesta.codigo  = 0;
                    respuesta.mensaje = "Mensajes enviados";
                    return(Ok(respuesta));
                }
                respuesta.codigo  = 1;
                respuesta.mensaje = "Sin agendamiento";
                return(Ok(respuesta));
            }
            catch (Exception ex)
            {
                respuesta.codigo  = 2;
                respuesta.mensaje = ex.Message;
                return(Ok(respuesta));
            }
        }
コード例 #7
0
        public async Task <IHttpActionResult> ObtenerHtml(ExperianViewModels experian)
        {
            try
            {
                experian.documentType = "1";
                experian.password     = WebConfigurationManager.AppSettings["Experian_Password"].ToString();
                experian.username     = WebConfigurationManager.AppSettings["Experian_User"].ToString();
                experian.grant_type   = WebConfigurationManager.AppSettings["Experian_Gran_Type"].ToString();
                var idUser  = JwtManager.getIdUserSession();
                var Usuario = await _ir.Find <Usuario>(idUser);

                var fun   = new FuncionesViewModels();
                var token = "";
                //var respuesta = null;
                var user = await _ir.GetFirst <Usuario>(z => z.identificacion == Usuario.identificacion);

                if (user != null && !String.IsNullOrEmpty(user.responseDataExperian))
                {
                    // Fecha Auxiliar
                    DateTime now = DateTime.Now;
                    // Sumamos 1 mes a la fecha guardada
                    DateTime date = user.fechaAccesoExperian.GetValueOrDefault().AddMonths(1);
                    // Comparamos la fecha modificada, si es menor significa que ya pasó un mes y hay
                    // que hacer la petición si no retorna lo que está almacenado
                    if (date < now)
                    {
                        JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                        string urlFuente = "";
                        string fuente    = "";
                        string color     = "";
                        string enlace    = "";

                        var id       = Convert.ToInt32(WebConfigurationManager.AppSettings["Id_Html"].ToString());
                        var htmlData = WebConfigurationManager.AppSettings["HtmlExperian"];
                        //var htmlData = await _ir.GetFirst<Parametros>(z => z.idParametro == id);
                        if (htmlData != null)
                        {
                            dynamic j = jsonSerializer.Deserialize <dynamic>(htmlData);//deserializamos el objeto
                            urlFuente = j["urlFuente"].ToString();
                            fuente    = j["fuente"].ToString();
                            color     = j["color"].ToString();
                            enlace    = j["enlaceDiagnostico"].ToString();
                        }

                        token = fun.TokenDataExperian(experian);
                        var respuesta = fun.HtmlDataExperian(experian, token);
                        respuesta.scoreHTML = respuesta.scoreHTML.Replace("{{urlFuente}}", urlFuente).Replace("{{fuente}}", fuente).Replace("{{color}}", color)
                                              .Replace("{{enlaceDiagnostico}}", enlace);
                        respuesta.diagnoseHTML = respuesta.diagnoseHTML.Replace("{{urlFuente}}", urlFuente).Replace("{{fuente}}", fuente).Replace("{{color}}", color)
                                                 .Replace("{{enlaceDiagnostico}}", enlace);
                        //object respuesta = null;

                        var t = await _ir.GetFirst <Usuario>(z => z.identificacion == experian.document);

                        if (t != null)
                        {
                            t.responseDataExperian = jsonSerializer.Serialize(respuesta);
                            t.fechaAccesoExperian  = DateTime.Now;
                            await _ir.Update(t, t.idUsuario);
                        }
                        return(Ok(respuesta));
                    }
                    else
                    {
                        var data = JsonConvert.DeserializeObject(user.responseDataExperian);
                        return(Ok(data));
                    }
                }
                else
                {
                    JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                    string urlFuente = "";
                    string fuente    = "";
                    string color     = "";
                    string enlace    = "";

                    var id       = Convert.ToInt32(WebConfigurationManager.AppSettings["Id_Html"].ToString());
                    var htmlData = WebConfigurationManager.AppSettings["HtmlExperian"];
                    if (htmlData != null)
                    {
                        dynamic j = jsonSerializer.Deserialize <dynamic>(htmlData);//deserializamos el objeto
                        urlFuente = j["urlFuente"].ToString();
                        fuente    = j["fuente"].ToString();
                        color     = j["color"].ToString();
                        enlace    = j["enlaceDiagnostico"].ToString();
                    }

                    token = fun.TokenDataExperian(experian);
                    var respuesta = fun.HtmlDataExperian(experian, token);
                    respuesta.scoreHTML = respuesta.scoreHTML.Replace("{{urlFuente}}", urlFuente).Replace("{{fuente}}", fuente).Replace("{{color}}", color)
                                          .Replace("{{enlaceDiagnostico}}", enlace);
                    respuesta.diagnoseHTML = respuesta.diagnoseHTML.Replace("{{urlFuente}}", urlFuente).Replace("{{fuente}}", fuente).Replace("{{color}}", color)
                                             .Replace("{{enlaceDiagnostico}}", enlace);
                    //object respuesta = null;

                    var t = await _ir.GetFirst <Usuario>(z => z.identificacion == experian.document);

                    if (t != null)
                    {
                        t.responseDataExperian = jsonSerializer.Serialize(respuesta);
                        t.fechaAccesoExperian  = DateTime.Now;
                        await _ir.Update(t, t.idUsuario);
                    }
                    return(Ok(respuesta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #8
0
        public async Task <IHttpActionResult> ObtenerDataCredito(ExperianViewModels experian)
        {
            try
            {
                var idUser  = JwtManager.getIdUserSession();
                var Usuario = await _ir.Find <Usuario>(idUser);

                experian.password     = WebConfigurationManager.AppSettings["Experian_Password"].ToString();
                experian.username     = WebConfigurationManager.AppSettings["Experian_User"].ToString();
                experian.grant_type   = WebConfigurationManager.AppSettings["Experian_Gran_Type"].ToString();
                experian.documentType = "1";
                experian.document     = Usuario.identificacion;
                var user = await _ir.GetFirst <Usuario>(z => z.identificacion == experian.document);

                if (user != null && !String.IsNullOrEmpty(user.responseDataExperian))
                {
                    // Fecha Auxiliar
                    DateTime now = DateTime.Now;
                    // Sumamos 1 mes a la fecha guardada
                    DateTime date = user.fechaAccesoExperian.GetValueOrDefault().AddMonths(1);
                    // Comparamos la fecha modificada, si es menor significa que ya pasó un mes y hay
                    // que hacer la petición si no retorna lo que está almacenado
                    if (date < now)
                    {
                        var fun       = new FuncionesViewModels();
                        var token     = fun.TokenDataExperian(experian);
                        var respuesta = fun.ClienteDataExperian(experian, token);
                        //object respuesta = null;
                        if (respuesta != null)
                        {
                            var t = await _ir.GetFirst <Usuario>(z => z.identificacion == experian.document);

                            if (t != null)
                            {
                                JavaScriptSerializer java = new JavaScriptSerializer();
                                t.responseDataExperian = Convert.ToString(respuesta);
                                t.fechaAccesoExperian  = DateTime.Now;
                                await _ir.Update(t, t.idUsuario);
                            }
                            return(Ok(respuesta));
                        }
                        else
                        {
                            return(Ok("Sin datos para esta identificación"));
                        }
                    }
                    else
                    {
                        var data = JsonConvert.DeserializeObject(user.responseDataExperian);
                        return(Ok(data));
                    }
                }
                else
                {
                    var fun       = new FuncionesViewModels();
                    var token     = fun.TokenDataExperian(experian);
                    var respuesta = fun.ClienteDataExperian(experian, token);
                    //object respuesta = null;
                    if (respuesta != null)
                    {
                        var t = await _ir.GetFirst <Usuario>(z => z.identificacion == experian.document);

                        if (t != null)
                        {
                            JavaScriptSerializer java = new JavaScriptSerializer();
                            t.responseDataExperian = Convert.ToString(respuesta);
                            t.fechaAccesoExperian  = DateTime.Now;
                            await _ir.Update(t, t.idUsuario);
                        }
                        return(Ok(respuesta));
                    }
                    else
                    {
                        return(Ok("Sin datos para esta identificación"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }