private void saveQueue(Reserva reserva) { try { JavaScriptSerializer js = new JavaScriptSerializer(); string json = js.Serialize(reserva); byte[] data = Encoding.UTF8.GetBytes(json); HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:59131/Mensajes.svc/Mensajes"); req.Method = "POST"; req.ContentLength = data.Length; req.ContentType = "application/json"; var reqStream = req.GetRequestStream(); reqStream.Write(data, 0, data.Length); var res = (HttpWebResponse)req.GetResponse(); StreamReader reader = new StreamReader(res.GetResponseStream()); string horarioObtenidoJson = reader.ReadToEnd(); } catch (WebException e) { HttpWebResponse resError = (HttpWebResponse)e.Response;// StreamReader reader2 = new StreamReader(resError.GetResponseStream()); string resultado = reader2.ReadToEnd(); JavaScriptSerializer js2 = new JavaScriptSerializer(); Error error = js2.Deserialize<Error>(resultado); throw new FaultException<Error>(error, new FaultReason(error.Mensaje)); } }
public string registrarReserva(int codigoEspacio, int cantHoras, string fechaInicio) { Reserva reserva = new Reserva() { CodigoEspacio = codigoEspacio, CantidadHoras = cantHoras, FechaInicio = fechaInicio }; try { JavaScriptSerializer js = new JavaScriptSerializer(); string horarioJson = js.Serialize(reserva); byte[] data = Encoding.UTF8.GetBytes(horarioJson); HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:19528/Reservas.svc/Reservas"); req.Method = "POST"; req.ContentLength = data.Length; req.ContentType = "application/json"; var reqStream = req.GetRequestStream(); reqStream.Write(data, 0, data.Length); var res = (HttpWebResponse)req.GetResponse(); StreamReader reader = new StreamReader(res.GetResponseStream()); string horarioObtenidoJson = reader.ReadToEnd(); return horarioObtenidoJson; } catch (WebException e) { if (e.Status == WebExceptionStatus.ConnectFailure) { saveQueue(reserva); return "La reserva registrada exitosamente"; } else { HttpWebResponse resError = (HttpWebResponse)e.Response;// StreamReader reader2 = new StreamReader(resError.GetResponseStream()); string resultado = reader2.ReadToEnd(); JavaScriptSerializer js2 = new JavaScriptSerializer(); Error error = js2.Deserialize<Error>(resultado); throw new FaultException<Error>(error, new FaultReason(error.Mensaje)); } } }