public async Task<UserAuthorisation> SaveUserAuthorisation(UserAuthorisation userAuthorisation)
 {
     var json = Serializer.SerializeToJson(userAuthorisation);
     var response = await authorisationManagerService.SaveUserAuthorisation(json).ConfigureAwait(false);
     userAuthorisation = ServiceResponse.Deserialize<UserAuthorisation>(response);
     return userAuthorisation;
 }
 public UserAuthorisation SaveUserAuthorisation(UserAuthorisation userAuthorisation)
 {
     return authorisationManagerServiceData.SaveUserAuthorisation(userAuthorisation);
 }
        private static bool CanPerformActivityCheck(UserAuthorisation userAuthorisation, string activityCode)
        {
            foreach (var role in userAuthorisation.Roles)
            {
                if (CanPerformActivityCheck(role, activityCode))
                {
                    return true;
                }
            }

            return false;
        }
        private static bool IsInRoleCheck(UserAuthorisation userAuthorisation, string roleCode)
        {
            if (userAuthorisation.Roles.Any(r => r.RoleCode.ToUpper().Equals(roleCode.ToUpper())))
            {
                return true;
            }

            foreach (var role in userAuthorisation.Roles)
            {
                if (IsInRoleCheck(role, roleCode))
                {
                    return true;
                }
            }

            return false;
        }
        public UserAuthorisation SaveUserAuthorisation(UserAuthorisation userAuthorisation)
        {
            var isInsert = userAuthorisation.Id.Equals(0);

            using (var conn = new SqlConnection(ConnectionString))
            {
                if (isInsert)
                {
                    userAuthorisation = conn.Insert(userAuthorisation, "Id");
                }
                else
                {
                    conn.Update(userAuthorisation, new Dictionary<string, object>() {{"Id", userAuthorisation.Id}}, new[] {"Id"});
                }
            }

            return userAuthorisation;
        }
        public UserNode(UserAuthorisation userAuthorisation)
        {
            UserAuthorisation = userAuthorisation;

            Roles = new ObservableCollection<RoleNode>();
        }
        private UserNode GetUserNode(UserAuthorisation userAuthorisation)
        {
            var userNode = new UserNode(userAuthorisation);
            userAuthorisation.Roles.ToList().ForEach(r =>
            {
                var rn = GetRoleNode(r);
                rn.ParentId = userAuthorisation.Id;
                rn.ParentType = ParentType.UserNode;

                userNode.Roles.Add(rn);
            });
            return userNode;
        }