Exemplo n.º 1
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));
            }
        }
Exemplo n.º 2
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));
            }
        }