public async Task <Response> TienePermisoSwExterno([FromBody] PermisoUsuarioSwExternos permiso) { try { var token = await db.Adsctoken.Where(x => x.AdtoToken == permiso.Token && x.AdtoId == permiso.Id && x.AdpsLogin.ToUpper() == permiso.Usuario.ToUpper() && x.AdtoNombreServicio == permiso.NombreServicio).FirstOrDefaultAsync(); if (token != null) { var servicio = await db.Adscswepwd.Where(x => x.AdpsLogin.ToUpper() == permiso.Usuario.ToUpper() && x.AdseSw == permiso.NombreServicio).FirstOrDefaultAsync(); if (servicio != null) { return(new Response { IsSuccess = true }); } } return(new Response { IsSuccess = false }); } catch (Exception) { return(new Response { IsSuccess = false }); } }
public async Task <JsonResult> ConsumirSWExterno([FromBody] PermisoUsuarioSwExternos objeto) { try { using (HttpClient client = new HttpClient()) { if (objeto != null) { var uriServicio = db.Adscswext.Where(x => x.AdseSw == objeto.NombreServicio).FirstOrDefaultAsync().Result.AdseUri; var eliminado = false; if (objeto.parametros == null) { var respuestaGet = await client.GetAsync(new Uri(uriServicio)); var resultadoGet = await respuestaGet.Content.ReadAsStringAsync(); var respuesta = JsonConvert.DeserializeObject(resultadoGet); eliminado = await EliminarToken(objeto); if (!eliminado) { return(Json(false)); } return(Json(respuesta)); } var request = JsonConvert.SerializeObject(objeto.parametros); var content = new StringContent(request, Encoding.UTF8, "application/json"); var respuestaPost = await client.PostAsync(new Uri(uriServicio), content); var resultadoPost = await respuestaPost.Content.ReadAsStringAsync(); var resultadoPostD = JsonConvert.DeserializeObject(resultadoPost); ///Eliminar Token de la base de datos /// eliminado = await EliminarToken(objeto); if (!eliminado) { return(Json(false)); } return(Json(resultadoPostD)); } } } catch (Exception) { Json(false); } return(Json(false)); }
private async Task <bool> EliminarToken(PermisoUsuarioSwExternos objeto) { try { var token = await db.Adsctoken.Where(x => x.AdtoToken == objeto.Token && x.AdpsLogin.ToUpper() == objeto.Usuario.ToUpper()).FirstOrDefaultAsync(); db.Entry(token).State = EntityState.Deleted; await db.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
public async Task <Response> SalvarTokenSwExternos([FromBody] PermisoUsuarioSwExternos permisoUsuario) { try { var usuario = await db.Adscpassw.Where(x => x.AdpsLogin.ToUpper() == permisoUsuario.Usuario.ToUpper()).FirstOrDefaultAsync(); if (usuario == null) { return(new Response { IsSuccess = false, Message = Mensaje.RegistroNoEncontrado }); } var adsctokenRequest = await db.Adsctoken.Where(x => x.AdpsLogin.ToUpper() == permisoUsuario.Usuario.ToUpper() && x.AdtoNombreServicio == permisoUsuario.NombreServicio).FirstOrDefaultAsync(); if (adsctokenRequest == null) { var adsctoken = new Adsctoken { AdpsLogin = permisoUsuario.Usuario, AdtoNombreServicio = permisoUsuario.NombreServicio, AdtoToken = permisoUsuario.Token, AdtoFecha = DateTime.Now, }; db.Adsctoken.Add(adsctoken); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Resultado = adsctoken, }); } var SeleccionarToken = await db.Adsctoken.Where(x => x.AdtoId == adsctokenRequest.AdtoId).FirstOrDefaultAsync(); db.Adsctoken.Remove(SeleccionarToken); await db.SaveChangesAsync(); var Token = SeleccionarToken; Token.AdtoId = 0; Token.AdtoToken = permisoUsuario.Token; Token.AdtoFecha = DateTime.Now; db.Adsctoken.Add(SeleccionarToken); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Resultado = SeleccionarToken, }); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.SwSeguridad), ExceptionTrace = ex, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), Message = ex.Message, UserName = permisoUsuario.Usuario, }); return(new Response { IsSuccess = false, Message = ex.Message, }); throw; } }