public async Task <object> ObtenerPersona(string idTipo, string idPersona) { try { return(await _cardHolder_REP_LOCAL.ObtenerPersona(idPersona, idTipo)); } catch (Exception ex) { return(BadRequest("error: " + ex.Message + " " + ex.StackTrace + " " + ex.InnerException)); } }
public async Task <object> GetStatusAsync() { try { var data = await _cardHolder_REP_LOCAL.ObtenerPersona("heartbeat", ""); object result = new { sucess = true, status = 200, data = "LenelServices se encuentra en linea" }; return(result); } catch (Exception ex) { if (ex.Message == "no se encontró una persona registrada con esos datos") { object result = new { sucess = true, status = 200, data = "LenelServices se encuentra en linea" }; return(result); } else { object result = new { sucess = false, status = 400, data = "La conexión con DataConduIT fallo" }; return(BadRequest(result)); } } }
public async Task <object> AutorizarSalida([FromBody] SendEvent_DTO evento) { try { //Obtiene la información de la persona que esta ingresando int badgekey = 0; string badgeID = ""; GetCardHolder_DTO persona = await _cardHolder_REP_LOCAL.ObtenerPersona(evento.documento, ""); //obtiene un badgekey de la persona foreach (GetBadge_DTO badge in persona.Badges) { if (badge.estado == "1") { badgekey = badge.badgekey; badgeID = badge.badgeID; } } if (badgekey == 0) { throw new Exception("no se encontro un badge activo"); } EvaluacionEvento_DTO eval = new EvaluacionEvento_DTO(); SendEvent_DTO acceso = new SendEvent_DTO { source = evento.source, device = evento.device, subdevice = evento.subdevice }; ReaderPath_DTO lectora = new ReaderPath_DTO { panelID = evento.panelId, readerID = evento.readerId, }; if (evento.documento != null) { eval = GetDescripcion(tipoEvento.SB, evento); } else { eval = GetDescripcion(tipoEvento.SBNI, evento); } evento.description = eval.descripcionEvento; //ENVIO DE EVENTO A LA PGR bool enviado = await _reader_REP_LOCAL.EnviarEventoGenerico(evento); //EVENTO REGISTRO DE MARCACION Y ACCION acceso.isAccessGranted = true; acceso.isAccessDeny = false; acceso.badgeId = int.Parse(badgeID); await _reader_REP_LOCAL.EnviarEventoGenerico(acceso); await _reader_REP_LOCAL.AbrirPuerta(lectora); if (enviado) { return(eval); } else { throw new Exception("No se pudo enviar el evento"); } } catch (Exception ex) { object result = new { sucess = false, status = 400, data = ex.Message }; return(BadRequest(result)); } }