コード例 #1
0
        public async Task <IActionResult> RoleAsync(RoleScreenViewModel model)
        {
            ViewData["Title"] = $"{model.RoleName} Configuration Role Access";
            if (ModelState.IsValid)
            {
                var res = await _repo.update(model);

                return(Json(res));
            }
            return(View(model));
        }
コード例 #2
0
        public async Task <Metadata> update(RoleScreenViewModel model)
        {
            Metadata res = new Metadata();

            if (model.RoleID == 0 || model.Screens == null || model.Screens.Count == 0)
            {
                return(new Metadata()
                {
                    data = "Application not allowed"
                });
            }
            ;
            try
            {
                _context.RoleScreen.RemoveRange(_context.RoleScreen.Where(x => x.roleid == model.RoleID));
                List <RoleScreenModel> lsModel = new List <RoleScreenModel>();
                model.Screens.ForEach(rolescreen =>
                {
                    lsModel.Add(new RoleScreenModel()
                    {
                        roleid     = model.RoleID,
                        screenid   = rolescreen.ScreenID,
                        deleteflag = rolescreen.DeleteFlag,
                        readflag   = rolescreen.ReadFlag,
                        writeflag  = rolescreen.WriteFlag
                    });
                });
                _context.RoleScreen.AddRange(lsModel);
                int affect = await _context.SaveChangesAsync();

                res.status = true;
            }
            catch (Exception e)
            {
                res.data = e.Message.ToString();
            }
            return(res);
        }