public static void Seed(ApplicationDbContext context) { if (context.Features.Count() != SecurityConfiguration.Features.Count()) { context.Features.RemoveRange(context.Features); var features = SecurityConfiguration.Features.Select(feat => Feature.Create(feat.Name)); context.Features.AddRange(features); context.SaveChanges(); } if (context.Roles.Count() != SecurityConfiguration.Roles.Count()) { context.Roles.RemoveRange(context.Roles); var roles = SecurityConfiguration.Roles .Select(r => Role.Create(r.Name)) .ToList(); context.Roles.AddRange(roles); foreach (var roleConfig in SecurityConfiguration.Roles) { var featureConfigs = SecurityConfiguration.Features.Where(f => f.Roles.Contains(roleConfig.Name)); var role = roles.Single(r => r.Name == roleConfig.Name); foreach (var feature in featureConfigs) { var roleFeature = RoleFeature.Create(role, context.Features.Single(x => x.Name == feature.Name)); role.AddRoleFeature(roleFeature); } } context.SaveChanges(); } }
public void RoleFeature_PublicProperties() { var applicationRole = new ApplicationRole() { Id = "1" }; var feature = new Feature() { Id = 1 }; var obj = new RoleFeature { RoleFeatureId = 1, ApplicationRole_Id = "name", ApplicationRole = applicationRole, Feature_Id = 1, Feature = feature }; Assert.AreEqual(1, obj.RoleFeatureId); Assert.AreEqual("name", obj.ApplicationRole_Id); Assert.AreEqual(applicationRole, obj.ApplicationRole); Assert.AreEqual(1, obj.Feature_Id); Assert.AreEqual(feature, obj.Feature); }
public void RoleAddFeature(int roleId, int FeatureId) { RoleFeature rf = new RoleFeature() { FeatureId = FeatureId, RoleId = roleId }; rfSrv.Create(rf); }
public ActionResult Save(RoleFeatureModel model) { RoleFeature rf = new RoleFeature(); rf.FeatureId = model.FeatureId; rf.RoleId = model.RoleId; roleFeatureService.Add(rf); unitOfWork.Commit(); return(PartialView()); }
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { RoleFeature feature = featureService.GetFirstOrDefault(IdentityHelper.UserId); if (feature != null) { //導到別頁 filterContext.HttpContext.Response.RedirectToRoute(new { controller = feature.ControllerName, action = feature.ActionName }); } else { //用URL filterContext.HttpContext.Response.Redirect("~/Home/Logout"); } //filterContext.Result = new ViewResult { ViewName = AuthorizationFailView }; }
public static void AddRoleFeatures(AuthorizeDbContext context) { var roleFeatures = new RoleFeature[] { new RoleFeature { FeatureId = 1, RoleId = 1 }, new RoleFeature { FeatureId = 2, RoleId = 1 }, }; foreach (var rp in roleFeatures) { context.RoleFeatures.Add(rp); } context.SaveChanges(); }
public static void Seed(ApplicationDbContext context) { if (context.Features.Count() != SecurityConfiguration.Features.Count()) { context.Features.RemoveRange(context.Features); var features = SecurityConfiguration.Features.Select(feat => Feature.Create(feat.Name)); context.Features.AddRange(features); context.SaveChanges(); } if (context.Roles.Count() != SecurityConfiguration.Roles.Count()) { context.Roles.RemoveRange(context.Roles); var roles = SecurityConfiguration.Roles .Select(r => Role.Create(r.Name)) .ToList(); context.Roles.AddRange(roles); foreach (var roleConfig in SecurityConfiguration.Roles) { var featureConfigs = SecurityConfiguration.Features.Where(f => f.Roles.Contains(roleConfig.Name)); var role = roles.Single(r => r.Name == roleConfig.Name); foreach (var feature in featureConfigs) { var roleFeature = RoleFeature.Create(role, context.Features.Single(x => x.Name == feature.Name)); role.AddRoleFeature(roleFeature); //EF workarround to avoid DbUpdateConcurrencyException. //EF considered (bug?) the entity in modified state (n-n relationship) but it's a new object (Added) //https://docs.microsoft.com/fr-fr/ef/core/saving/concurrency //context.Entry(roleFeature).State = EntityState.Added; } } context.SaveChanges(); } }
public bool AddUserRole(UserRolesDTO role) { UserRole userRole = new UserRole(); userRole.UserRoleName = role.RoleName; userRole.UserRoleDescriptionAr = role.RoleDescriptionAr; userRole.UserRoleDescriptionEn = role.RoleDescriptionEn; userRole = operationalDataContext.UserRoles.Add(userRole); foreach (FeaturesDTO feature in role.RoleFeatures) { var roleFeature = new RoleFeature { FeatureId = feature.FeatureId, RoleId = userRole.UserRoleId }; operationalDataContext.RoleFeatures.Add(roleFeature); } return(operationalDataContext.SaveChanges() > 0); }
public void Add(RoleFeature entity) { roleFeatureRepository.Add(entity); }
public void Update(RoleFeature entity) { roleFeatureRepository.Update(entity); }
public bool Remove(RoleFeature obj) { return(database.ExecuteNonQuery("RemoveRoleFeature", obj.RoleId, obj.FeatureId) > 0); }
public bool Add(RoleFeature obj) { return(database.ExecuteNonQuery("AddRoleFeature", obj.RoleId, obj.FeatureId) > 0); }
public ActionResult CreateFeature(RoleFeature feature) { roleFeatureService.Create(feature); return(RedirectToAction("EditFeature", new { id = feature.RoleNum })); }