Exemplo n.º 1
0
        public static void Comprar()
        {
            PedidoBC  objPedidoBC  = new PedidoBC();
            CarritoBC objCarritoBC = new CarritoBC();
            MailBC    objMailBC    = new MailBC();

            try
            {
                CarritoBE objCarritoBE = (CarritoBE)HttpContext.Current.Session["CARRITO"];
                UsuarioBE objUsuarioBE = (UsuarioBE)HttpContext.Current.Session["USUARIO"];

                PedidoBE objPedidoBE = LlenarPedido();

                objPedidoBE.Id_Pedido = objPedidoBC.Insert_Pedido_Completo(objPedidoBE);
                objCarritoBC.Delete_Carrito_Total(objUsuarioBE.Id_Usuario);

                objMailBC.Confirmar_Compra(objUsuarioBE, objCarritoBE);

                HttpContext.Current.Session["CARRITO"] = new CarritoBE();
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 2
0
        public static decimal QuitarCarrito(int id_producto, string idAtributos)
        {
            CarritoBE objCarritoBE = null;
            List <Carrito_ProductoBE> lstCarrito_ProductoBE = null;
            Carrito_ProductoBE        objCarrito_ProductoBE = new Carrito_ProductoBE();

            try
            {
                objCarritoBE = (CarritoBE)HttpContext.Current.Session["CARRITO"];

                lstCarrito_ProductoBE = (from c in objCarritoBE.lstCarrito_ProductoBE
                                         where c.Id_Producto == Convert.ToInt32(id_producto)
                                         select c).ToList();

                foreach (Carrito_ProductoBE cp in lstCarrito_ProductoBE)
                {
                    string[] atributos = idAtributos.Split('_');

                    int atributosEliminados = 0;

                    foreach (Carrito_Producto_Elemento_AtributoBE cpe in cp.lstCarrito_Producto_Elemento_AtributoBE)
                    {
                        foreach (string s in atributos)
                        {
                            if (!string.IsNullOrEmpty(s) && cpe.Id_Elemento_Atributo == Convert.ToInt32(s))
                            {
                                atributosEliminados++;
                                break;
                            }
                        }
                    }

                    if (atributosEliminados == atributos.Length - 1)
                    {
                        objCarrito_ProductoBE = cp;
                        break;
                    }
                }

                if (objCarritoBE.lstCarrito_ProductoBE.Count == 1)
                {
                    objCarritoBE = new CarritoBE();

                    if (HttpContext.Current.Session["USUARIO"] != null)
                    {
                        CarritoBC objCarritoBC = new CarritoBC();
                        objCarritoBC.Delete_Carrito_Total(((UsuarioBE)HttpContext.Current.Session["USUARIO"]).Id_Usuario);
                    }
                }
                else
                {
                    objCarritoBE.lstCarrito_ProductoBE.Remove(objCarrito_ProductoBE);

                    objCarritoBE.Total -= objCarrito_ProductoBE.Precio * objCarrito_ProductoBE.Cantidad;

                    if (HttpContext.Current.Session["USUARIO"] != null)
                    {
                        Carrito_ProductoBC objCarrito_ProductoBC = new Carrito_ProductoBC();
                        objCarrito_ProductoBC.Delete_Carrito_Producto(objCarrito_ProductoBE.Id_Carrito_Producto);
                    }
                }

                HttpContext.Current.Session["CARRITO"] = objCarritoBE;

                return(objCarrito_ProductoBE.Precio * objCarrito_ProductoBE.Cantidad);
            }
            catch (Exception ex)
            {
                LogFile.EscribirLog(ex);
                throw;
            }
        }