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();
            }
        }
Exemplo n.º 2
0
        //
        // 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();
        }