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);
                        }
                    }
                }
            }
        }
Beispiel #2
0
 protected void OnOrdenEntradaModificada(OrdenModificadaDetalles e)
 {
     if (OrdenEntradaModificada != null)
     {
         OrdenEntradaModificada(this, e);
     }
 }