Ejemplo n.º 1
0
        public async Task <ActionResult <object> > organizar([FromBody] Organizable o)
        {
            using (var dbContextTransaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var l = await _bodega4.organizar(o);

                    var largo = l.ToArray().Length;

                    l.Select(p =>
                    {
                        _context.Movimientos.Add(p);
                        _context.SaveChanges();
                        return(1);
                    })
                    .Aggregate((t, n) => {
                        t = t + n;
                        if (t == largo)
                        {
                            dbContextTransaction.Commit();
                        }
                        return(t);
                    });
                }
                catch (Exception e)
                {
                    dbContextTransaction.Rollback();
                    return(StatusCode(500, new { mensaje = "Ocurrió un error al realizar el movimiento: " + e.Message, Status = "ERR" }));
                }
                return(Ok(new { mensaje = "El tunel ha sido organizado", Status = "OK" }));
            }
        }
Ejemplo n.º 2
0
        public ActionResult migracion([FromBody] migrationModel[] listado)
        {
            _context.Movimientos.RemoveRange(_context.Movimientos);

            _context.Paquetes.RemoveRange(_context.Paquetes);

            //por cada paquete

            int l = listado.Length;
            int c = 0;

            foreach (migrationModel item in listado)
            {
                c++;
                Movimientos ingreso = new Movimientos();
                ingreso.Paquetes        = new Paquetes();
                ingreso.Paquetes.Lote   = item.lote;
                ingreso.Paquetes.Bultos = item.bultos;

                Console.WriteLine(c + "/" + l + " pr: " + item.codigo_producto);
                ingreso.Paquetes.Producto = _context.Productos.First(p => p.CodigoProvidencia == item.codigo_producto);


                ingreso.Paquetes.Cliente = _context.Clientes.First(c => c.Nombre == item.cliente);

                _context.Paquetes.Add(ingreso.Paquetes);

                ingreso.Fecha    = item.fechaingreso;
                ingreso.Nivel    = item.nivel;
                ingreso.Columna  = item.columna;
                ingreso.Posicion = item.posicion;
                ingreso.Sentido  = 1;

                ingreso.Usuarios = _context.Usuarios.Find(16);

                _context.Movimientos.Add(ingreso);

                _context.SaveChanges();
            }

            return(Ok(new { largo = listado.Length }));
        }