Пример #1
0
 /// <summary>
 /// Constructor, instancia los campos de tipo lista.
 /// Asocia el evento de cambios en la tabla de productos para actualizar la lista.
 /// </summary>
 private PetShop()
 {
     this.productos = ProductosDAO.SelectAll();
     ProductosDAO.CambiosAProductos += ActualizarListaProductos;
     this.ventas  = new List <Venta>();
     this.compras = new List <Compra>();
 }
Пример #2
0
 /// <summary>
 /// Agrega un nuevo alimento a la lista, tanto en ejecucion como en la base de datos.
 /// </summary>
 /// <param name="nuevoAlimento"></param>
 /// <returns>retorna un string que informa su la carga se realizó correctamente o no</returns>
 public static string AgregarNuevoAlimento(Alimento nuevoAlimento)
 {
     if (nuevoAlimento + listaAlimentos)
     {
         ProductosDAO.AgregarAlimentoDB(nuevoAlimento);
         return("Producto agregado correctamente");
     }
     return("Error en la carga");
 }
Пример #3
0
 /// <summary>
 /// Agrega una nueva Indumentaria a la lista, tanto en ejecucion como en la base de datos.
 /// </summary>
 /// <param name="nuevaPrenda"></param>
 /// <returns>retorna un string que informa su la carga se realizó correctamente o no</returns>
 public static string AgregarNuevaIndumentaria(Indumentaria nuevaPrenda)
 {
     if (nuevaPrenda + listaIndumentaria)
     {
         ProductosDAO.AgregarIndumentariaDB(nuevaPrenda);
         return("Producto agregado correctamente");
     }
     return("Error en la carga");
 }
Пример #4
0
 /// <summary>
 /// elimina un producto de los productos de la base de datos y actualiza la lista interna
 /// </summary>
 /// <param name="productos">productos a evaluar</param>
 /// <param name="p">producto a quitar</param>
 /// <returns>devuelve productos sin el producto eliminado</returns>
 public static Productos operator -(Productos productos, Producto p)
 {
     if (ProductosDAO.BuscarProductos(p) && productos == p)
     {
         ProductosDAO.Eliminar(p);
         productos.CargarDesdeBd();
     }
     return(productos);
 }
Пример #5
0
        /// <summary>
        /// Carga la lista de empleados desde un archivo Xml, también ejecuta los métodos encargados de obtener las listas de alimentos e Indumentaria de la base de datos.
        /// </summary>
        public static void CargarDatos()
        {
            List <Empleado>        auxList     = new List <Empleado>();
            string                 rutaArchivo = String.Concat(AppDomain.CurrentDomain.BaseDirectory, "Empleados.xml");
            Xml <List <Empleado> > archivoXml  = new Xml <List <Empleado> >();

            archivoXml.Leer(rutaArchivo, out auxList);
            listaEmpleados    = auxList;
            listaAlimentos    = ProductosDAO.ObtenerListaAlimentos();
            listaIndumentaria = ProductosDAO.ObtenerListaIndumentaria();
        }
Пример #6
0
 /// <summary>
 /// descuenta la cantidad pasada por parametros del stock del producto
 /// </summary>
 /// <param name="producto">producto a descontarle stock</param>
 /// <param name="cantidad">cantidad a descontar</param>
 public void SalidaStock(Producto producto, int cantidad)
 {
     try
     {
         ProductosDAO.DescontarDeStock(producto, cantidad);
     }
     catch (CantidadNoDisponibleExcepcion ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
Пример #7
0
 /// <summary>
 /// elimina un producto de los productos de la base de datos y actualiza la lista interna
 /// </summary>
 /// <param name="productos">productos a evaluar</param>
 /// <param name="p">producto a quitar</param>
 /// <returns>devuelve true si lo pudo eliminar, false si no existe</returns>
 public static bool operator -(Productos productos, Producto p)
 {
     try
     {
         ProductosDAO.Eliminar(p);
         productos.CargarDesdeBd();
         return(true);
     }
     catch (ProducInexistenteExcepcion ex)
     {
         return(false);
     }
 }
Пример #8
0
        /// <summary>
        /// publica los datos de los productos
        /// </summary>
        /// <returns>devuelve un string con los datos de los productos</returns>
        public string Mostrar()
        {
            StringBuilder   sb  = new StringBuilder();
            List <Producto> aux = new List <Producto>();

            aux = ProductosDAO.RecuperarDatos();
            sb.AppendLine("ID    NOMBRE    MARCA    PRECIO    STOCK");
            foreach (Producto p in aux)
            {
                sb.AppendLine(p.MostrarProducto(true));
            }
            return(sb.ToString());
        }
Пример #9
0
 /// <summary>
 /// descuenta la cantidad pasada por parametros del stock del producto
 /// </summary>
 /// <param name="producto">producto a descontarle stock</param>
 /// <param name="cantidad">cantidad a descontar</param>
 public bool SalidaStock(Producto producto, int cantidad)
 {
     try
     {
         ProductosDAO.DescontarDeStock(producto, cantidad);
         this.CargarDesdeBd();
     }
     catch (CantidadNoDisponibleExcepcion ex)
     {
         throw new CantidadNoDisponibleExcepcion();
     }
     return(true);
 }
Пример #10
0
 /// <summary>
 /// guarda un producto en la base de datos
 /// </summary>
 /// <param name="datos">producto a guardar</param>
 /// <returns></returns>
 public bool GuardarEnBd(Producto datos)
 {
     if (!ProductosDAO.BuscarProductos(datos))
     {
         ProductosDAO.Insertar(datos);
         CargarDesdeBd();
         return(true);
     }
     else
     {
         //throw new ProductoDuplicadoExcepcion();
     }
     return(false);
 }
Пример #11
0
 /// <summary>
 /// Actualiza el stock de los productos luego de realizar una compra, tanto en la ejecucion del programa como en la base de datos.
 /// </summary>
 public static void ActualizarStock()
 {
     foreach (ArticuloCompra <Producto> item in CompraEnCurso.Productos)
     {
         if (listaAlimentos.Exists(x => x.Id.Equals(item.IdProducto)))
         {
             Alimento alimentoAux = listaAlimentos.Find(x => x.Id.Equals(item.IdProducto));
             alimentoAux.Stock -= item.Cantidad;
             ProductosDAO.ActualizarStockAlimentoDB(alimentoAux);
         }
         else if (listaIndumentaria.Exists(x => x.Id.Equals(item.IdProducto)))
         {
             Indumentaria prendaAux = listaIndumentaria.Find(x => x.Id.Equals(item.IdProducto));
             prendaAux.Stock -= item.Cantidad;
             ProductosDAO.ActualizarStockIndumentariaDB(prendaAux);
         }
     }
 }
Пример #12
0
        /// <summary>
        /// agrega un producto a la lista si el mismo no se encuentra
        /// </summary>
        /// <param name="productos">lista de productos</param>
        /// <param name="p">producto a agregar</param>
        /// <returns>devuelve el objeto productos</returns>
        public static Productos operator +(Productos productos, Producto p)
        {
            try
            {
                if (productos == p)
                {
                    ProductosDAO.Modificar(p);
                }
                else
                {
                    productos.GuardarEnBd(p);
                }
                productos.CargarDesdeBd();
            }
            catch (ErrorEnBDExcepcion ex)
            {
            }

            return(productos);
        }
Пример #13
0
 /// <summary>
 /// BASE DE DATOS. actualiza la lista de productos en la base de datos.
 /// </summary>
 /// <param name="comando"></param>
 private void ActualizarListaProductos(ComandoBaseDeDatos comando)
 {
     this.Productos = ProductosDAO.SelectAll();
 }
Пример #14
0
 /// <summary>
 /// aumenta el stock de un producto
 /// </summary>
 /// <param name="producto">producto a modificar</param>
 /// <param name="cantidad">cantidad a agregar</param>
 public void IngresoStock(Producto producto, int cantidad)
 {
     ProductosDAO.AgregarStock(producto, cantidad);
     this.CargarDesdeBd();
 }
Пример #15
0
        /// <summary>
        /// busca un producto en BD por id y lo devuelve
        /// </summary>
        /// <param name="num">id del producto a buscar</param>
        /// <returns>devuelve el producto buscado</returns>
        public Producto BuscarEnBd(int num)
        {
            Producto aux = ProductosDAO.ListarProductosPorId(num);

            return(aux);
        }
Пример #16
0
 /// <summary>
 /// carga la lista de productos desde la base de datos
 /// </summary>
 public void CargarDesdeBd()
 {
     this.listaProductos = ProductosDAO.RecuperarDatos();
 }
Пример #17
0
 /// <summary>
 /// aumenta el stock de un producto
 /// </summary>
 /// <param name="producto">producto a modificar</param>
 /// <param name="cantidad">cantidad a agregar</param>
 public void IngresoStock(Producto producto, int cantidad)
 {
     ProductosDAO.AgregarStock(producto, cantidad);
 }