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