Beispiel #1
0
        public ActionResult Editar(int id)
        {
            using (var db = new AlmacenContexto())
            {
                try
                {
                    despacho des = db.despacho.Find(id);
                    return(View(des));
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("Error", ex);

                    return(View());
                }
            }
        }
Beispiel #2
0
        public ActionResult Agregar(despacho d)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                using (AlmacenContexto db = new AlmacenContexto())
                {
                    productos p = db.productos.Find(d.idproducto);

                    if (d.accion == "Entrada")
                    {
                        p.existencia += d.cant_producto;
                    }
                    else if (d.accion == "Salida")
                    {
                        if (p.existencia > d.cant_producto)
                        {
                            p.existencia -= d.cant_producto;
                        }
                        else
                        {
                            throw new Exception();
                        }
                    }

                    db.despacho.Add(d);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error al agregar", ex);

                return(View());
            }
        }
Beispiel #3
0
        public ActionResult Eliminar(int id)
        {
            using (var db = new AlmacenContexto())
            {
                despacho  des = db.despacho.Find(id);
                productos p   = db.productos.Find(des.idproducto);

                if (des.accion == "Entrada")
                {
                    p.existencia -= des.cant_producto;
                }
                else if (des.accion == "Salida")
                {
                    p.existencia += des.cant_producto;
                }

                db.despacho.Remove(des);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
        }
Beispiel #4
0
        public ActionResult Editar(despacho d)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View());
                }

                using (var db = new AlmacenContexto())
                {
                    despacho de = db.despacho.Find(d.id);

                    productos p  = db.productos.Find(d.idproducto);
                    productos pd = db.productos.Find(d.idproducto);

                    if (de.idproducto == d.idproducto)
                    {
                        if (de.accion == "Entrada" && d.accion == "Entrada")
                        {
                            if (de.cant_producto > d.cant_producto)
                            {
                                p.existencia -= de.cant_producto - d.cant_producto;
                            }
                            else if (de.cant_producto < d.cant_producto)
                            {
                                p.existencia += d.cant_producto - de.cant_producto;
                            }
                            else if (de.cant_producto == d.cant_producto)
                            {
                            }
                        }
                        else if (de.accion == "Entrada" && d.accion == "Salida")
                        {
                            if (p.existencia >= (de.cant_producto - d.cant_producto))
                            {
                                p.existencia -= de.cant_producto + d.cant_producto;
                            }
                        }
                        else if (de.accion == "Salida" && d.accion == "Salida")
                        {
                            if (de.cant_producto > d.cant_producto)
                            {
                                p.existencia += de.cant_producto - d.cant_producto;
                            }
                            else if (de.cant_producto < d.cant_producto)
                            {
                                if (p.existencia >= d.cant_producto)
                                {
                                    p.existencia -= d.cant_producto - de.cant_producto;
                                }
                                else
                                {
                                    throw new Exception();
                                }
                            }
                            else if (de.cant_producto == d.cant_producto)
                            {
                            }
                        }
                        else if (de.accion == "Salida" && d.accion == "Entrada")
                        {
                            p.existencia += de.cant_producto + d.cant_producto;
                        }
                    }
                    else if (de.idproducto != d.idproducto)
                    {
                        if (de.accion == "Entrada" && d.accion == "Entrada")
                        {
                            pd.existencia -= de.cant_producto;
                            p.existencia  += d.cant_producto;
                        }
                        else if (de.accion == "Entrada" && d.accion == "Salida")
                        {
                            pd.existencia -= de.cant_producto;
                            p.existencia  -= d.cant_producto;
                        }
                        else if (de.accion == "Salida" && d.accion == "Salida")
                        {
                            pd.existencia += de.cant_producto;
                            p.existencia  -= d.cant_producto;
                        }
                        else if (de.accion == "Salida" && d.accion == "Entrada")
                        {
                            pd.existencia += de.cant_producto;
                            p.existencia  += d.cant_producto;
                        }
                    }



                    despacho des = db.despacho.Find(d.id);
                    des.accion        = d.accion;
                    des.fecha         = d.fecha;
                    des.cant_producto = d.cant_producto;
                    des.detalle       = d.detalle;
                    des.contacto      = d.contacto;
                    des.idcliente     = d.idcliente;
                    des.idproducto    = d.idproducto;

                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", ex);

                return(View());
            }
        }