public RemovedAccessRight(DbRemovedAccessRight dbRemovedAccessRight)
 {
     RemovedAccessRightId = dbRemovedAccessRight.DbRemovedAccessRightId;
     DateRemoved          = dbRemovedAccessRight.DateRemoved;
     RemovedByUser        = new User(dbRemovedAccessRight.DbRemovedByUser);
     AccessRight          = new AccessRight(dbRemovedAccessRight.DbAccessRight);
 }
        public RemovedAccessRight RemoveAccessRight(RemovedAccessRight removedAccessRight)
        {
            var dbContext = new DataContext();

            var dbRemovedAccessRightFound = dbContext.DbRemovedAccessRights.FirstOrDefault(dbRemovedAccessRight => dbRemovedAccessRight.DbAccessRight.DbAccessRightId == removedAccessRight.AccessRight.AccessRightId);

            if (dbRemovedAccessRightFound == null)
            {
                dbRemovedAccessRightFound                        = new DbRemovedAccessRight();
                dbRemovedAccessRightFound.DateRemoved            = removedAccessRight.DateRemoved;
                dbRemovedAccessRightFound.DbRemovedAccessRightId = removedAccessRight.RemovedAccessRightId;
                dbRemovedAccessRightFound.DbAccessRight          = GetDbAccessRight(dbContext, removedAccessRight.AccessRight.AccessRightId);
                dbRemovedAccessRightFound.DbRemovedByUser        = new UsersRepository().GetDbUser(dbContext, removedAccessRight.RemovedByUser.UserId);

                dbRemovedAccessRightFound = dbContext.DbRemovedAccessRights.Add(dbRemovedAccessRightFound);
                dbContext.SaveChanges();
            }


            return(new RemovedAccessRight(dbRemovedAccessRightFound));
        }