public static ProductoCarro CrearProductoCarro(int?_idProducto, int _idUsuario, int _cantidad, TiendaOnlineContext _db, bool esServicio)
        {
            Usuario     usuario = _db.Usuarios.Where(u => u.Id == _idUsuario).FirstOrDefault();
            Carrocompra miCarro = usuario.CarroCompra.First();

            ProductoCarro existeProdCarro = null;
            Producto      repuesto        = null;
            Servicio      servicio        = null;

            if (esServicio)
            {
                servicio        = _db.Servicios.Where(p => p.Id == _idProducto).FirstOrDefault();
                existeProdCarro = miCarro.ProductosCarro.Where(pc => pc.Servicio.Nombre == servicio.Nombre).FirstOrDefault();
            }
            else
            {
                repuesto        = _db.Productos.Where(p => p.Id == _idProducto).FirstOrDefault();
                existeProdCarro = miCarro.ProductosCarro.Where(pc => pc.Producto.Nombre == repuesto.Nombre).FirstOrDefault();
            }

            if (existeProdCarro != null)
            {
                existeProdCarro.Cantidad += _cantidad;
                if (esServicio)
                {
                    existeProdCarro.Total = 0; //Se debe Cotizar
                }
                else
                {
                    existeProdCarro.Total = repuesto.Precio * existeProdCarro.Cantidad;
                }

                _db.SaveChanges();

                return(existeProdCarro);
            }
            else
            {
                ProductoCarro productoCarro = new ProductoCarro();
                productoCarro.Cantidad = _cantidad;

                if (esServicio)
                {
                    productoCarro.Total    = 0; //Se debe Cotizar
                    productoCarro.Servicio = servicio;
                }
                else
                {
                    productoCarro.Total    = repuesto.Precio * _cantidad;
                    productoCarro.Producto = repuesto;
                }
                productoCarro.CarroCompra = usuario.CarroCompra.First();

                _db.ProductosCarro.Add(productoCarro);

                _db.SaveChanges();

                return(productoCarro);
            }
        }
예제 #2
0
        public static Carrocompra ActualizarProductoEnCarro(int _idUsuario, int _idProducto, int _cantidad, TiendaOnlineContext _db)
        {
            Usuario     usuario = _db.Usuarios.Where(u => u.Id == _idUsuario).FirstOrDefault();
            Carrocompra miCarro = usuario.CarroCompra.First();

            ProductoCarro prodCarro = miCarro.ProductosCarro.Where(pc => pc.Id == _idProducto).FirstOrDefault();

            prodCarro.Cantidad = _cantidad;
            prodCarro.Total    = prodCarro.Producto.Precio * prodCarro.Cantidad;

            _db.SaveChanges();

            return(miCarro);
        }
예제 #3
0
        public static Carrocompra CrearCarroCompra(int _idUsuario, TiendaOnlineContext _db)
        {
            Usuario usuario = _db.Usuarios.Where(u => u.Id == _idUsuario).FirstOrDefault();

            if (usuario.CarroCompra.Count > 0)
            {
                return(usuario.CarroCompra.First());
            }

            Carrocompra carroCompra = new Carrocompra();

            carroCompra.Total   = 0;
            carroCompra.Usuario = usuario;

            _db.CarrosCompra.Add(carroCompra);
            _db.SaveChanges();

            return(carroCompra);
        }
예제 #4
0
        public static void EliminarTodosLosProductosEnCarro(Usuario _usuario, TiendaOnlineContext _db)
        {
            List <ProductoCarro> productosCarro = _db.ProductosCarro.ToList();

            if (_usuario.CarroCompra.Count == 0)
            {
                return;
            }

            Carrocompra miCarroCompra = _usuario.CarroCompra.First();

            if (productosCarro.Count > 0)
            {
                foreach (var prodCarro in productosCarro)
                {
                    _db.ProductosCarro.Remove(prodCarro);
                }
            }


            _db.SaveChanges();
        }
예제 #5
0
        public static Usuario AgregarCarroCompra(TiendaOnlineContext _db, Usuario _model, Carrocompra _carroCompra)
        {
            Usuario user = _db.Usuarios.Where(u => u.NombreUsuario == _model.NombreUsuario).FirstOrDefault();

            user.CarroCompra.Add(_carroCompra);

            _db.SaveChanges();

            return(user);
        }