Ejemplo n.º 1
0
        public async Task <IActionResult> Create([Bind("Id,Nombre,NumGuia,Patente,Transporte,Conductor,RutConductor,Fecha,Temperatura, NumSello,PesoGuia")] Cliente cliente)
        {
            if (ModelState.IsValid)
            {
                _context.Add(cliente);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(cliente));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("Producto,TipoProducto,UnidadSoportante,CantidadUS,Envase,KgNeto,IdCliente")] Carga carga)
        {
            if (ModelState.IsValid)
            {
                _context.Add(carga);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "Clientes"));
            }
            return(View(carga));
        }
        public async Task <IActionResult> Create([Bind("IdCarga,Producto,Envase,CantidadEnvases,KgEnvase,FolioExterno")] DetalleCarga detalleCarga)
        {
            var carga      = _context.Carga.Where(m => m.Id == detalleCarga.IdCarga).FirstOrDefault();
            int cantidadUS = Convert.ToInt32(carga.CantidadUS);

            var detallesCarga = _context.DetalleCarga.Where(dc => dc.IdCarga == carga.Id).ToList();

            int cantDetalle = detallesCarga.Capacity;

            if (cantidadUS > cantDetalle)
            {
                if (ModelState.IsValid)
                {
                    _context.Add(detalleCarga);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction("Index", "Clientes"));
                }
            }
            return(RedirectToAction("Index", "Clientes"));
        }
        public async Task <IActionResult> Delete(int id)
        {
            var lote = await _context.LotesParaDespacho.SingleOrDefaultAsync(m => m.Id == id);

            _context.LotesParaDespacho.Remove(lote);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index", "LotesParaDespachos"));
        }
        public async Task <IActionResult> AddProducto(int id, [Bind("Id,NumGuia,FolioExterno,FolioInterno,Nombre,Envase,CantidadEnvases")] Producto producto)
        {
            if (id != producto.Id)
            {
                return(NotFound());
            }

            var prd = _context.ProductosParaDespacho.SingleOrDefault(m => m.IdProducto == id);

            if (prd == null)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        _context.Database.ExecuteSqlCommand("Insert into ProductosParaDespacho Values(@NumGuia, @FolioExterno, @FolioInterno, @Nombre, @Envase, @CantidadEnvases, @IdProducto)",
                                                            new SqlParameter("NumGuia", producto.NumGuia),
                                                            new SqlParameter("FolioExterno", producto.FolioExterno),
                                                            new SqlParameter("FolioInterno", producto.FolioInterno),
                                                            new SqlParameter("Nombre", producto.Nombre),
                                                            new SqlParameter("Envase", producto.Envase),
                                                            new SqlParameter("CantidadEnvases", producto.CantidadEnvases),
                                                            new SqlParameter("IdProducto", producto.Id)
                                                            );
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!ProductoExists(producto.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> AddCarga(int id, [Bind("Id,Producto,TipoProducto,UnidadSoportante,CantidadUS,Envase,KgNeto,IdCliente")] Carga carga)
        {
            if (id != carga.Id)
            {
                return(NotFound());
            }

            var crg = _context.LotesParaDespacho.SingleOrDefault(m => m.IdCarga == id);

            if (crg == null)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        _context.Database.ExecuteSqlCommand("Insert into LotesParaDespacho Values (@Nombre, @TipoProducto, @Envase, @IdCarga)",
                                                            new SqlParameter("Nombre", carga.Producto),
                                                            new SqlParameter("TipoProducto", carga.TipoProducto),
                                                            new SqlParameter("Envase", carga.Envase),
                                                            new SqlParameter("IdCarga", carga.Id)
                                                            );
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!CargaExists(carga.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction(nameof(Index)));
                }
            }

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Create([Bind("Id, Nombre, Patente, FechaDespacho, Temperatura, NumSello, IdOrden")] ClienteDespacho cliente)
        {
            var  orden           = _context.AsocDespachoProductos.LastOrDefault();
            bool isDespachoLotes = false;

            if (orden.TipoDespacho.ToString().Equals("Despacho Lotes"))
            {
                isDespachoLotes = true;
            }

            cliente.IdOrden = orden.NumOrden;

            if (ModelState.IsValid)
            {
                _context.ClienteDespachos.Add(cliente);
                await _context.SaveChangesAsync();

                var despachos = from AsocDespachoProductos in _context.AsocDespachoProductos
                                join ClienteDespacho in _context.ClienteDespachos on AsocDespachoProductos.NumOrden equals ClienteDespacho.IdOrden
                                select new
                {
                    NumGuia         = AsocDespachoProductos.NumGuia,
                    FolioInterno    = AsocDespachoProductos.FolioInterno,
                    FolioExterno    = AsocDespachoProductos.FolioExterno,
                    NumOrden        = AsocDespachoProductos.NumOrden,
                    Cliente         = ClienteDespacho.Nombre,
                    TipoDespacho    = AsocDespachoProductos.TipoDespacho,
                    Producto        = AsocDespachoProductos.Producto,
                    CantidadEnvases = AsocDespachoProductos.CantidadEnvases
                };


                foreach (var despacho in despachos.ToList())
                {
                    int    NumGuia         = Convert.ToInt32(despacho.NumGuia);
                    int    FolioInterno    = Convert.ToInt32(despacho.FolioInterno);
                    int    FolioExterno    = Convert.ToInt32(despacho.FolioExterno);
                    int    NumOrden        = Convert.ToInt32(despacho.NumOrden);
                    string Cliente         = Convert.ToString(despacho.Cliente);
                    string TipoDespacho    = Convert.ToString(despacho.TipoDespacho);
                    string Producto        = Convert.ToString(despacho.Producto);
                    int    CantidadEnvases = Convert.ToInt32(despacho.CantidadEnvases);

                    _context.Database.ExecuteSqlCommand("INSERT INTO Despacho VALUES (@NumGuia, @FolioInterno, @FolioExterno, @NumOrden, @Cliente," +
                                                        "@TipoDespacho, @Producto, @CantidadEnvases)",
                                                        new SqlParameter("NumGuia", NumGuia),
                                                        new SqlParameter("FolioInterno", FolioInterno),
                                                        new SqlParameter("FolioExterno", FolioExterno),
                                                        new SqlParameter("NumOrden", NumOrden),
                                                        new SqlParameter("Cliente", Cliente),
                                                        new SqlParameter("TipoDespacho", TipoDespacho),
                                                        new SqlParameter("Producto", Producto),
                                                        new SqlParameter("CantidadEnvases", CantidadEnvases)
                                                        );

                    var detalle = _context.DetalleCarga.FirstOrDefault(m => m.Id == FolioInterno);
                    int idCarga = Convert.ToInt32(detalle.IdCarga);

                    await _context.SaveChangesAsync();

                    _context.Database.ExecuteSqlCommand("Delete from ProductosParaDespacho Where FolioInterno = @FolioInterno",
                                                        new SqlParameter("FolioInterno", FolioInterno)
                                                        );

                    _context.Database.ExecuteSqlCommand("Delete from Producto Where FolioInterno = @FolioInterno",
                                                        new SqlParameter("FolioInterno", FolioInterno)
                                                        );

                    _context.Database.ExecuteSqlCommand("Delete from DetalleCarga Where Id = @FolioInterno",
                                                        new SqlParameter("FolioInterno", FolioInterno)
                                                        );


                    var detalles = _context.DetalleCarga.Where(m => m.IdCarga == idCarga).ToList();
                    var carga    = _context.Carga.FirstOrDefault(m => m.Id == idCarga);
                    if (detalles.Count() == 0)
                    {
                        _context.Carga.Remove(carga);
                        await _context.SaveChangesAsync();
                    }

                    await _context.SaveChangesAsync();
                }

                if (isDespachoLotes)
                {
                    var lotes = _context.LotesParaDespacho.ToList();
                    foreach (var lote in lotes)
                    {
                        int idCarga = Convert.ToInt32(lote.IdCarga);

                        _context.LotesParaDespacho.Remove(lote);
                        await _context.SaveChangesAsync();

                        var carga = _context.Carga.SingleOrDefault(m => m.Id == idCarga);
                        _context.Carga.Remove(carga);

                        await _context.SaveChangesAsync();
                    }
                }

                var productos = _context.AsocDespachoProductos.ToList();
                _context.AsocDespachoProductos.RemoveRange(productos);
                await _context.SaveChangesAsync();

                var clientes = _context.ClienteDespachos.ToList();
                _context.ClienteDespachos.RemoveRange(clientes);
                await _context.SaveChangesAsync();
            }

            return(RedirectToAction(nameof(Index)));
        }