public Comprobante ConsumirServicioIF(string tipoDoc, string numDoc, string password, int discountValue) { Comprobante aprobacion = null; using (var client = new HttpClient()) { InfoPago busqueda = new InfoPago(tipoDoc, numDoc, password, discountValue); var myContent = JsonConvert.SerializeObject(busqueda); var buffer = System.Text.Encoding.UTF8.GetBytes(myContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var responseTask = client.PostAsync(Baseurl, byteContent); responseTask.Wait(); var result = responseTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsStringAsync().Result; aprobacion = JsonConvert.DeserializeObject <Comprobante>(readTask); } else { aprobacion = null; } } return(aprobacion); }
public IHttpActionResult PostInfoPago(InfoPago infoPago) { Comprobante resultado = facade.validar(infoPago); if (resultado != null) { return(Ok(resultado)); } return(NotFound()); }
public Comprobante validar(InfoPago infoPago) { InfoPago result = (from p in db.InfoPago where p.tipoDocumento == infoPago.tipoDocumento && p.numDocumento == infoPago.numDocumento && p.contraseña == infoPago.contraseña && p.monto >= infoPago.monto select p).SingleOrDefault(); if (result != default(InfoPago)) { result.monto -= infoPago.monto; db.SaveChanges(); return(new Comprobante()); } return(null); }