public async Task <RespuestaDto> ObtenerReporte(string uri) { var peticion = new HttpRequestMessage(HttpMethod.Get, cliente.getURL() + uri); HttpResponseMessage respuesta = await cliente.HacerPeticion(peticion); var result = new RespuestaDto(); if (respuesta.IsSuccessStatusCode) { try { string ruta = obtenerDestino(); verificarExistenciaArchivo(ruta); using (var fs = new FileStream(ruta, FileMode.CreateNew)) { await respuesta.Content.CopyToAsync(fs); } return(devolverRespuesta(200, ruta, false)); } catch (Exception e) { return(devolverRespuesta(402, e.Message, true)); } } else { return(devolverRespuesta(402, respuesta.ReasonPhrase, true)); } }
public IActionResult AlterRespuesta([FromBody] RespuestaDto RespuestaUpdate) { try { if (RespuestaUpdate == null || !_respuestasInfoRepository.ExiteRespuesta(RespuestaUpdate.Id)) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Intenta hacer update y lo comprueba _respuestasInfoRepository.UpdateRespuesta(RespuestaUpdate); if (!_respuestasInfoRepository.SaveChanges()) { _logger.LogCritical("Ocurrio un error al guardar los cambios cuando intentamos actualizar una respuesta con id: " + RespuestaUpdate.Id); return(StatusCode(500, "Ocurrio un problema en la petición.")); } //Si todo salio bien dara un mensaje 200 con todo correcto return(Ok("Actualización correcta.")); } catch (Exception ex) { _logger.LogCritical("Se recogio un error al realizar el update de la respuesta con id " + RespuestaUpdate.Id + ": " + ex); return(StatusCode(500, "Un error ha ocurrido mientras se procesaba su petición.")); } }
public async Task <HttpResponseMessage> DownloadFile(int id) { var result = new RespuestaDto(); string url = "reports/Demo_Studio/Clientes.pdf?Registros=10&Pais=Mexico"; result = await service.ObtenerReporte(url); return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter)); }
//Realiza un update de la respuesta por el id de la respuesta y el estado que se desea cambiar public bool UpdateRespuesta(RespuestaDto Respuesta) { RespuestaEntity respuestaAnterior = _context.Respuestas.Where(r => r.Id == Respuesta.Id).FirstOrDefault(); if (respuestaAnterior != null) { respuestaAnterior.Estado = Respuesta.Estado; respuestaAnterior.Notas = Respuesta.Notas; respuestaAnterior.NotasAdmin = Respuesta.NotasAdmin; return(SaveChanges()); } else { return(false); } }
private RespuestaDto devolverRespuesta(int estado, string datos, bool error) { RespuestaDto respuesta = new RespuestaDto(); if (!error) { respuesta.Status = estado; respuesta.Data = datos; } else { respuesta.Status = estado; respuesta.Data = datos; } return(respuesta); }
public void Post([FromBody] RespuestaDto value) { using (var session = Database.SessionFactory.OpenSession()) { using (var transaction = session.BeginTransaction()) { var respuesta = new Respuesta { Pregunta = session.Load <Pregunta>(value.IdPregunta), Opcion = session.Load <Opcion>(value.IdOpcion), Usuario = value.Usuario }; session.Save(respuesta); transaction.Commit(); } } }
public ActionResult <RespuestaDto> Pagar([FromBody] IDictionary <string, string> value) { _logger.Debug($"[START] PagoAmipass.Pagar"); RespuestaDto resp = new RespuestaDto(); try { // lectura del dictionary string comanda = value["comanda"]; string codigo = value["codigo"]; string monto = value["monto"]; _logger.Debug($"Comanda: {comanda}, código: {codigo}, monto {monto}"); string url; if (_amipassConfig.Value.Enviroment.Equals("STAGING")) { url = _amipassConfig.Value.Url_Test; } else { url = _amipassConfig.Value.Url_Prod; } string authorization = _amipassConfig.Value.Authorization; string codigoLocal = _amipassConfig.Value.CodigoLocal; _logger.Debug($"authorization: {authorization}, codigoLocal: {codigoLocal}, url: {url}"); var respuestaService = _service.Pagar(authorization, codigoLocal, codigo, monto, url); RespuestaMapping.FromRespuestaAmipass(respuestaService, resp); _logger.Debug("[FINISH] PagoAmipass.Pagar: {commanda}"); } catch (Exception ex) { _logger.Error("[EXCEPT] PagoAmipass.Pagar", ex); //throw new Exception("Error el la llamada al servicio. (ver log)"); resp.Estado = false; resp.MensajeError = $"Error en la llamada al servicio. (Error nativo: {ex})"; } return(resp); }
public IActionResult DeleteRespuesta([FromBody] RespuestaDto RespuestaDelete) { //Si los datos son validos los guardara if (RespuestaDelete == null || !_respuestasInfoRepository.ExiteRespuesta(RespuestaDelete.Id)) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Comprueba que se guardo bien y lo envia if (_respuestasInfoRepository.DeleteRespuesta(Mapper.Map <RespuestaEntity>(RespuestaDelete))) { return(Ok("La respuesta fue eliminada correctamente.")); } else { return(BadRequest()); } }
public IActionResult AddRespuesta([FromBody] RespuestaDto RespuestaAdd) { //Si los datos son validos los guardara if (RespuestaAdd == null || _respuestasInfoRepository.ExiteRespuesta(RespuestaAdd.Id)) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Comprueba que se guardo bien y lo envia if (_respuestasInfoRepository.AddRespuesta(Mapper.Map <RespuestaEntity>(RespuestaAdd))) { return(Ok("La respuesta fue creada.")); } else { return(BadRequest()); } }
//Realiza un update de la respuesta por el id de la respuesta y el estado que se desea cambiar public bool UpdateRespuesta(RespuestaDto Respuesta) { RespuestaEntity respuestaAnterior = _context.Respuestas.Where(r => r.Id == Respuesta.Id).FirstOrDefault(); EvaluacionEntity currentEvaluation = _context.Evaluaciones.First(x => x.Id == respuestaAnterior.EvaluacionId); if (respuestaAnterior != null) { respuestaAnterior.Estado = Respuesta.Estado; respuestaAnterior.Notas = Respuesta.Notas; respuestaAnterior.NotasAdmin = Respuesta.NotasAdmin; currentEvaluation.LastQuestionUpdated = respuestaAnterior.PreguntaId; currentEvaluation.Fecha = DateTime.Now; currentEvaluation.UserNombre = Respuesta.UserName; return(SaveChanges()); } else { return(false); } }
public RespuestaDto Pagar(string tokenAutenticacion, string codigoLocal, string codigoQr, string monto, string url = "") { string codigoPromocion = ""; string parametros = $"?NumeroTransaccion={codigoQr}&Monto={monto}&Codlocal={codigoLocal}&CodPromocion={codigoPromocion}"; string urlx; if (url.Equals("")) { urlx = "https://intpay.amipassqa.com/wspay/PAYPAP" + parametros; } else { urlx = url + parametros; } HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(urlx)); request.ContentType = "application/json"; request.Headers["Authorization"] = string.Format("Basic {0}", tokenAutenticacion); string respuesta = ""; try { using (WebResponse response = request.GetResponse()) { using (StreamReader stream = new StreamReader(response.GetResponseStream())) { var content = stream.ReadToEnd(); respuesta = JsonConvert.DeserializeObject <string>(content); } } RespuestaDto resp = JsonConvert.DeserializeObject <RespuestaDto>(respuesta); return(resp); } catch (Exception ex) { throw new Exception($"Exception Plugin Amipass [{ex.Message}]"); } }
public RespuestaDto Pagar(string commerceKey, string codigoQr, string monto, string comanda, string url = "") { string urlx; if (url.Equals("")) { urlx = "http://api.mobile.mundopipol.com:8080/PipolRestoWeb/PipolrestoWebJson/RestoMethods/shellProducts"; } else { urlx = url; } HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(urlx)); var values = new Dictionary <string, string> { { "commerceKey", commerceKey }, { "tokenQR", codigoQr }, { "amount", monto }, { "comanda", comanda } }; try { HttpClient client = new HttpClient(); var content = new FormUrlEncodedContent(values); Console.WriteLine(content.ToString()); var response = client.PostAsync(url, content).Result; var respuesta = response.Content.ReadAsStringAsync().Result; RespuestaDto resp = JsonConvert.DeserializeObject <RespuestaDto>(respuesta); return(resp); } catch (Exception ex) { throw new Exception($"Exception Plugin Pipol [{ex.Message}]"); } }
public void Post([FromBody] RespuestaDto value) { throw new NotImplementedException("Lógica no implementada"); }