Example #1
0
        private void ServicioOrdenEntrada_OrdenEntradaModificada(object sender, OrdenModificadaDetalles e)
        {
            foreach (Detalle detalleEntrada in e.Orden.Detalles)
            {
                InventarioProyecto registro = InventarioArchivo.ArticuloEnProyecto(e.Orden.Proyecto.Id, detalleEntrada.Articulo.Id);
                if (registro != null)
                {
                    string[] campos = e.RegistrosModificados.Where(x => Int32.Parse(x[2]) == registro.Articulo.Id).FirstOrDefault();
                    if (campos != null)
                    {
                        registro.Cantidad -= Int32.Parse(campos[3]);
                        registro.Cantidad += detalleEntrada.Cantidad;

                        registro.Total = registro.Cantidad * detalleEntrada.Articulo.Precio;

                        if (registro.Cantidad > 0)
                        {
                            InventarioArchivo.ActualizarCantidad(e.Orden.Proyecto.Id, detalleEntrada.Articulo.Id, registro);
                        }
                        else
                        {
                            InventarioArchivo.EliminarArticuloInventario(registro.Id);
                        }
                    }
                }
            }
        }
Example #2
0
        public List <InventarioProyecto> ObtenerArticulosPorProyecto(int idProyecto)
        {
            List <InventarioProyecto> inventario = InventarioArchivo.ArticulosEnProyecto(idProyecto);

            foreach (InventarioProyecto registro in inventario)
            {
                registro.Articulo = ArticuloArchivo.ObtenerArticulo(registro.Articulo.Id);
            }
            return(inventario);
        }
Example #3
0
        public int ObtenerCantidadArticuloPorProyecto(int idProyecto, int idArticulo)
        {
            InventarioProyecto registro = InventarioArchivo.ArticuloEnProyecto(idProyecto, idArticulo);

            if (registro != null)
            {
                return(registro.Cantidad);
            }
            else
            {
                return(0);
            }
        }
Example #4
0
 private void AumentarInventario(object sender, NuevaOrdenDetalles e)
 {
     foreach (Detalle detalleEntrada in e.Orden.Detalles)
     {
         InventarioProyecto registro = InventarioArchivo.ArticuloEnProyecto(e.Orden.Proyecto.Id, detalleEntrada.Articulo.Id);
         if (registro != null)
         {
             registro.Cantidad += detalleEntrada.Cantidad;
             registro.Total     = registro.Cantidad * detalleEntrada.Articulo.Precio;
             InventarioArchivo.ActualizarCantidad(e.Orden.Proyecto.Id, detalleEntrada.Articulo.Id, registro);
         }
         else
         {
             InventarioArchivo.AgregarArticuloInventario(new InventarioProyecto(new Proyecto(e.Orden.Proyecto.Id), new Articulo(detalleEntrada.Articulo.Id), detalleEntrada.Cantidad, detalleEntrada.Total));
         }
     }
 }
Example #5
0
 private void ReducirInventario(object sender, NuevaOrdenDetalles e)
 {
     foreach (Detalle detalleSalida in e.Orden.Detalles)
     {
         InventarioProyecto registro = InventarioArchivo.ArticuloEnProyecto(e.Orden.Proyecto.Id, detalleSalida.Articulo.Id);
         if (registro != null)
         {
             registro.Cantidad -= detalleSalida.Cantidad;
             registro.Total     = registro.Cantidad * detalleSalida.Articulo.Precio;
             if (registro.Cantidad > 0)
             {
                 InventarioArchivo.ActualizarCantidad(e.Orden.Proyecto.Id, detalleSalida.Articulo.Id, registro);
             }
             else
             {
                 InventarioArchivo.EliminarArticuloInventario(registro.Id);
             }
         }
         else
         {
             throw new Exception("El articulo no existe para el proyecto con id: " + e.Orden.Proyecto.Id);
         }
     }
 }
Example #6
0
 public ServicioInventario()
 {
     InventarioArchivo = new InventarioArchivo();
     ArticuloArchivo   = new ArticuloArchivo();
 }