public async Task <IActionResult> Create(SY_MenuFunction_Submit model)
        {
            model        = model == null ? new SY_MenuFunction_Submit() : model;
            model.Active = true;

            ViewBag.Data_MenuFunction = await GetMenuList();

            ViewBag.Data_MenuType = StaticList.MenuType();

            return(View(model));
        }
Ejemplo n.º 2
0
        public async Task <SY_MenuFunction_Submit> GetCustomById(string id)
        {
            var model = new SY_MenuFunction_Submit();

            var obj = await GetById(id);

            if (obj != null)
            {
                model = await GetCustomByModel(obj);
            }

            return(await Task.FromResult(model));
        }
        public async Task <IActionResult> Create(SY_MenuFunction_Submit model, bool SaveAndCountinue = false)
        {
            ViewBag.Data_MenuFunction = await GetMenuList();

            ViewBag.Data_MenuType = StaticList.MenuType();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Gán giá trị
            var id = Guid.NewGuid().ToString();

            model.ControllerName = !string.IsNullOrWhiteSpace(model.ControllerName) ? model.ControllerName.Trim() : string.Format("Controller_{0}", id);
            model.ActionName     = !string.IsNullOrWhiteSpace(model.ActionName) ? model.ActionName.Trim() : string.Format("Action_{0}", id);

            var obj = new SY_MenuFunction()
            {
                Id             = id,
                MenuName       = model.MenuName,
                ControllerName = model.ControllerName,
                ActionName     = model.ActionName,
                Icon           = model.Icon,
                MenuType       = model.MenuType,
                ParentId       = string.IsNullOrWhiteSpace(model.ParentId) ? "" : model.ParentId,
                Active         = model.Active,
                SortOrder      = model.SortOrder,
                DateCreated    = DateTime.Now,
            };

            //Thực hiện thêm mới
            var result = await _SY_MenuFunctionService.Create(obj);

            if (result.isSuccess)
            {
                if (SaveAndCountinue)
                {
                    TempData["Success"] = "Thêm mới thành công";
                    return(RedirectToAction("Create", new { ControllerName = obj.ControllerName, ParentId = obj.ParentId, MenuType = obj.MenuType }));
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(obj));
            }
        }
Ejemplo n.º 4
0
        public async Task <SY_MenuFunction_Submit> GetCustomByModel(SY_MenuFunction model)
        {
            var obj = new SY_MenuFunction_Submit()
            {
                ActionName     = model.ActionName,
                Active         = model.Active,
                ControllerName = model.ControllerName,
                Icon           = model.Icon,
                Id             = model.Id,
                MenuName       = model.MenuName,
                MenuType       = model.MenuType,
                ParentId       = model.ParentId,
                SortOrder      = model.SortOrder
            };

            return(await Task.FromResult(obj));
        }
        public async Task <IActionResult> Update(SY_MenuFunction_Submit model)
        {
            ViewBag.Data_MenuFunction = await GetMenuList();

            ViewBag.Data_MenuType = StaticList.MenuType();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var oldObj = await _SY_MenuFunctionService.GetById(model.Id);

            if (oldObj == null)
            {
                ModelState.AddModelError("", "Bản ghi không tồn tại");
                return(View(model));
            }

            model.ControllerName = !string.IsNullOrWhiteSpace(model.ControllerName) ? model.ControllerName.Trim() : string.Format("Controller_{0}", model.Id);
            model.ActionName     = !string.IsNullOrWhiteSpace(model.ActionName) ? model.ActionName.Trim() : string.Format("Action_{0}", model.Id);

            oldObj.MenuName       = model.MenuName;
            oldObj.ControllerName = model.ControllerName.Trim();
            oldObj.ActionName     = model.ActionName.Trim();
            oldObj.ParentId       = string.IsNullOrWhiteSpace(model.ParentId) ? "" : model.ParentId;
            oldObj.Active         = model.Active;
            oldObj.Icon           = model.Icon;
            oldObj.MenuType       = model.MenuType;
            oldObj.SortOrder      = model.SortOrder;

            var result = await _SY_MenuFunctionService.Update(oldObj);

            if (result.isSuccess)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(model));
            }
        }
        private void Children(List <SY_MenuFunction_Submit> listChild, List <SY_MenuFunction_Submit> allFunction, List <SY_MenuFunction_Submit> lst, SY_MenuFunction_Submit itemParent)
        {
            //Kiểm tra có dữ liệu chưa
            if (listChild.Any())
            {
                foreach (var item in listChild)
                {
                    //Nếu có thì duyệt tiếp để lưu vào list
                    lst.Add(new SY_MenuFunction_Submit {
                        Id = item.Id, MenuName = itemParent.MenuName + " \\ " + item.MenuName
                    });

                    //Gọi action để lấy danh sách submenu theo id
                    var child = allFunction.Where(c => c.ParentId == item.Id).ToList();

                    //Gọi action để lấy danh sách submenu theo id
                    if (child.Any())
                    {
                        item.MenuName = itemParent.MenuName + " \\ " + item.MenuName;
                        Children(child, allFunction, lst, item);
                    }
                }
            }
        }