public async Task <ActionResult <OgmaRole> > PostRole(OgmaRole data) { if (await _roleManager.RoleExistsAsync(data.Name)) { return(Conflict($"A role with name {data.Name} already exists!")); } var role = new OgmaRole { Name = data.Name, IsStaff = data.IsStaff, Color = data.Color, Order = data.Order }; try { await _roleManager.CreateAsync(role); } catch (Exception e) { return(BadRequest(e.Message)); } return(CreatedAtAction("GetRoles", role)); }
private async Task SeedRoles() { RoleBuilder rb; var adminRole = new OgmaRole { Name = RoleNames.Admin, IsStaff = true, Color = "#ffaa00", Order = byte.MaxValue }; rb = new RoleBuilder(adminRole, _roleManager); await rb.Build(); var modRole = new OgmaRole { Name = RoleNames.Moderator, IsStaff = true, Color = "#aaff00", Order = byte.MaxValue - 5 }; rb = new RoleBuilder(modRole, _roleManager); await rb.Build(); var helperRole = new OgmaRole { Name = RoleNames.Helper, IsStaff = true, Color = "#ffdd11", Order = byte.MaxValue - 10 }; rb = new RoleBuilder(helperRole, _roleManager); await rb.Build(); var reviewerRole = new OgmaRole { Name = RoleNames.Reviewer, IsStaff = true, Color = "#ffdd11", Order = byte.MaxValue - 15 }; rb = new RoleBuilder(reviewerRole, _roleManager); await rb.Build(); var supporterRole = new OgmaRole { Name = RoleNames.Supporter, IsStaff = false, Color = "#ffdd11", Order = byte.MaxValue - 20 }; rb = new RoleBuilder(supporterRole, _roleManager); await rb.Build(); }
public RoleBuilder(OgmaRole role, RoleManager <OgmaRole> roleManager) { Role = role; _roleManager = roleManager; _claims = new List <Claim>(); }