// // GET: /Compra/ public ActionResult Index() { List <CarritoCompra> listaCarritoCompras = null; listaCarritoCompras = (List <CarritoCompra>)Session["Carrito"]; Decimal dMonto = listaCarritoCompras.Sum(P => P.TotalProducto); Decimal dCostoEnvio = 0; //Verificar si Usuario seleccion Envio de Articulos if (Session["Envio"] != null) { EnvioCourier objEnvCourier = new EnvioCourier(); objEnvCourier = (EnvioCourier)Session["Envio"]; dCostoEnvio = objEnvCourier.MontoEnvio; dMonto = dMonto + dCostoEnvio; ViewData["CostoEnvio"] = dCostoEnvio; } Session["MontoCarritoTotal"] = dMonto; ViewData["MontoCarrito"] = dMonto; return(View()); }
public ActionResult Create(FormCollection fc) { try { if (fc["btnRegistrar"] != null) { //Preparar datos para webservice rest List <CarritoCompra> listaCarritoCompras = null; listaCarritoCompras = (List <CarritoCompra>)Session["Carrito"]; string strDatos = string.Empty; for (int i = 0; i < listaCarritoCompras.Count; i++) { // strDatos=string.Format("cantidad[]={0}&peso[]={1}&Pk_eUbigeo={2}&",listaCarritoCompras[i].CantProducto,listaCarritoCompras[i].Peso) strDatos = strDatos + string.Format("cantidad[]={0}&peso[]={1}&", listaCarritoCompras[i].CantProducto, listaCarritoCompras[i].Peso); //listaCarritoCompras[i].CantProducto = int.Parse(Cantidades[i].ToString()); //listaCarritoCompras[i].TotalProducto = decimal.Parse(TotalesProducto[i].ToString()); } //Obteniendo IdUbigeo // Ubigeo ubigeos = from c in _data.Ubigeo group c by new { c.,c.codDepartamento, c.codProvincia, c.codDistrito } into grp where grp.Key.codDepartamento == Request.Form["codDepartamento"].ToString() select new { grp.Key.codDepartamento, grp.Key.departamento, grp.Key.codProvincia, grp.Key.provincia }; //Agregando ubigeo strDatos = strDatos + string.Format("Pk_eUbigeo={0}&", 1); //Aka llamado a webservice courier PHP // Create a request using a URL that can receive a post. //WebRequest request = WebRequest.Create("http://192.168.108.147/rest/costo"); WebRequest request = WebRequest.Create(" http://rest.easyweb-development.ch/costo"); // Set the Method property of the request to POST. request.Method = "POST"; // Create POST data and convert it to a byte array. //string postData = "cantidad[]=30,peso[]=20,Pk_eUbigeo=1"; // string postData = "cantidad[]=5&cantidad[]=6&peso[]=1&peso[]=1&Pk_eUbigeo=1&"; string postData = strDatos; byte[] byteArray = Encoding.UTF8.GetBytes(postData); // Set the ContentType property of the WebRequest. request.ContentType = "application/x-www-form-urlencoded"; // Set the ContentLength property of the WebRequest. request.ContentLength = byteArray.Length; // Get the request stream. Stream dataStream = request.GetRequestStream(); // Write the data to the request stream. dataStream.Write(byteArray, 0, byteArray.Length); // Close the Stream object. dataStream.Close(); // Get the response. WebResponse response = request.GetResponse(); // Display the status. Console.WriteLine(((HttpWebResponse)response).StatusDescription); // Get the stream containing content returned by the server. dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream); // Read the content. string responseFromServer = reader.ReadToEnd(); // Display the content. //Console.WriteLine(responseFromServer); // Clean up the streams. reader.Close(); dataStream.Close(); response.Close(); JObject o = JObject.Parse(responseFromServer); string MontoEnvio = o["costo"].ToString(); // Insertar en Envio EnvioCourier objEnvCourier = new EnvioCourier(); objEnvCourier.IdEnvio = 1; objEnvCourier.codDepartamento = Request.Form["codDepartamento"].ToString(); objEnvCourier.codProvincia = Request.Form["codProvincia"].ToString(); objEnvCourier.codDistrito = Request.Form["codDistrito"].ToString(); objEnvCourier.Direccion = Request.Form["Direccion"].ToString(); List <Usuario> listaUsuarios = null; if (Session["UserLogeado"] != null) { listaUsuarios = (List <Usuario>)Session["UserLogeado"]; if (listaUsuarios.Count > 0) { objEnvCourier.IdCliente = listaUsuarios[0].IdCliente; } } objEnvCourier.MontoEnvio = decimal.Parse(MontoEnvio); Session["Envio"] = objEnvCourier; } else if (fc["btnRegistrar"] != null) { } return(RedirectToAction("Index", "Compra")); } catch { return(View()); } }