public ActionResult CartSummary()
        {
            var cart = CarritoCompras.GetCart(HttpContext);

            ViewData["CartCount"] = cart.GetCount();
            return(PartialView("_CartSummary"));
        }
        /**
         * AgregarItem (): agrega un artículo a la compra
         */
        public void AgregarItem(int productoId)
        {
            // Crear un nuevo artículo para agregar al carrito
            CarritoCompras nuevoItem = new CarritoCompras(productoId);

            // Si este artículo ya existe en lista de artículos, aumente la cantidad
            // De lo contrario, agregue el nuevo elemento a la lista

            if (Items.Exists(x => x.ProductoId == productoId))
            {
                CarritoCompras item = Items.Find(x => x.ProductoId == productoId);
                item.Cantidad++;
                return;
            }
            //Otra opción es recorrer el arreglo
            //foreach (CarritoCompras item in Items)
            //{
            //    if (item.ProductoId==productoId)
            //    {


            //    }
            //}

            nuevoItem.Cantidad = 1;
            Items.Add(nuevoItem);
        }
        /**
         * SetItemCantidad(): cambia la cantidad de un artículo en el carrito
         */
        public void SetItemCantidad(int productoId, int cantidad)
        {
            // Si estamos configurando la cantidad a 0, elimine el artículo por completo
            if (cantidad == 0)
            {
                EliminarItem(productoId);
                return;
            }

            // Encuentra el artículo y actualiza la cantidad
            CarritoCompras actualizarItem = new CarritoCompras(productoId);

            if (Items.Exists(x => x.ProductoId == productoId))
            {
                CarritoCompras item = Items.Find(x => x.ProductoId == productoId);
                item.Cantidad = cantidad;
                return;
            }
            //Otra opción
            //foreach (CarritoCompras item in Items)
            //{
            //    if (item.ProductoId == productoId)
            //    {
            //        item.Cantidad = cantidad;
            //        return;
            //    }
            //}
        }
Example #4
0
        private CarritoCompras CrearOrden()
        {
            CarritoCompras Preorden = new CarritoCompras();

            Preorden.Tipo     = Enum.TiposServicios.Producto;
            Preorden.Id       = int.Parse(Prodcuto.Producto_Id);
            Preorden.Cantidad = int.Parse(this.txtCantidad.Text);
            Preorden.Meses    = 1;
            if (this.FechaInicio != "")
            {
                Preorden.FechaInicio = FechaInicio;
            }
            else
            {
                FechaInicio = dateFormat.ToString((NSDate)DateTime.Now);
            }
            Preorden.FechaInicio   = FechaInicio;
            Preorden.ListaPrecioId = this.Prodcuto.Lista_Precio_Id;
            Preorden.MonedaId      = this.Prodcuto.Moneda_Id;
            Preorden.ImpuestoId    = this.Prodcuto.Impuesto_Id;
            Preorden.DescuentoId   = 0;
            Preorden.TotalPagar    = ((this.Prodcuto.Producto_Precio_Base_Neto) * Convert.ToDouble(txtCantidad.Text)).ToString("C");
            Preorden.Nombre        = this.Prodcuto.Producto_Descripcion;
            return(Preorden);
        }
Example #5
0
 internal void UpdateCell(CarritoCompras carrito)
 {
     StyleHelper.Style(this.vwVistaDetalleVenta.Layer);
     this.lblCantidad.Text       = carrito.Cantidad.ToString();
     this.lblTotalPagar.Text     = carrito.TotalPagar;
     this.lblNombreProducto.Text = carrito.Nombre;
 }
Example #6
0
 /// <summary>
 /// Instancia una venta y llama al metodo correspondiente para serializarla.
 /// </summary>
 /// <param name="cliente"></param>
 private void generarVenta(Cliente cliente)
 {
     if (!serializarVenta(new Venta(CarritoCompras.ListaProductosCarrito, CarritoCompras.GetPrecioTotalAPagar(CarritoCompras.GetPrecioSubTotal(), cliente), cliente)))
     {
         MessageBox.Show("No se pudo serializar la venta", "Error");
     }
 }
Example #7
0
        public ActionResult AddressAndPayment(FormCollection values)
        {
            var order = new Orden();

            TryUpdateModel(order);

            try
            {
                if (string.Equals(values["PromoCode"], PromoCode,
                                  StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(View(order));
                }
                else
                {
                    order.Usuario  = User.Identity.Name;
                    order.DiaOrden = DateTime.Now;


                    db.Orden.Add(order);
                    db.SaveChanges();

                    var carrito = CarritoCompras.GetCart(this.HttpContext);
                    carrito.CreateOrder(order);

                    return(RedirectToAction("Complete",
                                            new { id = order.OrderId }));
                }
            }
            catch
            {
                return(View(order));
            }
        }
Example #8
0
        public void InsertarCarrito()
        {
            int codigocarrito = negPedido.Instancia.Cod_Detalle_Carrito();

            DataTable carrito = new DataTable();

            carrito = (DataTable)Session["pedido"];

            for (int i = 0; i < carrito.Rows.Count; i++)
            {
                CarritoCompras detallecarrito = new CarritoCompras();

                detallecarrito.Pedi_ID          = codigocarrito;
                detallecarrito.Prod_ID          = Convert.ToInt32(carrito.Rows[i]["ID"].ToString());
                detallecarrito.Carcom_cantidad  = Convert.ToInt32(carrito.Rows[i]["CANTIDAD"].ToString());
                detallecarrito.Carcom_prec_unit = Convert.ToDecimal(carrito.Rows[i]["PRECIO"].ToString());
                detallecarrito.Carcom_total     = Convert.ToDecimal(carrito.Rows[i]["SUBTOTAL"].ToString());
                listacarrito.Add(detallecarrito);
            }
            string rpta = negca.InsertarCarrito(listacarrito);

            if (rpta.Equals("ok"))
            {
                Response.Redirect("Factura.aspx");
            }
        }
Example #9
0
        private CarritoCompras CrearOrden()
        {
            var            Fecha    = dateFormat.ToString((NSDate)DateTime.Now);
            CarritoCompras Preorden = new CarritoCompras();

            Preorden.Tipo     = Enum.TiposServicios.Membresia;
            Preorden.Id       = int.Parse(Membresia.Membresia_Id);
            Preorden.Cantidad = int.Parse(this.txtCantidadMembresias.Text);
            if (Plazo != "")
            {
                Preorden.Meses = int.Parse(this.Plazo.Replace(" MESES", ""));
            }
            else
            {
                Preorden.Meses = 1;
            }
            if (this.FechaInicio != "")
            {
                Preorden.FechaInicio = this.FechaInicio;
            }
            else
            {
                Preorden.FechaInicio = Fecha;
            }
            Preorden.ListaPrecioId = this.Membresia.Lista_Precio_Id;
            Preorden.MonedaId      = this.Membresia.Moneda_Id;
            Preorden.ImpuestoId    = this.Membresia.Impuesto_Id;
            Preorden.DescuentoId   = 0;
            Preorden.TotalPagar    = ((this.Membresia.Membresia_Precio_Base_Neto) * Convert.ToDouble(txtCantidadMembresias.Text) * Preorden.Meses).ToString("C");
            Preorden.Nombre        = this.Membresia.Membresia_Descripcion;
            return(Preorden);
        }
Example #10
0
        /// <summary>
        /// Inicia el proceso de compra.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnComprarHome_Click(object sender, EventArgs e)
        {
            if (CarritoCompras.ListaProductosCarrito.Count > 0)
            {
                if (Validaciones.StockDisponibleParaComprar())
                {
                    CargarDatosCliente seleccionarClienteForm = new CargarDatosCliente();

                    if (seleccionarClienteForm.ShowDialog() == DialogResult.OK)
                    {
                        RestarCantidadProductos();
                        generarVenta(seleccionarClienteForm.Cliente);
                        CarritoCompras.RemoveAllItemsFromShopCar();
                        CargarDataGridViewCarritoCompras();
                        CargaDataGridProductos();
                        MessageBox.Show("¡Gracias por su compra! ", "¡Compra procesada!");
                    }
                    else
                    {
                        MessageBox.Show("No se pudo concretar la compra!", "Operación incompleta");
                    }
                }
                else
                {
                    MessageBox.Show("¡Parece que te emocionaste demasiado!", "¡Saca productos del carrito!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show("Tu carrito esta vacío!", "Carrito vacío", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        //
        // GET: /CarritoCompras/Compra
        public ActionResult Compra()
        {
            var userid = User.Identity.GetUserId();

            RepoDapper EmpRepo = new RepoDapper();

            //ViewBag.TarjetaId = new SelectList(EmpRepo.GetTarjetas(userid), "id", "Numero");
            ViewBag.DireccionID  = new SelectList(EmpRepo.GetDirecciones(userid), "id", "Direccion");
            ViewBag.DireccionID2 = EmpRepo.GetDirecciones(userid);
            ViewBag.TarjetaId2   = EmpRepo.GetTarjetas(userid);
            //ViewBag.PaqueteriaID = new SelectList(EmpRepo.GetEnvios(), "id", "Nombre");

            PaqueteriasContext paqueteriasDB = new PaqueteriasContext();
            List <Paqueterias> p             = paqueteriasDB.Paqueterias.Include(x => x.pqt).Where(t => t.Activo == true).ToList();

            ViewBag.PaqueteriaId = p;

            var cart = CarritoCompras.GetCart(this.HttpContext);

            ViewBag.Total = cart.GetTotal();

            List <Cart> carrito = cart.GetCartItems();

            ViewBag.Carrito      = carrito;
            ViewBag.CarritoTotal = carrito.Count();

            return(View());
        }
Example #12
0
 /// <summary>
 /// Limpia el Carrito de compras.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnResetCar_Click(object sender, EventArgs e)
 {
     if (CarritoCompras.ListaProductosCarrito.Count > 0)
     {
         CarritoCompras.RemoveAllItemsFromShopCar();
         CargarDataGridViewCarritoCompras();
     }
 }
Example #13
0
        partial void btnAñadir_Touch(UIButton sender)
        {
            //var FechaInicio = dateFormat.ToString((NSDate)DateTime.Now);
            CarritoCompras Preorden = new CarritoCompras();

            this.ProductosDelegate.ArticuloSeleccionado(this.CrearOrden());
            this.DismissViewController(true, null);
        }
Example #14
0
 /// <summary>
 /// Carga datos al DataGridView del carrito de compras y configura las columnas a mostrar (Setea null para refrescar).
 /// </summary>
 private void CargarDataGridViewCarritoCompras()
 {
     this.dataGridViewCarrito.DataSource                  = null;
     this.dataGridViewCarrito.DataSource                  = CarritoCompras.ListaProductosCarrito;
     this.dataGridViewCarrito.Columns["Id"].Visible       = false;
     this.dataGridViewCarrito.Columns["Cantidad"].Visible = false;
     this.lblSubTotalCifraHome.Text = Math.Round(CarritoCompras.GetPrecioSubTotal(), 2).ToString();
 }
Example #15
0
 /// <summary>
 /// Instancia ventas con los valores recibidos por parametro.
 /// </summary>
 /// <param name="cliente"></param>
 /// <param name="empleado"></param>
 /// <param name="listaDeProductos"></param>
 private void LoopCargarVentasAutomaticamente(int cantidadDeVentas, int cliente, int empleado, List <Producto> listaDeProductos)
 {
     for (int i = 1; i < cantidadDeVentas; i++)
     {
         listaDeProductos = CargarListaDeProductos(i);
         Comercio.ListaVentas.Add(new Venta(listaDeProductos, Math.Round(CarritoCompras.GetPrecioSubTotal(listaDeProductos), 2), Comercio.GetListaDeClientes()[cliente], Comercio.GetListaDeEmpleados()[empleado]));
     }
 }
        //Eliminar producto del carrito
        public ActionResult RemoveFromCartProducto(int id)
        {
            // Get the cart
            var cart = CarritoCompras.GetCart(HttpContext);

            cart.RemoveFromCartProducto(id);
            // Go back to the main store page for more shopping
            return(RedirectToAction("Index"));
        }
        //Eliminar todos los productos del carrito
        public ActionResult VaciarCarrito()
        {
            // Get the cart
            var cart = CarritoCompras.GetCart(HttpContext);

            cart.EmptyCart();
            // Go back to the main store page for more shopping
            return(RedirectToAction("Index"));
        }
Example #18
0
        /// <summary>
        /// Carga datos al dataGridViewConfirmarCompra y los label del formulario al cargar el formulario llamando a los metodos adecuados.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ConfirmarVentaForm_Load(object sender, EventArgs e)
        {
            CargardataGridViewConfirmarCompra();
            precioTotalAPagar = CarritoCompras.GetPrecioTotalAPagar(CarritoCompras.GetPrecioSubTotal(), SeleccionarClienteForm.ClienteSeleccionado);

            this.lblDescuentoConfirmacion.Text   = Math.Round(CarritoCompras.GetDescuento(CarritoCompras.GetPrecioSubTotal(), SeleccionarClienteForm.ClienteSeleccionado), 2).ToString();
            this.lblPrecioTotalConfirmacion.Text = Math.Round(precioTotalAPagar, 2).ToString();
            this.lblClienteConfirmacion.Text     = SeleccionarClienteForm.ClienteSeleccionado.SayNameLastname(SeleccionarClienteForm.ClienteSeleccionado.Nombre, SeleccionarClienteForm.ClienteSeleccionado.Apellido);
            this.lblEmpleadoConfirmacion.Text    = HomeForm.EmpleadoActual.SayNameLastname(HomeForm.EmpleadoActual.Nombre, HomeForm.EmpleadoActual.Apellido);
        }
Example #19
0
        public void TestPrecioTotalPagarClienteSinDescuento()
        {
            double  subTotal      = 200.30;
            double  totalEsperado = 200.30;
            double  totalRecibido;
            Cliente cliente = new Cliente("Jose", "Perez", 30123123);

            totalRecibido = CarritoCompras.GetPrecioTotalAPagar(subTotal, cliente);

            Assert.AreEqual(totalEsperado, totalRecibido);
        }
Example #20
0
        public void TestPrecioTotalPagarClienteConDescuento()
        {
            double  subTotal      = 100.50;
            double  totalEsperado = 87.435;
            double  totalRecibido;
            Cliente cliente = new Cliente("Jesus", "Ojeda", 30123123);

            totalRecibido = CarritoCompras.GetPrecioTotalAPagar(subTotal, cliente);

            Assert.AreEqual(totalEsperado, totalRecibido);
        }
        public ActionResult AddToCart(int id)
        {
            var addedItem = storeDB.Items
                            .Single(item => item.ItemId == id);

            var carrito = CarritoCompras.GetCart(this.HttpContext);

            carrito.AddToCart(addedItem);


            return(RedirectToAction("Index"));
        }
        // GET: CarritoCompras
        public ActionResult Index()
        {
            var carrito = CarritoCompras.GetCart(this.HttpContext);


            var viewModel = new CarritoComprasModel
            {
                ItemCarrito  = carrito.GetCartItems(),
                CarritoTotal = carrito.GetTotal()
            };

            return(View(viewModel));
        }
Example #23
0
        /// <summary>
        /// Remueve un producto del carrito al hacer doble click sobre el.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridViewCarrito_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            idDoubleClickedRow = ObtenerIdFilaSeleccionadaCarrito(e);

            foreach (Producto producto in Comercio.ListaProductos)
            {
                if (producto.Id.ToString() == idDoubleClickedRow)
                {
                    CarritoCompras.RemoveItemFromShopCar(producto);
                    CargarDataGridViewCarritoCompras();
                    break;
                }
            }
        }
        // GET: /Store/AddToCart/5
        public ActionResult AddToCart(int id)
        {
            // Retrieve the album from the database
            var addedItem = carroDB.Productos
                            .Single(Producto => Producto.ProductoID == id);

            // Add it to the shopping cart
            var cart = CarritoCompras.GetCart(HttpContext);

            cart.AddToCart(addedItem);

            // Go back to the main store page for more shopping
            return(RedirectToAction("Index"));
        }
        // GET: CarritoCompras
        public ActionResult Index()
        {
            var cart = CarritoCompras.GetCart(HttpContext);

            // Set up our ViewModel
            var viewModel = new CarritoComprasViewModels
            {
                CartItems = cart.GetCartItems(),
                CartTotal = cart.GetTotal()
            };

            // Return the view
            return(View(viewModel));
        }
Example #26
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                listaArticulos = (List <Articulo>)Session[Session.SessionID + "listaArticulos"];

                if ((CarritoCompras)Session[Session.SessionID + "CarritoCompras"] == null)
                {
                    Session[Session.SessionID + "CarritoCompras"] = carritoCompras;
                    carritoCompras.ID = "carrito-" + Session.SessionID;
                    carritoCompras    = (CarritoCompras)Session[Session.SessionID + "CarritoCompras"];
                }
                else
                {
                    carritoCompras = (CarritoCompras)Session[Session.SessionID + "CarritoCompras"];
                }
                string idArticulo = Request.QueryString["idsum"];
                if (!IsPostBack)
                {
                    if (carritoCompras != null)
                    {
                        if (idArticulo != null)
                        {
                            AgregarAlCarrito(idArticulo);
                        }
                    }

                    string idEliminar = Request.QueryString["eliminar"];
                    if (idEliminar != null)
                    {
                        carritoCompras.eliminarItem(Convert.ToInt32(idEliminar));
                        Session[Session.SessionID + "CarritoCompras"] = carritoCompras;
                    }

                    cargarRepeater();
                }
            }
            catch (Exception ex)
            {
                Session.Add("Error", ex.ToString());
                Response.Redirect("Error.aspx");
            }
        }
        public ActionResult Compra(Compra compra)
        {
            TryUpdateModel(compra);
            var        userid  = User.Identity.GetUserId();
            RepoDapper EmpRepo = new RepoDapper();

            ViewBag.TarjetaId2 = new SelectList(EmpRepo.GetTarjetas(userid), "id", "Numero");
            if (compra.TarjetaId == 0)
            {
                return(RedirectToAction("AddTarjeta", "Manage"));
            }
            ViewBag.DireccionID  = new SelectList(EmpRepo.GetDirecciones(userid), "id", "Direccion");
            ViewBag.PaqueteriaID = new SelectList(EmpRepo.GetEnvios(), "id", "Nombre", compra.PaqueteriaId);

            PaqueteriasContext paqueteriasDB = new PaqueteriasContext();
            int _PaqueteriasId = paqueteriasDB.Paquete.Where(x => x.Id == compra.PaqueteriaId).Select(x => x.PaqueteriasId).FirstOrDefault();
            int _precioEnvio   = (int)paqueteriasDB.Paquete.Where(x => x.Id == compra.PaqueteriaId).Select(x => x.Precio).FirstOrDefault();

            compra.UserId       = userid;
            compra.FechaCompra  = DateTime.Now;
            compra.PaqueteriaId = _PaqueteriasId;

            var cart      = CarritoCompras.GetCart(this.HttpContext);
            int _subtotal = (int)cart.GetTotal();
            int _total    = _precioEnvio + _subtotal;

            compra.Total = _total;

            try
            {
                carroDB.Compras.Add(compra);
                carroDB.SaveChanges();
                cart.CreateOrder(compra, _precioEnvio);

                return(RedirectToAction("Index", "Compras"));
            }
            catch
            {
                return(View(compra));
            }
        }
Example #28
0
 protected void cargarRepeater()
 {
     try
     {
         carritoCompras = (CarritoCompras)Session["CarritoCompras" + Session.SessionID];
         if (carritoCompras != null)
         {
             repetidorCarrito.DataSource = carritoCompras.listaItems;
             repetidorCarrito.DataBind();
         }
         else
         {
             MensajeCarritoVacio();
         }
     }
     catch (Exception ex)
     {
         Session.Add("Error", ex.ToString());
         Response.Redirect("Error.aspx");
     }
 }
        public async Task <bool> AgregarAlCarrito(int IdUser, int IdProducto)
        {
            bool success = false;

            try
            {
                var model = new CarritoCompras()
                {
                    IdProducto    = IdProducto,
                    IdUsuario     = IdUser,
                    FechaAgregado = DateTime.Now
                };

                context.Entry(model).State = EntityState.Added;
                await context.SaveChangesAsync();

                success = true;
            }
            catch
            {
            }

            return(success);
        }
        public ActionResult RemoverCarrito(int id)
        {
            var carrito = CarritoCompras.GetCart(this.HttpContext);


            string itemName = storeDB.Carrito
                              .Single(Item => Item.RegistroId == id).Item.Titulo;


            int itemCount = carrito.RemoveFromCart(id);


            var results = new EliminarCarritoCompraModel
            {
                Mensaje = Server.HtmlEncode(itemName) +
                          " se ha removido del carrito de compras.",
                CarritoTotal = carrito.GetTotal(),
                CartCount    = carrito.GetCount(),
                ItemCount    = itemCount,
                DeleteId     = id
            };

            return(Json(results));
        }