private void buttonRoleDelete_Click(object sender, EventArgs e) { if (dataViewRole.SelectedRows.Count > 0) { int roleID = Convert.ToInt16(dataViewRole.SelectedRows[0].Cells[0].Value); DialogResult dialogResult = MessageBox.Show("Xác nhận xóa phân quyền", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dialogResult == DialogResult.Yes) { try { if (RoleDetail.DeleteRoleDetail(roleID) > 0 && Role.DeleteRole(roleID) > 0) { MessageBox.Show("Xóa phân quyền thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch { MessageBox.Show("Lỗi dữ liệu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } refreshDataViewRole(); refreshDataViewRoleDetail(); } }
/// <summary> /// 更新角色 /// </summary> /// <param name="role">角色</param> public async Task UpdateRoleAsync(RoleDetail role) { // 更新角色 var identityRole = await _roleManager.FindByIdAsync(role.Id.ToString()); identityRole.Name = role.Name; identityRole.Describe = role.Describe; await _roleManager.UpdateAsync(identityRole); // 找到关联元素 var elements = new List <string>(); foreach (var element in role.Elements) { var ancestorElements = _elementTreeRepository.GetByWhereNoTracking(e => e.Descendant == Guid.Parse(element)); elements.AddRange(ancestorElements.Select(e => e.Ancestor.ToString())); var descendantElemnts = _elementTreeRepository.GetByWhereNoTracking(e => e.Ancestor == Guid.Parse(element)); elements.AddRange(descendantElemnts.Select(e => e.Descendant.ToString())); } elements = elements.Distinct().ToList(); // 更新声明 await UpdateRoleClaimAsync(identityRole, elements.ToArray(), CustomClaimTypes.Element); await UpdateRoleClaimAsync(identityRole, role.Elements.ToArray(), CustomClaimTypes.DisPlayElement); await UpdateRoleClaimAsync(identityRole, role.DataRules, CustomClaimTypes.Rule); // 清理当前角色的权限缓存 await _permissionCacheService.ClearRolePermissionCache(identityRole.Name); }
public async Task <IActionResult> PutRoleDetail([FromRoute] long id, [FromBody] RoleDetail roleDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != roleDetail.RoleId) { return(BadRequest()); } _context.Entry(roleDetail).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RoleDetailExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public IActionResult Edit(string id) { var viewModel = new RoleViewModel { StatusMessage = StatusMessage }; List <SelectListItem> roleTypes = new List <SelectListItem>(); var resultList = _context.RoleType.ToList(); foreach (var item in resultList) { roleTypes.Add(new SelectListItem { Value = item.Id.ToString(), Text = item.Type }); } var roleInDb = _context.Roles.SingleOrDefault(c => c.Id == id); var role = new RoleDetail() { RoleId = id }; role.Name = roleInDb.Name; role.TypeId = _context.RoleTypes.SingleOrDefault(c => c.RoleId == id).Id; role.Type = _context.RoleType.SingleOrDefault(c => c.Id == role.TypeId); role.Description = _context.RoleDescriptions.SingleOrDefault(c => c.RoleId == role.RoleId).Description; viewModel.Role = role; viewModel.RoleTypes = roleTypes; return(View(viewModel)); }
public async Task <IdentityManagerResult <RoleDetail> > GetRoleAsync(string subject) { ValidateSupportsRoles(); TRoleKey key = ConvertRoleSubjectToKey(subject); var role = await this.roleManager.FindByIdAsync(key); if (role == null) { return(new IdentityManagerResult <RoleDetail>((RoleDetail)null)); } var result = new RoleDetail { Subject = subject, Name = role.Name, // Description }; var metadata = await GetMetadataAsync(); var props = from prop in metadata.RoleMetadata.UpdateProperties select new PropertyValue { Type = prop.Type, Value = GetRoleProperty(prop, role) }; result.Properties = props.ToArray(); return(new IdentityManagerResult <RoleDetail>(result)); }
public RoleDetailResource(RoleDetail role, UrlHelper url, RoleMetadata meta) { if (role == null) { throw new ArgumentNullException("role"); } if (url == null) { throw new ArgumentNullException("url"); } if (meta == null) { throw new ArgumentNullException("meta"); } Data = new RoleDetailDataResource(role, url, meta); var links = new Dictionary <string, string>(); if (meta.SupportsDelete) { links["Delete"] = url.Link(Constants.RouteNames.DeleteRole, new { subject = role.Subject }); } this.Links = links; }
/// <summary> /// 更新角色 /// </summary> /// <param name="role">角色</param> public async Task UpdateRoleAsync(RoleDetail role) { // 更新角色 var identityRole = await _roleManager.FindByIdAsync(role.Id.ToString()); identityRole.Name = role.Name; identityRole.Describe = role.Describe; await _roleManager.UpdateAsync(identityRole); // 找到关联元素 var elementIds = new List <Guid>(); foreach (var element in role.Elements) { var ancestorIds = from et in _elementTreeRepository.GetAllNoTracking() where et.Descendant.ToString() == element select et.Ancestor; elementIds.AddRange(ancestorIds); var descendantIds = from et in _elementTreeRepository.GetAllNoTracking() where et.Ancestor.ToString() == element select et.Descendant; elementIds.AddRange(descendantIds); } var ids = from id in elementIds.Distinct().ToList() select id.ToString(); // 更新声明 await UpdateRoleClaimAsync(identityRole, ids.ToArray(), CustomClaimTypes.Element); await UpdateRoleClaimAsync(identityRole, role.Elements.ToArray(), CustomClaimTypes.DisPlayElement); await UpdateRoleClaimAsync(identityRole, role.DataRules, CustomClaimTypes.Rule); }
/// <summary> /// Isi data dari setiap menu di MenuStrip ke tabel role_detail /// </summary> /// <param name="toolStripItemCollection">ToolStripItemCollection MenuStrip</param> private void PopulateMenuStrip(ToolStripItemCollection toolStripItemCollection) { foreach (var menu in toolStripItemCollection) { // Lewati menu jika bukan MenuItem (bisa saja Separator atau ComboBox) if (!(menu is ToolStripMenuItem)) { continue; } var menuItem = (ToolStripMenuItem)menu; // Lewati Menu yang mempunyai Tag ignore if (menuItem.TagIgnore()) { continue; } var roleDetail = new RoleDetail() { role_kode = RoleKode, menu_name = menuItem.Tag.ToString(), menu_parent = menuItem.AccessibleDescription, // Menu header (parent) di MenuStrip form_action = null, tag = menuItem.AccessibleName }; // Simpan data Menu ke tabel role_detail _roleDetailController.Save(roleDetail); PopulateMenuStrip(menuItem.DropDownItems); // Recursive method } }
// adds public static bool IsMaintenanceAllowed(string name) { using (DBContext context = new DBContext()) { User user = context.Users.Where(o => o.UserName == name).SingleOrDefault(); if (user == null) { return(false); } UserRole role = GetUserRole(user.UserId); if (role == null) { return(false); } RoleDetail detail = GetRoleDetail(role.RoleId); if (detail == null) { return(false); } if (detail.IsAllowed) { return(true); } return(false); } }
public RoleDetailResource(RoleDetail role, IUrlHelper url, RoleMetadata meta) { if (role == null) { throw new ArgumentNullException(nameof(role)); } if (url == null) { throw new ArgumentNullException(nameof(url)); } if (meta == null) { throw new ArgumentNullException(nameof(meta)); } Data = new RoleDetailDataResource(role, url, meta); var links = new Dictionary <string, string>(); if (meta.SupportsDelete) { links["delete"] = url.Link(IdentityManagerConstants.RouteNames.DeleteRole, new { subject = role.Subject }); } Links = links; }
// GET: /RoleDetail/Details/5 public ActionResult Details(int id) { UserPermissionAction("RoleDetail", RoleAction.detail.ToString()); CheckPermission(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RoleDetail roeldetails = _RoleDetailService.GetRoleDetail(id); Mapper.CreateMap <EveryWhereCars.Entity.RoleDetail, EveryWhereCars.Models.RoleDetailModel>(); EveryWhereCars.Models.RoleDetailModel roledetailmodel = Mapper.Map <EveryWhereCars.Entity.RoleDetail, EveryWhereCars.Models.RoleDetailModel>(roeldetails); RoleModel rolemodel = new RoleModel(); rolemodel.RoleName = _RoleService.GetRole(roledetailmodel.RoleId).RoleName; roledetailmodel.Role = rolemodel; FormModel formmodel = new FormModel(); formmodel.FormName = _FormService.GetForm(roledetailmodel.FormId).FormName; roledetailmodel.form = formmodel; if (roledetailmodel == null) { return(HttpNotFound()); } return(View(roledetailmodel)); }
public RoleDetail UserPermission(string ControllerName) { RoleDetail roleDetail = new RoleDetail(); try { if (ExcludePublicController().Contains(ControllerName.ToLower())) { //Set True for Each Operation roleDetail.IsView = true; roleDetail.IsCreate = true; roleDetail.IsEdit = true; roleDetail.IsDelete = true; roleDetail.IsDetail = true; roleDetail.IsDownload = true; } else { roleDetail = (HttpContext.Current.Session["UserPermission"] as List <EveryWhereCars.Entities.RoleDetail>).Where(z => z.form.ControllerName.ToLower().Trim() == ControllerName.ToLower().Trim()).FirstOrDefault(); } } catch (Exception ex) { //Set False for Each Operation roleDetail.IsView = false; roleDetail.IsCreate = false; roleDetail.IsEdit = false; roleDetail.IsDelete = false; roleDetail.IsDetail = false; roleDetail.IsDownload = false; } return(roleDetail); }
public async Task <IdentityManagerResult <RoleDetail> > GetRoleAsync(string subject) { ValidateSupportsRoles(); var role = await RoleManager.FindByIdAsync(subject); if (role == null) { return(new IdentityManagerResult <RoleDetail>((RoleDetail)null)); } var result = new RoleDetail { Subject = subject, Name = role.Name, // TODO: Role Description }; var metadata = await GetMetadataAsync(); var props = new List <PropertyValue>(); foreach (var prop in metadata.RoleMetadata.UpdateProperties) { props.Add(new PropertyValue { Type = prop.Type, Value = await GetRoleProperty(prop, role) }); } result.Properties = props.ToArray(); return(new IdentityManagerResult <RoleDetail>(result)); }
public async Task <IdentityManagerResult <RoleDetail> > GetRoleAsync(string subject) { var role = roles.SingleOrDefault(x => x.ID == subject); if (role == null) { return(new IdentityManagerResult <RoleDetail>((RoleDetail)null)); } var props = new List <PropertyValue>(); foreach (var prop in GetMetadata().RoleMetadata.UpdateProperties) { props.Add(new PropertyValue { Type = prop.Type, Value = await GetRoleProperty(prop, role) }); } var detail = new RoleDetail { Subject = role.ID, Name = role.Name, Description = role.Description, Properties = props }; return(new IdentityManagerResult <RoleDetail>(detail)); }
/// <summary> /// 保存配置 /// </summary> public void Save() { if (this.Roles == null || this.Roles.Count == 0) { this.Roles = RoleDetail.Load(); } RIPP.Lib.Serialize.Write <Config>(this, this._filepath); Common.Reload(); }
public ActionResult DeleteConfirmed(int id) { UserPermissionAction("RoleDetail", RoleAction.delete.ToString()); CheckPermission(); RoleDetail roeldetails = _RoleDetailService.GetRoleDetail(id); _RoleDetailService.DeleteRoleDetail(roeldetails); TempData["ShowMessage"] = "success"; TempData["MessageBody"] = "RoleDetail is deleted successfully."; return(RedirectToAction("Index")); }
public async Task <IActionResult> PostRoleDetail([FromBody] RoleDetail roleDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.RoleDetail.Add(roleDetail); await _context.SaveChangesAsync(); return(CreatedAtAction("GetRoleDetail", new { id = roleDetail.RoleId }, roleDetail)); }
//Reload dateViewRoldeDetail private void dataViewRole_CellClick(object sender, DataGridViewCellEventArgs e) { if (dataViewRole.SelectedRows.Count > 0) { // Get RoleDetail's datatable int roleID = Convert.ToInt16(dataViewRole.SelectedRows[0].Cells[0].Value); DataTable roleDetailTable = RoleDetail.GetListStaffFunction(roleID); // Set data source to dataview for searching dataViewRoleDetail.DataSource = roleDetailTable; } }
public ApiResponse Show(long id) { RoleDetail roleDetail = null; var roleRepository = this.roleApplication.DetailById(id); if (roleRepository.Id != 0) { roleDetail = new RoleDetail(roleRepository); } return(new ApiResponseData(HttpStatusCode.OK, roleDetail)); }
public int Save(RoleDetail obj) { var result = 0; using (IDapperContext context = new DapperContext()) { _repository = new RoleDetailRepository(context); result = _repository.Save(obj); } return(result); }
public async Task <IActionResult> AddRole([FromBody] RoleDetail role) { var result = await _roleService.AddRoleAsync(role); if (result) { return(Ok()); } else { ModelState.AddModelError("RoleName", ErrorMessages.WebAdmin_Role_E001); return(BadRequest(ModelState)); } }
private void buttonOk_Click(object sender, EventArgs e) { if (!superValidator1.Validate()) { return; } try { if ("edit".Equals(this.UserAction)) { DialogResult dialogResult = MessageBox.Show("Xác nhận cập nhập thông tin phân quyền", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { Role editRole = new Role(int.Parse(textBoxRoleID.Text), textBoxRoleName.Text); if (Role.UpdateRole(editRole) > 0) { RoleDetail.DeleteRoleDetail(roleDetail.RoleID); for (int i = 0; i < listBoxCurrentFunctionID.Items.Count; i++) { RoleDetail newRD = new RoleDetail(roleDetail.RoleID, int.Parse(listBoxCurrentFunctionID.Items[i].ToString())); RoleDetail.InsertRoleDetail(newRD); } MessageBox.Show("Cập nhập cập nhập thông tin phân quyền thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { Role newRole = new Role(0, textBoxRoleName.Text); if (Role.InsertRole(newRole) > 0) { int currentIdent = Role.GetCurrentIdentity(); for (int i = 0; i < listBoxCurrentFunctionID.Items.Count; i++) { RoleDetail newRD = new RoleDetail(currentIdent, int.Parse(listBoxCurrentFunctionID.Items[i].ToString())); RoleDetail.InsertRoleDetail(newRD); } MessageBox.Show("Thêm phân quyền thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch { MessageBox.Show("Lỗi dữ liệu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Close(); }
public void CreateRoleDetails(int roleID, List <RoleDetailModel> roleDetailList) { MQUESTSYSEntities ent = new MQUESTSYSEntities(); foreach (var roleDetail in roleDetailList) { roleDetail.RoleID = roleID; RoleDetail obj = new RoleDetail(); ObjectHelper.CopyProperties(roleDetail, obj); ent.AddToRoleDetail(obj); } ent.SaveChanges(); }
private void btnXoa_Click(object sender, EventArgs e) { RoleDetail r = context.RoleDetails.Where(x => x.Id.ToString() == txtMaChiTiet.Text).FirstOrDefault(); if (r != null) { context.RoleDetails.Remove(r); context.SaveChanges(); Display(); } else { MessageBox.Show("Không tìm thấy mã phù hợp"); } }
/// <summary> /// Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail /// </summary> /// <param name="listRoleDetail">Data RoleDetail</param> /// <param name="roleKode">Role kode</param> /// <param name="menuParent">Menu (parent/header) terpilih</param> /// <param name="nodes">TreeNodeCollection TreeView</param> private void InsertItemChecked(List <RoleDetail> listRoleDetail, string roleKode , string menuParent, TreeNodeCollection nodes) { // Looping node di TreeView foreach (TreeNode node in nodes) { // Hanya menyimpan node yang tercentang if (node.Checked) { // Buat instance object NodeTag dari Tag pada node var nodeTag = (NodeTag)node.Tag; RoleDetail roleDetail = new RoleDetail(); roleDetail.role_kode = roleKode; roleDetail.tag = nodeTag.Tag; // menu / menuForm / action roleDetail.menu_parent = menuParent; // Menu header (parent) di MenuStrip switch (roleDetail.tag) { case "menu": roleDetail.menu_name = node.Text; // Menu tag roleDetail.form_action = null; break; case "menuForm": roleDetail.menu_name = nodeTag.FormAction; // Form name roleDetail.form_action = null; break; case "action": roleDetail.menu_name = node.Text; // Button Tag/Text roleDetail.form_action = nodeTag.FormAction; // Form name break; } // Tambahkan object RoleDetail ke list listRoleDetail.Add(roleDetail); } InsertItemChecked(listRoleDetail, roleKode, menuParent, node.Nodes); // Recursive method } }
public static int DeleteModule(int id) { using (DBContext context = new DBContext()) { Module _data = context.Modules.Find(id); context.Entry(_data).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); foreach (RoleDetail item in Helper.GetRoleDetailListByModuleID(id)) { RoleDetail _RoleDetail = context.RoleDetails.Find(item.Id); context.Entry(_RoleDetail).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); } } return(1); }
public async Task <RoleDetail> GetRoleAsync(Guid roleId) { var role = await _roleRepository.GetRoleAsync(roleId); var result = new RoleDetail { Id = role.Id, Name = role.Name, IsEnabled = role.IsEnabled, PermissionIds = role.RolePermissions .Select(x => x.PermissionId) .ToList(), }; return(result); }
private void GrantRole() { DataTable dtRoleDetail = RoleDetail.GetListStaffFunction(loginStaff.RoleID); for (int i = 0; i < dtRoleDetail.Rows.Count; i++) { String tabName = dtRoleDetail.Rows[i][2].ToString(); for (int j = 0; j < tabMain.Tabs.Count; j++) { if (tabMain.Tabs[j].Name == tabName) { tabMain.Tabs[j].Visible = true; break; } } } }
public async Task <IdentityManagerResult <RoleDetail> > GetRoleAsync(string subject) { ValidateSupportsGroups(); Guid g; if (!Guid.TryParse(subject, out g)) { return(new IdentityManagerResult <RoleDetail>("Invalid subject")); } try { var group = this.groupService.Get(g); if (group == null) { return(new IdentityManagerResult <RoleDetail>((RoleDetail)null)); } var role = new RoleDetail { Subject = subject, Name = group.Name, //Description = group.Name }; var metadata = await GetMetadataAsync(); var props = new List <PropertyValue>(); foreach (var prop in metadata.RoleMetadata.UpdateProperties) { props.Add(new PropertyValue { Type = prop.Type, Value = GetGroupProperty(prop, group) }); } role.Properties = props.ToArray(); return(new IdentityManagerResult <RoleDetail>(role)); } catch (ValidationException ex) { return(new IdentityManagerResult <RoleDetail>(ex.Message)); } }
private void btnSua_Click(object sender, EventArgs e) { RoleDetail r = context.RoleDetails.Where(x => x.Id.ToString() == txtMaChiTiet.Text).FirstOrDefault(); if (r != null) { r.NameAction = txtTenChiTiet.Text; r.IdEmployee = Convert.ToInt32(cbTenNhanVien.SelectedValue.ToString()); r.IdRole = Convert.ToInt32(cbTenQuyen.SelectedValue.ToString()); context.SaveChanges(); Display(); } else { MessageBox.Show("Không tìm thấy mã phù hợp"); } }
public Task<IdentityManagerResult<RoleDetail>> GetRoleAsync(string subject) { var role = this.roles.SingleOrDefault(x => x.ID == subject); if (role == null) { return Task.FromResult(new IdentityManagerResult<RoleDetail>((RoleDetail)null)); } var props = new List<PropertyValue>(); foreach (var prop in GetMetadata().RoleMetadata.UpdateProperties) { props.Add(new PropertyValue { Type = prop.Type, Value = GetRoleProperty(prop, role) }); } var detail = new RoleDetail { Subject = role.ID, Name = role.Name, Description = role.Description, Properties = props }; return Task.FromResult(new IdentityManagerResult<RoleDetail>(detail)); }