public ActionResult Create(MealAdViewModel MealAdvm)
        {
            if (ModelState.IsValid)
            {

                MealAd mealad = Mapper.Map<MealAdViewModel, MealAd>(MealAdvm);

                foreach (var payment in MealAdvm.PaymentMethods)
                {
                    if (payment.Selected)
                    {

                        MealAds_PaymentOptions paymentoptions = new MealAds_PaymentOptions();
                        paymentoptions.PaymentOptionID = payment.PaymentMethodID;
                        mealad.MealAds_PaymentOptions.Add(paymentoptions);
                    }

                }

                foreach (var delivery in MealAdvm.DeliveryMethods)
                {
                    if (delivery.Selected)
                    {

                        MealAds_DeliveryMethods deliverymthd = new MealAds_DeliveryMethods();
                        deliverymthd.DeliveryMethodID = delivery.DeliveryMethodID;
                        mealad.MealAds_DeliveryMethods.Add(deliverymthd);
                    }

                }
                int orderingoptionnum = 0;
                var availabilityType = db.AvailabilityTypes.Where(x => x.AvaiilabilityTypeID == mealad.AvailabilityTypeID).FirstOrDefault();
                if (availabilityType != null)
                {

                    string orderingoption = availabilityType.AvailabilityType1;
                    orderingoptionnum = Convert.ToInt32(orderingoption);
                }
                foreach (var schedules in MealAdvm.MealAdSchedules)
                {

                    MealAd_Schedules meadadschedule = new MealAd_Schedules();
                    meadadschedule.PickUpStartDateTime = schedules.PickUpStartDateTime;
                    meadadschedule.PickUpEndDateTime = schedules.PickUpEndDateTime;
                    meadadschedule.LastOrderDateTime = schedules.PickUpEndDateTime.AddHours(-orderingoptionnum);
                    mealad.MealAd_Schedules.Add(meadadschedule);
                    break;
                }

                mealad.MealAdID = _service.AddAndReturnID(mealad);

                eh.SendEmail("Insert");

                return RedirectToAction("Details", "MealAd", new { id = mealad.MealAdID });

            }

            return View(MealAdvm);
        }
        public JsonResult CreateMealAd(MealAdViewModel MealAdvm)
        {
            IMealAdService _service = new MealAdService();
            ThreeSixtyTwoEntities db = new ThreeSixtyTwoEntities();
            MealAd mealad = Mapper.Map<MealAdViewModel, MealAd>(MealAdvm);

            foreach (var payment in MealAdvm.PaymentMethods)
            {
                if (payment.Selected)
                {

                    MealAds_PaymentOptions paymentoptions = new MealAds_PaymentOptions();
                    paymentoptions.PaymentOptionID = payment.PaymentMethodID;
                    mealad.MealAds_PaymentOptions.Add(paymentoptions);
                }

            }

            foreach (var delivery in MealAdvm.DeliveryMethods)
            {
                if (delivery.Selected)
                {

                    MealAds_DeliveryMethods deliverymthd = new MealAds_DeliveryMethods();
                    deliverymthd.DeliveryMethodID = delivery.DeliveryMethodID;
                    mealad.MealAds_DeliveryMethods.Add(deliverymthd);
                }

            }
            int orderingoptionnum = 0;
            var availabilityType = db.AvailabilityTypes.Where(x => x.AvaiilabilityTypeID == mealad.AvailabilityTypeID).FirstOrDefault();
            if (availabilityType != null)
            {

                string orderingoption = availabilityType.AvailabilityType1;
                orderingoptionnum = Convert.ToInt32(orderingoption);
            }
            foreach (var schedules in MealAdvm.MealAdSchedules)
            {

                MealAd_Schedules meadadschedule = new MealAd_Schedules();
                meadadschedule.PickUpStartDateTime = schedules.PickUpStartDateTime;
                meadadschedule.PickUpEndDateTime = schedules.PickUpEndDateTime;
                meadadschedule.LastOrderDateTime = schedules.PickUpEndDateTime.AddHours(-orderingoptionnum);
                mealad.MealAd_Schedules.Add(meadadschedule);

            }

            mealad.MealAdID = _service.AddAndReturnID(mealad);
            return Json(true, JsonRequestBehavior.AllowGet);
        }
        public ActionResult Edit(MealAdViewModel MealAdvm, FormCollection frmcoll)
        {
            if (ModelState.IsValid)
            {
                MealAd existingMealAd = db.MealAds.Find(MealAdvm.MealAdID);

                existingMealAd.MaxOrders = MealAdvm.MaxOrders;

                List<MealAd_Schedules> lstMealAd_Schedules = new List<MealAd_Schedules>();
                foreach (var allergenic in existingMealAd.MealAd_Schedules)
                    lstMealAd_Schedules.Add(allergenic);
                foreach (var allergenic in lstMealAd_Schedules)
                {
                    //mealitem.MealItems_AllergenicFoods.Remove(allergenic);

                    db.MealAd_Schedules.Remove(allergenic);

                    db.Entry(allergenic).State = EntityState.Deleted;
                    db.SaveChanges();
                }
                //existingMealAd.MealAd_Schedules.Remove(
                //db.SaveChanges();
                foreach (var schedules in MealAdvm.MealAdSchedules)
                {
                    MealAd_Schedules meadadschedule = new MealAd_Schedules();
                    meadadschedule.PickUpStartDateTime = schedules.PickUpStartDateTime;
                    meadadschedule.PickUpEndDateTime = schedules.PickUpEndDateTime;
                    meadadschedule.LastOrderDateTime = schedules.PickUpEndDateTime.AddHours(0);
                    existingMealAd.MealAd_Schedules.Add(meadadschedule);
                }

                //db.Entry(MealAd).State = EntityState.Modified;
                db.SaveChanges();
                eh.SendEmail("Update");
                return RedirectToAction("Index", new { userID = WebSecurity.CurrentUserId });
            }
            return View(MealAdvm);
        }