Пример #1
0
        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));
            }
        }
Пример #2
0
        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."));
            }
        }
Пример #3
0
        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);
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #8
0
        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());
            }
        }
Пример #9
0
        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}]");
            }
        }
Пример #12
0
        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");
 }