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