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)); }
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); }