Exemplo n.º 1
0
        public ActionResult EditPackaging(int id)
        {
            CAT_INS_PACK C = db.CAT_INS_PACK.Where(x => x.ID_CAT_INS_PACK == id).FirstOrDefault();

            ViewBag.ID_INSUMO = new SelectList(db.INSUMOes.Where(X => X.ACTIVE == true), "ID_INSUMO", "NOMBRE", C.ID_INSUMO);
            //ViewBag.ID_PACKAGING = new SelectList(db.PACKAGINGs.Where(X => X.ACTIVE == 1), "ID_PACKAGING", "NOMBRE", C.ID_PACKAGING);
            ViewBag.ID_PACKAGING = new SelectList(db.PACKAGINGs, "ID_PACKAGING", "NAME", C.ID_PACKAGING);

            return(PartialView("_editPackaging", C));
        }
Exemplo n.º 2
0
        public ActionResult NewPackaging(int id)
        {
            CAT_INS_PACK pr = new CAT_INS_PACK();

            pr.ID_CATERING       = id;
            ViewBag.ID_INSUMO    = new SelectList(db.INSUMOes, "ID_INSUMO", "NOMBRE");
            ViewBag.ID_PACKAGING = new SelectList(db.PACKAGINGs, "ID_PACKAGING", "NAME");
            return(PartialView("_editPackaging", new CAT_INS_PACK {
                ID_CATERING = id
            }));
        }
Exemplo n.º 3
0
        public ActionResult DeleteCateringPackaging(int id, int ID_CATERING)
        {
            CAT_INS_PACK m = db.CAT_INS_PACK.Find(id);

            m.ACTIVE          = 0;
            db.Entry(m).State = EntityState.Modified;
            db.SaveChanges();

            IEnumerable <CAT_INS_PACK> listaProductos = db.CAT_INS_PACK.Include(x => x.INSUMO).Where(x => x.ID_CATERING == ID_CATERING && x.ACTIVE == 1).ToList();

            return(PartialView("_listaPackaging", listaProductos));
        }
Exemplo n.º 4
0
        public ActionResult EditPackagingP(int ID_CAT_INS_PACK, int QUANTITY, int ID_INSUMO, int ID_CATERING, int ID_PACKAGING)
        {
            CAT_INS_PACK cat = db.CAT_INS_PACK.Where(x => x.ID_CAT_INS_PACK == ID_CAT_INS_PACK).FirstOrDefault();

            //if (cat.ID_INSUMO == 0)
            //{
            //    ViewBag.ID_INSUMO = new SelectList(db.INSUMOes, "ID_INSUMO", "NOMBRE");

            //    return PartialView("_editSupplie", new CATERING_INSUMO { ID_CATERING_INSUMO = ID_CATERING_INSUMO });

            //}
            CAT_INS_PACK cateringInsumo = db.CAT_INS_PACK.Include(x => x.INSUMO).Include(x => x.CATERING).Include(x => x.PACKAGING).Where(x => x.ID_CAT_INS_PACK == ID_CAT_INS_PACK && x.ACTIVE == 1).FirstOrDefault();

            if (cateringInsumo != null)
            {
                cateringInsumo.QUANTITY     = QUANTITY;
                cateringInsumo.ID_INSUMO    = ID_INSUMO;
                cateringInsumo.ID_PACKAGING = ID_PACKAGING;
                db.Entry <CAT_INS_PACK>(cateringInsumo).State = EntityState.Modified;
            }
            else
            {
                CAT_INS_PACK PR = new CAT_INS_PACK
                {
                    ID_CATERING  = ID_CATERING,
                    QUANTITY     = QUANTITY,
                    ID_INSUMO    = ID_INSUMO,
                    ID_PACKAGING = ID_PACKAGING,
                    ACTIVE       = 1
                };
                db.CAT_INS_PACK.Add(PR);
            }
            db.SaveChanges();
            IEnumerable <CAT_INS_PACK> listaInsumos = db.CAT_INS_PACK.Include(x => x.INSUMO).Include(x => x.CATERING).Where(x => x.ID_CATERING == ID_CATERING && x.ACTIVE == 1).ToList();

            ViewBag.ID_INSUMO    = new SelectList(db.INSUMOes, "ID_INSUMO", "NOMBRE");
            ViewBag.ID_PACKAGING = new SelectList(db.PACKAGINGs, "ID_PACKAGING", "NAME");

            return(PartialView("_listaPackaging", listaInsumos));
        }
Exemplo n.º 5
0
        public ActionResult Create([Bind(Include = "ID_CATERING,ARRIVAL_TIME,DEPARTURE_TIME,ID_CLIENT,ID_MENU,AMOUNT_PEOPLE,ADDRESS,EVENT_DATE,NOTES,HAS_PARKING")] CATERING cATERING)
        {
            if (ModelState.IsValid)
            {
                List <PRODUCTO> listaProductos = db.MENU_PRODUCTO.Where(x => x.ID_MENU == cATERING.ID_MENU).Select(x => x.PRODUCTO).ToList();

                List <INSUMO> listaInsumo = db.MENU_INSUMO.Where(x => x.ID_MENU == cATERING.ID_MENU && x.ACTIVE == 1).Select(x => x.INSUMO).ToList();

                List <CAT_INS_PACK> packagingCatering = new List <CAT_INS_PACK>();

                Dictionary <string, int?> listaInsumos = new Dictionary <string, int?>();

                var cantPersonas = cATERING.AMOUNT_PEOPLE;
                cATERING.deleted = 0;


                StringBuilder errorPackaging = new StringBuilder();

                db.CATERINGs.Add(cATERING);


                for (int i = 0; i < cantPersonas; i++)
                {
                    Dictionary <string, int?> listaInsu = new Dictionary <string, int?>();
                    listaInsu = db.MENU_INSUMO.Where(x => x.ID_MENU == cATERING.ID_MENU && x.ACTIVE == 1).Select(x => new { x.INSUMO.NOMBRE, x.QUANTITY }).ToDictionary(t => t.NOMBRE, t => t.QUANTITY);

                    foreach (KeyValuePair <string, int?> list in listaInsu)
                    {
                        if (!listaInsumos.ContainsKey(list.Key))
                        {
                            listaInsumos.Add(list.Key, list.Value);
                        }
                        else
                        {
                            var valorInsumo = listaInsumos.Where(x => x.Key == list.Key).Select(x => x.Value).First();
                            valorInsumo            = valorInsumo + list.Value;
                            listaInsumos[list.Key] = valorInsumo;
                        }
                    }
                }


                //GENERO LISTA PARA INSERTAR LOS INSUMOS.

                var l = listaInsumos;
                var s = (from l_insumo in listaInsumos
                         join ins in db.INSUMOes on l_insumo.Key equals ins.NOMBRE
                         join med in db.MEDIDAs on ins.ID_MEDIDA equals med.ID_MEDIDA
                         select new InsumosViewModel
                {
                    id = ins.ID_INSUMO,
                    nombreInsumo = l_insumo.Key,
                    nombre = med.NOMBRE,
                    quantity = l_insumo.Value
                }).ToList();
                foreach (InsumosViewModel it in s)
                {
                    INSUMO_PACKAGING ip = db.INSUMO_PACKAGING.Where(x => x.ID_INSUMO == it.id && cantPersonas <= x.maxPerson && cantPersonas >= x.minPerson).OrderBy(x => x.QUANTITY).FirstOrDefault();
                    try
                    {
                        var cantPackaging = it.quantity / ip.QUANTITY;
                        if (cantPackaging == 0)
                        {
                            cantPackaging = 1;
                        }
                        db.CAT_INS_PACK.Add(new CAT_INS_PACK
                        {
                            ID_CATERING  = cATERING.ID_CATERING,
                            QUANTITY     = cantPackaging,
                            ID_INSUMO    = it.id,
                            ID_PACKAGING = ip.ID_PACKAGING,
                            ACTIVE       = 1
                        });
                    }
                    catch (Exception ex)
                    {
                        errorPackaging.AppendLine("Id Insumo:" + it.id + " ex: " + ex.InnerException);
                        db.INSUMO_PACKAGING_PENDING.Add(new INSUMO_PACKAGING_PENDING
                        {
                            ACTIVE    = true,
                            ID_INSUMO = it.id,
                            QUANTITY  = it.quantity,
                        });
                    }

                    if (it.id == 39)
                    {
                        double quant = Convert.ToDouble(it.quantity / 2);
                        db.CATERING_INSUMO.Add(new CATERING_INSUMO
                        {
                            ID_CATERING = cATERING.ID_CATERING,
                            ID_INSUMO   = Convert.ToInt16(it.id),
                            QUANTITY    = quant,
                            ACTIVE      = 1
                        });
                    }
                    else
                    {
                        db.CATERING_INSUMO.Add(new CATERING_INSUMO
                        {
                            ID_CATERING = cATERING.ID_CATERING,
                            ID_INSUMO   = Convert.ToInt16(it.id),
                            QUANTITY    = it.quantity,
                            ACTIVE      = 1
                        });
                    }
                }

                //AGREGO INSUMOS EXTRA POR MENU.

                //switch (cATERING.ID_MENU)
                //{
                //    case 1:
                //        break;
                //    case 2:
                //        CATERING_INSUMO CAT = new CATERING_INSUMO
                //        {
                //            ID_INSUMO = 66,
                //            QUANTITY = 500,
                //            ID_CATERING = cATERING.ID_CATERING
                //        };
                //        db.CATERING_INSUMO.Add(CAT);
                //        break;

                //}

                //PREPARO PACKAGING.

                foreach (InsumosViewModel ins in s)
                {
                }
                switch (cATERING.ID_MENU)
                {
                case 1:

                    break;

                case 2:
                    double cateringBox = Convert.ToDouble(cantPersonas) / 10;
                    cateringBox = Math.Round(cateringBox);

                    //Extra Corn Chips.
                    CAT_INS_PACK cornChips = new CAT_INS_PACK
                    {
                        ID_CATERING  = cATERING.ID_CATERING,
                        ID_INSUMO    = 64,
                        QUANTITY     = 1,
                        ID_PACKAGING = 8
                    };
                    //Hot Sauce.
                    CAT_INS_PACK hotSauce = new CAT_INS_PACK
                    {
                        ID_CATERING  = cATERING.ID_CATERING,
                        ID_INSUMO    = 23,
                        QUANTITY     = 1,
                        ID_PACKAGING = 5
                    };
                    //Extra Guacamole
                    CAT_INS_PACK exTraGuacamole = new CAT_INS_PACK
                    {
                        ID_CATERING  = cATERING.ID_CATERING,
                        ID_INSUMO    = 66,
                        QUANTITY     = 1,
                        ID_PACKAGING = 4
                    };
                    //CATERING BOX
                    CAT_INS_PACK catBox = new CAT_INS_PACK
                    {
                        ID_CATERING  = cATERING.ID_CATERING,
                        ID_INSUMO    = 66,
                        QUANTITY     = Convert.ToInt16(cateringBox),
                        ID_PACKAGING = 8
                    };

                    db.CAT_INS_PACK.Add(cornChips);
                    db.CAT_INS_PACK.Add(hotSauce);
                    db.CAT_INS_PACK.Add(exTraGuacamole);
                    db.CAT_INS_PACK.Add(catBox);

                    break;

                case 3:
                    double cornChipsCant = Convert.ToDouble(cantPersonas) / 15;
                    cornChipsCant = Math.Round(cornChipsCant);

                    //Extra Corn Chips.
                    CAT_INS_PACK cornChips2 = new CAT_INS_PACK
                    {
                        ID_CATERING  = cATERING.ID_CATERING,
                        ID_INSUMO    = 64,
                        QUANTITY     = Convert.ToInt16(cornChipsCant),
                        ID_PACKAGING = 8
                    };

                    //BlackBowl
                    CAT_INS_PACK blackBowl = new CAT_INS_PACK
                    {
                        ID_CATERING  = cATERING.ID_CATERING,
                        ID_INSUMO    = 67,
                        QUANTITY     = cantPersonas,
                        ID_PACKAGING = 4
                    };

                    db.CAT_INS_PACK.Add(cornChips2);
                    db.CAT_INS_PACK.Add(blackBowl);

                    break;

                case 4:

                    break;

                case 5:

                    break;

                case 6:

                    break;
                }

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ID_CLIENT = new SelectList(db.CLIENTs, "ID_CLIENT", "NAME", cATERING.ID_CLIENT);
            ViewBag.ID_MENU   = new SelectList(db.MENUs, "ID_MENU", "NOMBRE", cATERING.ID_MENU);
            return(View(cATERING));
        }