public async Task <IActionResult> Create(SY_Role_Submit model)
        {
            model           = model == null ? new SY_Role_Submit() : model;
            model.Data_Tree = await _SY_MenuFunctionService.GetAllActive();

            return(View(model));
        }
        public async Task <IActionResult> Create(SY_Role_Submit model, bool SaveAndCountinue = false)
        {
            model.Data_Tree = await _SY_MenuFunctionService.GetAllActive();

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

            var obj = new SY_Role()
            {
                RoleName    = model.RoleName,
                Description = model.Description,
                Active      = model.Active,
                Id          = Guid.NewGuid().ToString()
            };

            if (!string.IsNullOrWhiteSpace(model.MenuFunctionIds))
            {
                var ks = model.MenuFunctionIds.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                model.MenuFunctions = new List <string>();
                foreach (var item in ks)
                {
                    model.MenuFunctions.Add(item);
                }

                foreach (var item in model.MenuFunctions)
                {
                    var t = new SY_Map_Role_Menu()
                    {
                        Id     = Guid.NewGuid().ToString(),
                        MenuId = item,
                        RoleId = obj.Id
                    };

                    await _SY_MenuFunctionService.CreateMap(t);
                }
            }

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

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

                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(obj));
            }
        }
        public async Task <IActionResult> Update(SY_Role_Submit model)
        {
            model.Data_Tree = await _SY_MenuFunctionService.GetAllActive();

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

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

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

            oldObj.Active      = model.Active;
            oldObj.Description = model.Description;
            oldObj.RoleName    = model.RoleName;

            //Cập nhật lại menu
            await _SY_MenuFunctionService.DeleteMap(oldObj.Id);

            if (!string.IsNullOrWhiteSpace(model.MenuFunctionIds))
            {
                var ks = model.MenuFunctionIds.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                model.MenuFunctions = new List <string>();
                foreach (var item in ks)
                {
                    model.MenuFunctions.Add(item);
                }

                foreach (var item in model.MenuFunctions)
                {
                    var t = new SY_Map_Role_Menu()
                    {
                        Id     = Guid.NewGuid().ToString(),
                        MenuId = item,
                        RoleId = oldObj.Id
                    };

                    await _SY_MenuFunctionService.CreateMap(t);
                }
            }

            var result = await _SY_RoleService.Update(oldObj);

            if (result.isSuccess)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", result.Message);
                return(View(model));
            }
        }
Beispiel #4
0
        public async Task <SY_Role_Submit> GetCustomById(string id)
        {
            var model = new SY_Role_Submit();

            var obj = await _SY_RoleRepository.GetOneById(id);

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

            return(model);
        }
Beispiel #5
0
        public async Task <SY_Role_Submit> GetCustomByModel(SY_Role model)
        {
            var obj = new SY_Role_Submit()
            {
                Id            = model.Id.ToString(),
                Active        = model.Active,
                Description   = model.Description,
                RoleName      = model.RoleName,
                MenuFunctions = new List <string>()
            };

            obj.MenuFunctions = (from n in _SY_Map_Role_MenuRepository.Table
                                 where n.RoleId == model.Id
                                 select n.MenuId).ToList();

            return(await Task.FromResult(obj));
        }