public void RefreshUserRoles(ERUser user, IList <Guid> roleIds) { using (var odb = OdbFactory.Open(dbFileName)) { List <ERRelation> relations = odb.AsQueryable <ERRelation>().ToList(); foreach (var relation in relations) { if (relation.ValueId == user.Id && relation.RelationType == ERRelationType.RoleUser) { odb.Delete(relation); } } if (roleIds != null) { List <ERRelation> newRelations = new List <ERRelation>(); foreach (var roleId in roleIds) { newRelations.Add(new ERRelation() { Id = Guid.NewGuid(), KeyId = roleId, ValueId = user.Id, RelationType = ERRelationType.RoleUser }); } odb.Store(newRelations); } } }
public void AddUser(ERUser user) { user.Id = Guid.NewGuid(); using (var odb = OdbFactory.Open(dbFileName)) { odb.Store(user); } }
public void DeleteUser(ERUser user) { using (var odb = OdbFactory.Open(dbFileName)) { var dbUser = odb.AsQueryable <ERUser>().Where(er => er.Id == user.Id).FirstOrDefault(); if (dbUser != null) { odb.Delete(dbUser); } } }
public void DeleteUser(ERUser user) { using (var odb = OdbFactory.Open(dbFileName)) { var dbUser = odb.AsQueryable<ERUser>().Where(er => er.Id == user.Id).FirstOrDefault(); if (dbUser != null) { odb.Delete(dbUser); } } }
public List <ERRole> GetUserRoles(ERUser user) { List <ERRole> roles = new List <ERRole>(); using (var odb = OdbFactory.Open(dbFileName)) { List <ERRelation> relations = odb.AsQueryable <ERRelation>().Where(r => r.ValueId == user.Id && r.RelationType == ERRelationType.RoleUser).ToList(); roles = odb.AsQueryable <ERRole>().Where(role => relations.Select(r => r.KeyId).Contains(role.Id)).ToList(); } return(roles); }
public ActionResult Delete(Guid id, ERUser user) { try { ERRepositry.Instance.DeleteUser(user); return RedirectToAction("Index"); } catch { return View(); } }
public List <EROperation> GetUserOperations(ERUser user) { List <EROperation> operations = new List <EROperation>(); IList <ERRole> roles = GetUserRoles(user); foreach (var role in roles) { var opers = GetRoleOperations(role); operations.AddRange(opers); } return(operations); }
public ActionResult Create(ERUser user, List<Guid> roles) { try { ERRepositry.Instance.AddUser(user); ERRepositry.Instance.RefreshUserRoles(user, roles); return RedirectToAction("Index"); } catch { return View(); } }
public ActionResult SelectUserRoles(ERUser user) { var allRoles = ERRepositry.Instance.GetRoles(); var userRoles = new List<ERRole>(); if (user != null) { userRoles = ERRepositry.Instance.GetUserRoles(user); } ViewBag.AllRoles = allRoles; ViewBag.UserRoles = userRoles; return PartialView(); }
public void RefreshUserRoles(ERUser user, IList<Guid> roleIds) { using (var odb = OdbFactory.Open(dbFileName)) { List<ERRelation> relations = odb.AsQueryable<ERRelation>().ToList(); foreach (var relation in relations) { if (relation.ValueId == user.Id && relation.RelationType == ERRelationType.RoleUser) { odb.Delete(relation); } } if (roleIds != null) { List<ERRelation> newRelations = new List<ERRelation>(); foreach (var roleId in roleIds) { newRelations.Add(new ERRelation() { Id = Guid.NewGuid(), KeyId = roleId, ValueId = user.Id, RelationType = ERRelationType.RoleUser }); } odb.Store(newRelations); } } }
public List<ERRole> GetUserRoles(ERUser user) { List<ERRole> roles = new List<ERRole>(); using (var odb = OdbFactory.Open(dbFileName)) { List<ERRelation> relations = odb.AsQueryable<ERRelation>().Where(r => r.ValueId == user.Id && r.RelationType == ERRelationType.RoleUser).ToList(); roles = odb.AsQueryable<ERRole>().Where(role => relations.Select(r => r.KeyId).Contains(role.Id)).ToList(); } return roles; }
public List<EROperation> GetUserOperations(ERUser user) { List<EROperation> operations = new List<EROperation>(); IList<ERRole> roles = GetUserRoles(user); foreach (var role in roles) { var opers = GetRoleOperations(role); operations.AddRange(opers); } return operations; }
// // GET: /User/Create public ActionResult Create() { ERUser user = new ERUser(); return View(user); }