Exemplo n.º 1
0
        // GET: MenuDetails/Create
        public ActionResult Create()
        {
            //ViewBag.FoodId = new SelectList(db.Foods, "Id", "Name");
            ViewBag.MenuId = new SelectList(db.Menus, "Id", "Name");
            var model = new MenuDetailViewModel();

            model.FoodItems = GetMenuDetail(1);
            return(View(model));
        }
Exemplo n.º 2
0
        private IEnumerable <MenuDetail> GetToSave(MenuDetailViewModel model)
        {
            var foodToSave = model.FoodItems.Where(s => s.Selected == true);

            return(foodToSave.Select(s => new MenuDetail()
            {
                FoodId = s.Id,
                MenuId = model.MenuId
            }));
        }
Exemplo n.º 3
0
        public MenuDetailViewModel GetMenuDetailViewModel(int menuID)
        {
            var model = new MenuDetailViewModel();
            var menu  = Get(menuID);

            model.Menu      = menu;
            model.MenuID    = menu.Id;
            model.Functions = GetFunctionAccessibilities(menuID);
            return(model);
        }
Exemplo n.º 4
0
        /// <summary>儲存選單資料</summary>
        public static bool SaveMenuInfo(MenuDetailViewModel m)
        {
            string action = "";

            //有無選單編號,若無則視為新增
            if (string.IsNullOrEmpty(m.MenuNo))
            {
                action = "Add";

                //判斷是否為空值
                m.ParentMenuNo = string.IsNullOrWhiteSpace(m.ParentMenuNo) ? "" : m.ParentMenuNo;

                //設定新選單編號
                string strMaxMenuNo = MenuDataAccess.GetMaxMenuNo(m.ParentMenuNo, m.ParentMenuNo.Length + 2);
                m.MenuNo = Util.GetPadLeftString(strMaxMenuNo, 1);
            }

            //開啟資料庫存取物件
            using (var db = new DataBase.DataBase(Definition.Conn))
            {
                //資料庫參數
                var param = new DataBase.SqlParams();
                param.Add("MenuNo", m.MenuNo);
                param.Add("MenuName", m.MenuName);
                param.Add("MenuLink", m.MenuLink);
                param.Add("Type", m.Type);
                param.Add("MenuDesc", m.MenuDesc);
                param.Add("OrderID", m.OrderID);
                param.Add("Enabled", m.Enabled);
                param.Add("MenuIco", m.MenuIco);
                db.SqlParams = param;

                if (action == "Add")
                {
                    //新增資料
                    db.StrSQL = @"--設定排序值--
                    SET @OrderID = (SELECT MAX(OrderID) + 1 FROM Menu WHERE LEN(MenuNo) = LEN(@MenuNo));
                    INSERT Menu(MenuNo, MenuName, MenuLink, Type, MenuDesc, OrderID, Enabled, MenuIco) VALUES(@MenuNo, @MenuName, @MenuLink, @Type, @MenuDesc, @OrderID, @Enabled, @MenuIco)";
                }
                else
                {
                    db.StrSQL = "UPDATE Menu SET MenuName=@MenuName, MenuLink=@MenuLink, Type=@Type, MenuDesc=@MenuDesc, OrderID=@OrderID, Enabled=@Enabled, MenuIco=@MenuIco WHERE MenuNo=@MenuNo";
                }

                int iResult = db.ExecuteSQL();
                return(iResult > 0);
            }
        }
Exemplo n.º 5
0
        public JsonResult Save(MenuDetailViewModel m)
        {
            Result r = new Result();

            try
            {
                MenuDataAccess.SaveMenuInfo(m);
                r.Set(ResultCode.Success, "作業成功");
            }
            catch (Exception e)
            {
                r.Set(ResultCode.Error, e.Message);
            }

            return(Json(r, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 6
0
        public ActionResult Add(string id = "")
        {
            try
            {
                //初始化物件
                var m = new MenuDetailViewModel();
                m.ParentMenuNo = id;
                m.Type         = "";
                m.Enabled      = true;

                return(View("Detail", m));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
Exemplo n.º 7
0
        public ActionResult Edit(string id)
        {
            try
            {
                //初始化物件
                var m = new MenuDetailViewModel();

                //取出資料
                var dt   = MenuDataAccess.GetMenuList(null, id, null, null);
                var list = Util.ToList <MenuDetailViewModel>(dt);

                m = list[0];

                return(View("Detail", m));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
Exemplo n.º 8
0
        public ActionResult Create(MenuDetailViewModel model)//[Bind(Include = "Id,MenuId,FoodId")] MenuDetail menuDetail)
        {
            var menuId = model.MenuId;

            DeleteMenuDetails(menuId);
            var toSave = GetToSave(model).ToList();

            if (ModelState.IsValid)
            {
                toSave.ForEach(s =>
                {
                    db.MenuDetails.Add(s);
                });
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            //ViewBag.FoodId = new SelectList(db.Foods, "Id", "Name", menuDetail.FoodId);
            ViewBag.MenuId = new SelectList(db.Menus, "Id", "Name", menuId);
            return(View(model));
        }
Exemplo n.º 9
0
        public IActionResult Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var menu = _menuManager.GetMenu(id.Value);

            if (menu == null)
            {
                return(NotFound());
            }

            MenuDetailViewModel vm = new MenuDetailViewModel
            {
                ID        = menu.ID,
                Email     = menu.Owner.Email,
                Naam      = menu.Naam,
                menuItems = _menuItemManager.GetMenuItems(menu.ID)
            };

            return(View(vm));
        }
Exemplo n.º 10
0
 public MenuDetail()
 {
     InitializeComponent();
     MenuDetailViewModel = new MenuDetailViewModel();
     LoadPhoto();
 }