Exemplo n.º 1
0
        public ActionResult Create(MealItemViewModel mtvms, HttpPostedFileBase[] Photos)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    MealItem mealitem = Mapper.Map <MealItemViewModel, MealItem>(mtvms);

                    foreach (var fileBase in Photos)
                    {
                        if (fileBase != null)
                        {
                            if (fileBase.ContentLength > 0)
                            {
                                var path = Path.Combine(Server.MapPath("~/MealPhotos"), WebSecurity.CurrentUserId + '-' + Path.GetRandomFileName().Replace(".", "").Substring(0, 8) + '-' + Path.GetFileName(fileBase.FileName));


                                fileBase.SaveAs(path);
                                MealItems_Photos mp = new MealItems_Photos();
                                mp.Photo = path;
                                mealitem.MealItems_Photos.Add(mp);
                            }
                        }
                    }


                    foreach (var mealaller in mtvms.AllergenDD)
                    {
                        if (mealaller.Selected)
                        {
                            MealItems_AllergenicFoods aller = new MealItems_AllergenicFoods();
                            aller.AllergenicFoodID = mealaller.AllergenID;
                            mealitem.MealItems_AllergenicFoods.Add(aller);
                        }
                    }



                    mealitem.MealItemId = _service.AddAndReturnID(mealitem);

                    return(RedirectToAction("Details", "MealItem", new { id = mealitem.MealItemId }));
                }
            }
            catch (Exception ex)
            {
                //Log the error (uncomment dex variable name after DataException and add a line here to write a log.)
                ModelState.AddModelError("", "Unable to save changes." + ex.Message.ToString());
            }
            mtvms = PopulateDropDown(mtvms);
            return(View(mtvms));
        }
        public ActionResult Edit(MealItemViewModel mtvms)
        {
            string msg = "";

            foreach (var modelStateValue in ViewData.ModelState.Values)
            {
                foreach (var error in modelStateValue.Errors)
                {
                    // Do something useful with these properties
                    var errorMessage = error.ErrorMessage;
                    var exception    = error.Exception;
                    msg = msg + errorMessage.ToString() + exception.ToString();
                }
            }

            if (ModelState.IsValid)
            //if(1 == 1)
            {
                MealItem mealitem132 = Mapper.Map <MealItemViewModel, MealItem>(mtvms);
                MealItem mealitem    = db.MealItems.Where(x => x.MealItemId == mtvms.MealItemId).FirstOrDefault();
                mealitem.MealItemName = mtvms.MealItemName;
                mealitem.Ingredients  = mtvms.Ingredients;
                mealitem.DietTypeID   = mealitem132.DietTypeID;
                mealitem.MealTypeID   = mealitem132.MealTypeID;
                mealitem.CusineTypeID = mealitem132.CusineTypeID;
                mealitem.ServingUnit  = mealitem132.ServingUnit;
                mealitem.Quantity     = mtvms.Quantity;
                mealitem.Status       = mtvms.Status;
                mealitem.Price        = mtvms.Price;

                List <MealItems_AllergenicFoods> lstMealItems_AllergenicFoods = new List <MealItems_AllergenicFoods>();
                foreach (var allergenic in mealitem.MealItems_AllergenicFoods)
                {
                    lstMealItems_AllergenicFoods.Add(allergenic);
                }
                foreach (var allergenic in lstMealItems_AllergenicFoods)
                {
                    //mealitem.MealItems_AllergenicFoods.Remove(allergenic);

                    db.MealItems_AllergenicFoods.Remove(allergenic);

                    db.Entry(mealitem).State = EntityState.Modified;
                    db.SaveChanges();
                }

                //db.SaveChanges();
                foreach (var allergenic in mtvms.AllergenDD.Where(x => x.Selected))
                {
                    mealitem.MealItems_AllergenicFoods.Add(new MealItems_AllergenicFoods()
                    {
                        AllergenicFoodID = allergenic.AllergenID, MealItemID = mealitem.MealItemId
                    });
                }

                if (mtvms.Imagelist != null)
                {
                    foreach (var fileBase in mtvms.Imagelist)
                    {
                        if (fileBase != null)
                        {
                            List <MealItems_Photos> lstMealItems_Photos = new List <MealItems_Photos>();
                            foreach (var photo in mealitem.MealItems_Photos)
                            {
                                lstMealItems_Photos.Add(photo);
                            }
                            //foreach (var photo in lstMealItems_Photos)
                            //{
                            //    db.MealItems_Photos.Remove(photo);

                            //    db.Entry(mealitem).State = EntityState.Modified;
                            //    db.SaveChanges();
                            //}
                            if (fileBase.ContentLength > 0)
                            {
                                var path = Path.Combine(Server.MapPath("~/MealPhotos"), WebSecurity.CurrentUserId + '-' + Path.GetRandomFileName().Replace(".", "").Substring(0, 8) + '-' + Path.GetFileName(fileBase.FileName));


                                fileBase.SaveAs(path);
                                MealItems_Photos mp = new MealItems_Photos();
                                mp.Photo = path;
                                mealitem.MealItems_Photos.Add(mp);
                            }
                        }
                    }
                }

                db.Entry(mealitem).State = EntityState.Modified;
                db.SaveChanges();
                //MealItem mealitem = Mapper.Map<MealItemViewModel, MealItem>(mtvms);
                //_service.Update(mealitem);
                return(RedirectToAction("Index", new { userID = WebSecurity.CurrentUserId }));
            }
            else
            {
                //MealItem mealitem = _service.GetById(id);
                //MealItemViewModel mtvm = Mapper.Map<MealItem, MealItemViewModel>(mealitem);

                mtvms = PopulateDropDown(mtvms, null);
                return(View(mtvms));
            }
            //return View(mtvms);
        }
        public ActionResult Create(MealItemViewModel mtvms)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //  string json = JsonConvert.SerializeObject(mtvms);

                    MealItem mealitem = Mapper.Map <MealItemViewModel, MealItem>(mtvms);

                    if (mtvms.Imagelist != null)
                    {
                        foreach (var fileBase in mtvms.Imagelist)
                        {
                            if (fileBase != null)
                            {
                                List <MealItems_Photos> lstMealItems_Photos = new List <MealItems_Photos>();
                                foreach (var photo in mealitem.MealItems_Photos)
                                {
                                    lstMealItems_Photos.Add(photo);
                                }
                                //foreach (var photo in lstMealItems_Photos)
                                //{
                                //    db.MealItems_Photos.Remove(photo);

                                //    db.Entry(mealitem).State = EntityState.Modified;
                                //    db.SaveChanges();
                                //}
                                if (fileBase.ContentLength > 0)
                                {
                                    var path = Path.Combine(Server.MapPath("~/MealPhotos"), WebSecurity.CurrentUserId + '-' + Path.GetRandomFileName().Replace(".", "").Substring(0, 8) + '-' + Path.GetFileName(fileBase.FileName));


                                    fileBase.SaveAs(path);
                                    MealItems_Photos mp = new MealItems_Photos();
                                    mp.Photo = path;
                                    mealitem.MealItems_Photos.Add(mp);
                                }
                            }
                        }
                    }



                    foreach (var mealaller in mtvms.AllergenDD)
                    {
                        if (mealaller.Selected)
                        {
                            MealItems_AllergenicFoods aller = new MealItems_AllergenicFoods();
                            aller.AllergenicFoodID = mealaller.AllergenID;
                            mealitem.MealItems_AllergenicFoods.Add(aller);
                        }
                    }


                    mealitem.ApprovalStatus = 0;


                    mealitem.MealItemId = _service.AddAndReturnID(mealitem);

                    return(RedirectToAction("Details", "MealItem", new { id = mealitem.MealItemId }));
                }
            }
            catch (Exception ex)
            {
                //Log the error (uncomment dex variable name after DataException and add a line here to write a log.)
                ModelState.AddModelError("", "Unable to save changes." + ex.Message.ToString());
            }
            mtvms = PopulateDropDown(mtvms, null);
            return(View(mtvms));
        }