Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
 public void AddUser(ERUser user)
 {
     user.Id = Guid.NewGuid();
     using (var odb = OdbFactory.Open(dbFileName))
     {
         odb.Store(user);
     }
 }
Esempio n. 3
0
 public void AddUser(ERUser user)
 {
     user.Id = Guid.NewGuid();
     using (var odb = OdbFactory.Open(dbFileName))
     {
         odb.Store(user);
     }
 }
Esempio n. 4
0
 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);
         }
     }
 }
Esempio n. 5
0
 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);
         }
     }
 }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        public ActionResult Delete(Guid id, ERUser user)
        {
            try
            {
                ERRepositry.Instance.DeleteUser(user);

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        public ActionResult Create(ERUser user, List<Guid> roles)
        {
            try
            {
                ERRepositry.Instance.AddUser(user);
                ERRepositry.Instance.RefreshUserRoles(user, roles);

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
Esempio n. 10
0
        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();
        }
Esempio n. 11
0
        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);
                }
            }
        }
Esempio n. 12
0
        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;
        }
Esempio n. 13
0
        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;
        }
Esempio n. 14
0
 //
 // GET: /User/Create
 public ActionResult Create()
 {
     ERUser user = new ERUser();
     return View(user);
 }