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);
        }