public void Ejecutar(NVEntities db) { // throw new NotImplementedException("No se puede finalizar aún"); try { db.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.InnerException != null ? ex.Message + "\n" + ex.InnerException.Message : ex.Message); } }
public static void Persistir(NVEntities db, List<UbicacionPicking> ubicaciones) { // Esta es la parte que no vamos a poder testar /* * Si Id = 0 hay que insertar una nueva db.Ubicaciones.add, copiando pasillo, fila, columna de CopiaId * Si cantidad es distinto a cantidadNueva hay que modificar y poner estado nuevo, NºOrdenLinPedidoVta * y PedidoVta (ojo que el pedido hay que leerlo de db.LinPedidoVtas). * */ foreach(UbicacionPicking ubicacion in ubicaciones) { Ubicacion ubicacionOriginal; // Error cuando llega con Id == 0 y CopiaId == 0. Escribir test que falle y poner // un if (ubicacion.Id == 0 && ubicacion.CopiaId == 0), que inserte la ubicación. // Lo que está ahora irá en el else de ese if if (ubicacion.Id == 0) // && ubicacion.CopiaId != 0 { ubicacionOriginal = db.Ubicaciones.SingleOrDefault(u => u.NºOrden == ubicacion.CopiaId); Ubicacion nuevaUbicacion = new Ubicacion { Almacén = ubicacionOriginal.Almacén, Cantidad = ubicacion.CantidadNueva, Empresa = ubicacionOriginal.Empresa, Estado = ubicacion.EstadoNuevo, Número = ubicacion.Producto }; if (ubicacion.EstadoNuevo != Constantes.Ubicaciones.PENDIENTE_UBICAR) { nuevaUbicacion.Pasillo = ubicacionOriginal.Pasillo; nuevaUbicacion.Fila = ubicacionOriginal.Fila; nuevaUbicacion.Columna = ubicacionOriginal.Columna; }; db.Ubicaciones.Add(nuevaUbicacion); } else if (ubicacion.Cantidad != ubicacion.CantidadNueva) { ubicacionOriginal = db.Ubicaciones.SingleOrDefault(u => u.NºOrden == ubicacion.Id); LinPedidoVta lineaVenta = db.LinPedidoVtas.SingleOrDefault(l => l.Nº_Orden == ubicacion.LineaPedidoVentaId); if (lineaVenta != null) { ubicacionOriginal.PedidoVta = lineaVenta.Número; ubicacionOriginal.NºOrdenVta = ubicacion.LineaPedidoVentaId; } ubicacionOriginal.Estado = ubicacion.EstadoNuevo; ubicacionOriginal.Cantidad = ubicacion.CantidadNueva; } } }
public GeneradorPendientes(NVEntities db, List<PedidoPicking> pedidos) { this.db = db; this.pedidos = pedidos; }
public GeneradorPortes(NVEntities db, PedidoPicking pedido) { this.db = db; this.pedido = pedido; }