/// <summary> /// RegisterCommonService registers common components. /// </summary> /// <param name="services"></param> /// <returns></returns> public static IServiceCollection RegisterPolicies(this IServiceCollection services, IClaimApplication claimApplication) { var applicationClaim = new ApplicationClaim(); services.AddAuthorization(async options => { var ClaimList = await claimApplication.GetList(applicationClaim); foreach (var item in ClaimList) { //Commented this code for Testing in development env: //if (item.ClaimType == "Claim.GetList") //{ options.AddPolicy(item.ClaimCode, policy => policy.RequireClaim(item.ClaimCode)); //} //else //{ // options.AddPolicy(item.ClaimCode, policy => policy.RequireClaim(item.ClaimCode)); //} } }); return(services); }
/// <summary> /// Add Claims to a Role /// </summary> /// <param name="roleId">Role Id</param> /// <param name="claimId">Claim Id</param> /// <returns></returns> public IdentityResult AddClaims(string roleId, IEnumerable <string> claimIds) { using (ApplicationDbContext dbContext = ApplicationDbContext.Create()) { try { var role = dbContext.Roles.Find(roleId); dbContext.Roles.Attach(role); foreach (string claimId in claimIds) { var claim = new ApplicationClaim { Id = claimId }; dbContext.Claims.Attach(claim); role.Claims.Add(claim); } dbContext.SaveChanges(); } catch (Exception ex) { return(IdentityResult.Failed("Error adding claim to role. ExceptionMessage:" + ex.Message)); } } return(IdentityResult.Success); }
public async Task <List <ClaimListResponseVM> > GetList([FromQuery] ClaimListRequestVM requestVM) { ApplicationClaim request = requestVM.Convert(); bool language = base.UseDefaultLanguage; List <ApplicationClaim> response = await this.ClaimApplication.GetList(request); List <ClaimListResponseVM> responseVM = response.ConvertList(base.UseDefaultLanguage); return(responseVM); }
/// <summary> /// GetAllClaimsWithRole fetch and returns queried list of items with specific fields from database by role. /// </summary> /// <param name="applicationRole"></param> /// <returns></returns> public async Task <List <ApplicationRole> > GetAllClaimsWithRole() { var applicationRoles = new List <ApplicationRole>(); ApplicationRole applicationRoleItem = null; ApplicationRole currentRole = null; ApplicationClaim applicationClaim = null; var parameters = new List <DbParameter> { base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, 1) }; using (var dataReader = await base.ExecuteReader(parameters, ClaimInfrastructure.GetAllClaimsWithRoleProcedureName, CommandType.StoredProcedure)) { if (dataReader != null) { while (dataReader.Read()) { applicationRoleItem = new ApplicationRole { RoleId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.RoleIdColumnName), RoleName = dataReader.GetStringValue(ClaimInfrastructure.RoleNameColumnName), RoleNameCode = dataReader.GetStringValue(ClaimInfrastructure.RoleNameCodeColumnName) }; applicationRoles.Add(applicationRoleItem); } if (dataReader.NextResult()) { while (dataReader.Read()) { applicationClaim = new ApplicationClaim(); uint RoleId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.RoleIdColumnName); applicationClaim.ClaimCode = dataReader.GetStringValue(ClaimInfrastructure.ClaimCodeColumnName); if (currentRole == null || currentRole.RoleId != RoleId) { currentRole = applicationRoles.FirstOrDefault(c => c.RoleId == RoleId); } currentRole?.ApplicationClaims.Add(applicationClaim); } } if (!dataReader.IsClosed) { dataReader.Close(); } } } return(applicationRoles); }
/// <summary> /// GetAll fetch and returns queried list of items from database. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <AllResponse <ApplicationClaim> > GetAll(AllRequest <ApplicationClaim> applicationClaim) { var result = new AllResponse <ApplicationClaim> { Data = new List <ApplicationClaim>(), Offset = applicationClaim.Offset, PageSize = applicationClaim.PageSize, SortColumn = applicationClaim.SortColumn, SortAscending = applicationClaim.SortAscending }; ApplicationClaim applicationClaimItem = null; var totalRecordParamter = base.GetParameterOut(BaseInfrastructure.TotalRecordParameterName, SqlDbType.Int, result.TotalRecord); var parameters = new List <DbParameter> { totalRecordParamter, base.GetParameter(BaseInfrastructure.OffsetParameterName, applicationClaim.Offset), base.GetParameter(BaseInfrastructure.PageSizeParameterName, applicationClaim.PageSize), base.GetParameter(BaseInfrastructure.SortColumnParameterName, applicationClaim.SortColumn), base.GetParameter(BaseInfrastructure.SortAscendingParameterName, applicationClaim.SortAscending), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationClaim.Data.CreatedById) }; //TODO: Add other parameters. using (var dataReader = await base.ExecuteReader(parameters, ClaimInfrastructure.GetAllStoredProcedureName, CommandType.StoredProcedure)) { if (dataReader != null && dataReader.HasRows) { while (dataReader.Read()) { applicationClaimItem = new ApplicationClaim { ClaimId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimIdColumnName), ClaimType = dataReader.GetStringValue(ClaimInfrastructure.ClaimTypeColumnName), ClaimLabel = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelColumnName), ClaimLabelTranslation = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelTranslationColumnName) }; //TODO: Add other Columns. result.Data.Add(applicationClaimItem); } if (!dataReader.IsClosed) { dataReader.Close(); } result.TotalRecord = Convert.ToUInt32(totalRecordParamter.Value); } } return(result); }
public virtual async Task <ActionResult> Create(ApplicationClaim applicationClaim) { if (ModelState.IsValid) { await this.ClaimManager.CreateGroupAsync(applicationClaim); return(RedirectToAction("Index")); } return(View(applicationClaim)); }
/// <summary> /// Activate activate/deactivate provided record and returns true if action was successfull. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <bool> Activate(ApplicationClaim applicationClaim) { var parameters = new List <DbParameter> { base.GetParameter(ClaimInfrastructure.ClaimIdParameterName, applicationClaim.ClaimId), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationClaim.CreatedById) }; var returnValue = await base.ExecuteNonQuery(parameters, ClaimInfrastructure.ActivateStoredProcedureName, CommandType.StoredProcedure); return(returnValue > 0); }
public void Handle(AppClaimRemoved @event) { var appClaim = new ApplicationClaim() { AppId = @event.AppId, ClaimType = @event.ClaimType, ClaimValue = @event.ClaimValue }; this.dbContext.Invoke().ApplicationClaims.Attach(appClaim); this.dbContext.Invoke().ApplicationClaims.Remove(appClaim); this.dbContext.Invoke().SaveChanges(); }
/// <summary> /// Convert converts object of RequestApplicationClaimVM type to ApplicationClaim type. /// </summary> /// <param name="vm"></param> /// <returns></returns> public static ApplicationClaim Convert(this ClaimListRequestVM vm) { var model = new ApplicationClaim { ClaimId = vm.ClaimId, ClaimGroupId = vm.ClaimGroupId, ClaimType = vm.ClaimType, ClaimLabel = vm.ClaimLabel, CreatedById = vm.CurrentUserId }; return(model); }
public void Handle(AppClaimAdded @event) { var repository = new Repository <ApplicationClaim>(this.dbContext); var appClaim = new ApplicationClaim() { AppId = @event.AppId, ClaimType = @event.ClaimType, ClaimValue = @event.ClaimValue }; repository.Save(appClaim); repository.SaveChanges(); }
/// <summary> /// Update updates existing object in database and returns true if action was successfull. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <bool> Update(ApplicationClaim applicationClaim) { var parameters = new List <DbParameter> { base.GetParameter(ClaimInfrastructure.ClaimIdParameterName, applicationClaim.ClaimId), base.GetParameter(ClaimInfrastructure.ClaimGroupIdParameterName, applicationClaim.ClaimGroupId), base.GetParameter(ClaimInfrastructure.ClaimTypeParameterName, applicationClaim.ClaimType), base.GetParameter(ClaimInfrastructure.ClaimLabelParameterName, applicationClaim.ClaimLabel), base.GetParameter(ClaimInfrastructure.ClaimCodeParameterName, applicationClaim.ClaimCode), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationClaim.CreatedById) }; //TODO: Add other parameters. var returnValue = await base.ExecuteNonQuery(parameters, ClaimInfrastructure.UpdateStoredProcedureName, CommandType.StoredProcedure); return(returnValue > 0); }
/// <summary> /// Add adds new object in database and returns provided ObjectId. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <uint> Add(ApplicationClaim applicationClaim) { var claimIdParamter = base.GetParameterOut(ClaimInfrastructure.ClaimIdColumnName, SqlDbType.Int, applicationClaim.ClaimId); var parameters = new List <DbParameter> { claimIdParamter, base.GetParameter(ClaimInfrastructure.ClaimGroupIdParameterName, applicationClaim.ClaimGroupId), base.GetParameter(ClaimInfrastructure.ClaimTypeParameterName, applicationClaim.ClaimType), base.GetParameter(ClaimInfrastructure.ClaimLabelParameterName, applicationClaim.ClaimLabel), base.GetParameter(ClaimInfrastructure.ClaimCodeParameterName, applicationClaim.ClaimCode), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationClaim.CreatedById) }; //TODO: Add other parameters. await base.ExecuteNonQuery(parameters, ClaimInfrastructure.AddStoredProcedureName, CommandType.StoredProcedure); applicationClaim.ClaimId = Convert.ToUInt32(claimIdParamter.Value); return(applicationClaim.ClaimId); }
public virtual async Task <ActionResult> Edit(int id) { if (id < 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ApplicationClaim applicationClaim = await this.ClaimManager.FindByIdAsync(id); if (applicationClaim == null) { return(HttpNotFound()); } var model = new ClaimViewModel() { Id = applicationClaim.Id, ExpireDate = applicationClaim.ExpireDate, Key = applicationClaim.Key, Value = applicationClaim.Value }; return(View(model)); }
/// <summary> /// Get fetch and returns queried item from database. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <ApplicationClaim> Get(ApplicationClaim applicationClaim) { ApplicationClaim ApplicationClaimItem = null; var parameters = new List <DbParameter> { base.GetParameter(ClaimInfrastructure.ClaimIdParameterName, applicationClaim.ClaimId), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationClaim.CreatedById) }; using (var dataReader = await base.ExecuteReader(parameters, ClaimInfrastructure.GetStoredProcedureName, CommandType.StoredProcedure)) { if (dataReader != null && dataReader.HasRows) { if (dataReader.Read()) { ApplicationClaimItem = new ApplicationClaim { ClaimId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimIdColumnName), ClaimType = dataReader.GetStringValue(ClaimInfrastructure.ClaimTypeColumnName), ClaimLabelTranslation = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelTranslationColumnName), ClaimCode = dataReader.GetStringValue(ClaimInfrastructure.ClaimCodeColumnName), CreatedById = dataReader.GetUnsignedIntegerValueNullable(BaseInfrastructure.CreatedByIdColumnName), CreatedByName = dataReader.GetStringValue(BaseInfrastructure.CreatedByNameColumnName), CreatedDate = dataReader.GetDateTimeValueNullable(BaseInfrastructure.CreatedDateColumnName), ModifiedById = dataReader.GetUnsignedIntegerValueNullable(BaseInfrastructure.ModifiedByIdColumnName), ModifiedByName = dataReader.GetStringValue(BaseInfrastructure.ModifiedByNameColumnName), ModifiedDate = dataReader.GetDateTimeValueNullable(BaseInfrastructure.ModifiedDateColumnName) }; } if (!dataReader.IsClosed) { dataReader.Close(); } } } return(ApplicationClaimItem); }
/// <summary> /// GetListByRole fetch and returns queried list of items with specific fields from database by role. /// </summary> /// <param name="applicationRole"></param> /// <returns></returns> public async Task <List <ApplicationClaim> > GetListByRole(ApplicationRole applicationRole) { var applicationClaims = new List <ApplicationClaim>(); ApplicationClaim applicationClaimItem = null; var parameters = new List <DbParameter> { base.GetParameter(RoleInfrastructure.RoleIdParameterName, applicationRole.RoleId), base.GetParameter(RoleInfrastructure.RoleCodeParameterName, applicationRole.RoleNameCode), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationRole.CreatedById) }; using (var dataReader = await base.ExecuteReader(parameters, ClaimInfrastructure.GetListByRoleStoredProcedureName, CommandType.StoredProcedure)) { if (dataReader != null) { while (dataReader.Read()) { applicationClaimItem = new ApplicationClaim { ClaimId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimIdColumnName), //ClaimGroupId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimGroupIdColumnName), ClaimLabelTranslation = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelTranslationColumnName), ClaimLabel = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelColumnName), ClaimCode = dataReader.GetStringValue(ClaimInfrastructure.ClaimCodeColumnName) }; applicationClaims.Add(applicationClaimItem); } if (!dataReader.IsClosed) { dataReader.Close(); } } } return(applicationClaims); }
/// <summary> /// GetList calls ApplicationClaimInfrastructure to fetch and returns queried list of items with specific fields from database. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <List <ApplicationClaim> > GetList(ApplicationClaim applicationClaim) { return(await this.ClaimInfrastructure.GetList(applicationClaim)); }
/// <summary> /// Activate calls ApplicationClaimInfrastructure to activate/deactivate provided record and returns true if action was successfull. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <bool> Activate(ApplicationClaim applicationClaim) { return(await this.ClaimInfrastructure.Activate(applicationClaim)); }
/// <summary> /// Add calls ApplicationClaimInfrastructure to adds new object in database and returns provided ObjectId. /// </summary> /// <param name="applicationClaim"></param> /// <returns></returns> public async Task <uint> Add(ApplicationClaim applicationClaim) { return(await this.ClaimInfrastructure.Add(applicationClaim)); }
/// <summary> /// GetAll executes provided stored procedure with provided parameters. /// </summary> /// <param name="applicationClaimGroup"></param> /// <param name="storedProcedureName"></param> /// <returns></returns> private async Task <AllResponse <ApplicationClaimGroup> > GetAll(AllRequest <ApplicationClaimGroup> applicationClaimGroup, string storedProcedureName) { var result = new AllResponse <ApplicationClaimGroup> { Data = new List <ApplicationClaimGroup>(), Offset = applicationClaimGroup.Offset, PageSize = applicationClaimGroup.PageSize, SortColumn = applicationClaimGroup.SortColumn, SortAscending = applicationClaimGroup.SortAscending }; ApplicationClaimGroup applicationClaimGroupItem = null; ApplicationClaimGroup currentGroup = null; ApplicationClaim applicationClaimItem = null; var totalRecordParamter = base.GetParameterOut(BaseInfrastructure.TotalRecordParameterName, SqlDbType.Int, result.TotalRecord); var parameters = new List <DbParameter> { totalRecordParamter, base.GetParameter(BaseInfrastructure.OffsetParameterName, applicationClaimGroup.Offset), base.GetParameter(BaseInfrastructure.PageSizeParameterName, applicationClaimGroup.PageSize), base.GetParameter(BaseInfrastructure.SortColumnParameterName, applicationClaimGroup.SortColumn), base.GetParameter(BaseInfrastructure.SortAscendingParameterName, applicationClaimGroup.SortAscending), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationClaimGroup.Data.CreatedById) }; //TODO: Add other parameters. using (var dataReader = await base.ExecuteReader(parameters, storedProcedureName, CommandType.StoredProcedure)) { if (dataReader != null && dataReader.HasRows) { while (dataReader.Read()) { applicationClaimGroupItem = new ApplicationClaimGroup { ClaimGroupId = dataReader.GetUnsignedIntegerValue(ClaimGroupInfrastructure.ClaimGroupIdColumnName), ClaimGroupLabel = dataReader.GetStringValue(ClaimGroupInfrastructure.ClaimGroupLabelColumnName), ClaimGroupLabelTranslation = dataReader.GetStringValue(ClaimGroupInfrastructure.ClaimGroupLabelTranslationColumnName), ClaimGroupCode = dataReader.GetStringValue(ClaimGroupInfrastructure.ClaimGroupCodeColumnName), Claims = new List <ApplicationClaim>() }; //TODO: Add other Columns. result.Data.Add(applicationClaimGroupItem); } if (dataReader.NextResult()) { while (dataReader.Read()) { applicationClaimItem = new ApplicationClaim { ClaimId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimIdColumnName), ClaimGroupId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimGroupIdColumnName), ClaimType = dataReader.GetStringValue(ClaimInfrastructure.ClaimTypeColumnName), ClaimLabel = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelColumnName), ClaimLabelTranslation = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelTranslationColumnName), ClaimCode = dataReader.GetStringValue(ClaimInfrastructure.ClaimCodeColumnName), Active = dataReader.GetBooleanValue(ClaimInfrastructure.ActiveColumnName) }; if (currentGroup == null || currentGroup.ClaimGroupId != applicationClaimItem.ClaimGroupId) { currentGroup = result.Data.FirstOrDefault(c => c.ClaimGroupId == applicationClaimItem.ClaimGroupId); } currentGroup?.Claims.Add(applicationClaimItem); } } if (!dataReader.IsClosed) { dataReader.Close(); } result.TotalRecord = Convert.ToUInt32(totalRecordParamter.Value); } } return(result); }
private void CreateClaims() { ApplicationDbContext context = new ApplicationDbContext(); // create Claims ApplicationClaim claim01A = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Admin", ClaimValue = "Show", Description = "Show Admin Page" }); ApplicationClaim claim01R = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Roles", ClaimValue = "Show", Description = "Show Roles" }); ApplicationClaim claim02R = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Roles", ClaimValue = "Add", Description = "Add Roles" }); ApplicationClaim claim03R = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Roles", ClaimValue = "Edit", Description = "Edit Roles" }); ApplicationClaim claim04R = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Roles", ClaimValue = "Delete", Description = "Delete Roles" }); ApplicationClaim claim01RC = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "RoleClaims", ClaimValue = "Show", Description = "Show Role Claims" }); ApplicationClaim claim02RC = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "RoleClaims", ClaimValue = "Edit", Description = "Edit Role Claims" }); ApplicationClaim claim01U = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Users", ClaimValue = "Show", Description = "Show Users" }); ApplicationClaim claim02U = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Users", ClaimValue = "Add", Description = "Add Users" }); ApplicationClaim claim03U = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Users", ClaimValue = "Edit", Description = "Edit Users" }); ApplicationClaim claim04U = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Users", ClaimValue = "Delete", Description = "Delete Users" }); ApplicationClaim claim01UR = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "UserRoles", ClaimValue = "Show", Description = "Show User Roles" }); ApplicationClaim claim02UR = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "UserRoles", ClaimValue = "Edit", Description = "Edit User Roles" }); ApplicationClaim claim01B = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Blogs", ClaimValue = "Show", Description = "Show Users" }); ApplicationClaim claim02B = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Blogs", ClaimValue = "Add", Description = "Add Users" }); ApplicationClaim claim03B = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Blogs", ClaimValue = "Edit", Description = "Edit Users" }); ApplicationClaim claim04B = context.Claims.Add(new ApplicationClaim { Id = Guid.NewGuid().ToString(), ClaimType = "Blogs", ClaimValue = "Delete", Description = "Delete Users" }); context.SaveChanges(); }
/// <summary> /// Get fetch and returns queried item from database. /// </summary> /// <param name="applicationRole"></param> /// <returns></returns> public async Task <ApplicationRole> Get(ApplicationRole applicationRole) { ApplicationRole applicationRoleItem = null; ApplicationClaimGroup applicationClaimGroupItem = null; ApplicationClaimGroup currentGroup = null; ApplicationClaim applicationClaimItem = null; var parameters = new List <DbParameter> { base.GetParameter(RoleInfrastructure.RoleIdParameterName, applicationRole.RoleId), base.GetParameter(BaseInfrastructure.CurrentUserIdParameterName, applicationRole.CreatedById) }; using (var dataReader = await base.ExecuteReader(parameters, RoleInfrastructure.GetStoredProcedureName, CommandType.StoredProcedure)) { if (dataReader != null && dataReader.HasRows) { if (dataReader.Read()) { applicationRoleItem = new ApplicationRole { RoleId = dataReader.GetUnsignedIntegerValue(RoleInfrastructure.RoleIdColumnName), RoleName = dataReader.GetStringValue(RoleInfrastructure.RoleNameColumnName), RoleNameTranslation = dataReader.GetStringValue(RoleInfrastructure.RoleNameTranslationColumnName), RoleNameCode = dataReader.GetStringValue(RoleInfrastructure.RoleNameCodeColumnName), CreatedById = dataReader.GetUnsignedIntegerValue(BaseInfrastructure.CreatedByIdColumnName), CreatedDate = dataReader.GetDateTimeValueNullable(BaseInfrastructure.CreatedDateColumnName), ModifiedById = dataReader.GetUnsignedIntegerValue(BaseInfrastructure.ModifiedByIdColumnName), ModifiedDate = dataReader.GetDateTimeValueNullable(BaseInfrastructure.ModifiedDateColumnName), Active = dataReader.GetBooleanValue(BaseInfrastructure.ActiveColumnName), ClaimGroups = new List <ApplicationClaimGroup>() }; if (dataReader.NextResult()) { while (dataReader.Read()) { applicationClaimGroupItem = new ApplicationClaimGroup { ClaimGroupId = dataReader.GetUnsignedIntegerValue(ClaimGroupInfrastructure.ClaimGroupIdColumnName), ClaimGroupLabel = dataReader.GetStringValue(ClaimGroupInfrastructure.ClaimGroupLabelColumnName), ClaimGroupLabelTranslation = dataReader.GetStringValue(ClaimGroupInfrastructure.ClaimGroupLabelTranslationColumnName), ClaimGroupCode = dataReader.GetStringValue(ClaimGroupInfrastructure.ClaimGroupCodeColumnName), Claims = new List <ApplicationClaim>() }; applicationRoleItem.ClaimGroups.Add(applicationClaimGroupItem); } if (dataReader.NextResult()) { while (dataReader.Read()) { applicationClaimItem = new ApplicationClaim { ClaimId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimIdColumnName), ClaimGroupId = dataReader.GetUnsignedIntegerValue(ClaimInfrastructure.ClaimGroupIdColumnName), ClaimType = dataReader.GetStringValue(ClaimInfrastructure.ClaimTypeColumnName), ClaimLabel = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelColumnName), ClaimLabelTranslation = dataReader.GetStringValue(ClaimInfrastructure.ClaimLabelTranslationColumnName), ClaimCode = dataReader.GetStringValue(ClaimInfrastructure.ClaimCodeColumnName), Active = dataReader.GetBooleanValue(BaseInfrastructure.ActiveColumnName) }; if (currentGroup == null || currentGroup.ClaimGroupId != applicationClaimItem.ClaimGroupId) { currentGroup = applicationRoleItem.ClaimGroups.FirstOrDefault(c => c.ClaimGroupId == applicationClaimItem.ClaimGroupId); } currentGroup?.Claims.Add(applicationClaimItem); } } } } if (!dataReader.IsClosed) { dataReader.Close(); } } return(applicationRoleItem); } }
/// <summary> /// Set adds new ApplicationClaim object in cache with key. /// </summary> /// <param name="ApplicationClaim"></param> /// <returns></returns> public async Task Set(ApplicationClaim applicationClaim) { await base.Set(applicationClaim.ClaimCode, applicationClaim); }
/// <summary> /// Remove deletes ApplicationClaim object from cache. /// </summary> /// <param name="ApplicationClaim"></param> /// <returns></returns> public async Task Remove(ApplicationClaim applicationClaim) { await base.Remove(applicationClaim.ClaimCode); }
/// <summary> /// Get gets ApplicationClaim object from cache and returns queried. /// </summary> /// <param name="ApplicationClaim"></param> /// <returns></returns> public async Task <ApplicationClaim> Get(ApplicationClaim applicationClaim) { return(await base.Get <ApplicationClaim>(applicationClaim.ClaimCode)); }