Beispiel #1
0
        /// <summary>
        /// Synchronizes the child users.
        /// </summary>
        /// <param name="userID">The user ID.</param>
        /// <param name="groupID">The group ID.</param>
        public void SynchronizeChildUsers(long userID, long groupID)
        {
            if (userID <= 0)
            {
                return;
            }

            try
            {
                string newSSOAuthToken;
                SSOAuth_UserBasicData[] userBasicDataList =
                    SSOAuthWS.GetGroupUsers(GetSSOAuthData(FCMConfig.Security.SSOApplicationID, SSOAuthToken),
                                            out newSSOAuthToken);

                SSOAuthToken = newSSOAuthToken;

                if (userBasicDataList == null)
                {
                    return;
                }

                foreach (SSOAuth_UserBasicData userBasicData in userBasicDataList)
                {
                    if (userBasicData.RoleID.ToLower() != "child")
                    {
                        continue;
                    }

                    bool synchronised =
                        DbProvidersWS.SynchronizeChildUser(ValidationUtils.GetLong(userBasicData.UserID, 0),
                                                           userBasicData.Username, userID, groupID, userBasicData.Deleted) == 1;

                    if (!synchronised)
                    {
                        Logger.Log(LogLevels.Info,
                                   string.Format("Child user synchronize error | childUserID:'{0}', username:'******', parentID='{2}' groupID:'{3}'",
                                                 userBasicData.UserID, userBasicData.Username, userID, groupID));
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevels.Error, string.Format("userID:'{0}', groupID:'{1}'", userID, groupID), ex);
            }
        }