public RestaurantMenuViewModel(RestaurantMenuItem model)
 {
     Name = model.Name;
     PictureFileName = model.PictureFile;
     Description = model.Description;
     Price = model.Price;
 }
        public ActionResult Add(RestaurantMenuViewModel model, HttpPostedFileBase menuimage)
        {
            try
            {
                //Explicitly Validate Model for menu image
                if (menuimage == null || menuimage.ContentLength < 1 || (menuimage.ContentType != "image/jpeg" && menuimage.ContentType != "image/png"))
                    ModelState.AddModelError("addstatus", "A Menu Item needs to have a valid Image, Only JPEG and PNG images are supported");
                if (ModelState.IsValid)
                {
                    // Attempt to add the offer
                    var restauranttable = new RestaurantMenuItem
                    {
                        Name = model.Name,
                        Description = model.Description,
                        Price = model.Price,
                        PictureFile = new ImagesController().PutImage(menuimage, null).ToString("n")
                    };

                    var itemid = Repository.Add(restauranttable);
                    if (itemid > 0)
                    {
                        TempData[TempDataStringResuorce.ActionResultNotification] = new ActionResultNotification
                        {
                            Message = String.Format("Menu Item \"{0}\" with Id:{1} was successfully Added", model.Name, itemid),
                            Result = true,
                            State = ActionResultNotification.MessageState.Information
                        };
                        return RedirectToAction("Index");
                    }
                }
                // If we got this far, something failed, redisplay form
                TempData[TempDataStringResuorce.ActionResultNotification] = new ActionResultNotification
                {
                    Message = ModelState.ContainsKey("addstatus") ? ModelState["addstatus"].Errors[0].ErrorMessage : "There was an Error in adding the new Menu item, please try again",
                    Result = false,
                    State = ActionResultNotification.MessageState.Warning
                };
                return View(model);
            }
            catch (Exception e)
            {
                TempData[TempDataStringResuorce.ActionResultNotification] = new ActionResultNotification
                {
                    Message = e.Message,
                    Result = false,
                    State = ActionResultNotification.MessageState.Error
                };
                return View(model);
            }
        }