object IService.Get(FeaturesType feature, params object[] param)
        {
            object result = null;

            switch (feature)
            {
                case FeaturesType.Avatar:
                    result = GetAvararUri();
                    break;
                case FeaturesType.UserTimeline:
                    result = GetUserTimeline((int)param[0], (long)param[1]);
                    break;
                case FeaturesType.UserTimelineOlderPosts:
                    result = GetUserTimelineOlderPosts((int)param[0], (long)param[1]);
                    break;
                case FeaturesType.Followings:
                    result = GetFollowings();
                    break;
                case FeaturesType.Followers:
                    result = GetFollowers();
                    break;
                case FeaturesType.OAuth1:
                    if ((OAuth1Phase)param[0] == OAuth1Phase.RequestOAuthData)
                        result = GetOAuthData((string)param[1], (string)param[2]);
                    else if ((OAuth1Phase)param[0] == OAuth1Phase.Authorize)
                        result = Authorize((string)param[1], (string)param[2]);
                    break;
                default:
                    throw new NotImplementedException("Use GetAvailableFeatures() to know the implemented methods");
            }

            return result;
        }
Exemple #2
0
        private static ArticyData.Features ConvertFeatures(FeaturesType features)
        {
            List <ArticyData.Feature> articyDataFeatures = new List <ArticyData.Feature>();

            if ((features != null) && (features.Feature != null))
            {
                foreach (FeatureType feature in features.Feature)
                {
                    var articyDataFeature = new ArticyData.Feature();
                    foreach (PropertiesType properties in feature.Properties)
                    {
                        if (properties != null && properties.Items != null && properties.Items.Length > 0)
                        {
                            var articyDataFields = new List <Field>();
                            foreach (object item in properties.Items)
                            {
                                ConvertItem(item, articyDataFields);
                            }
                            articyDataFeature.properties.Add(new ArticyData.Property(articyDataFields));
                        }
                    }
                    articyDataFeatures.Add(articyDataFeature);
                }
            }
            return(new ArticyData.Features(articyDataFeatures));
        }
        object IService.Get(FeaturesType feature, params object[] param)
        {
            object result = null;

            switch (feature)
            {
                case FeaturesType.Avatar:
                    result = GetAvararUri();
                    break;
                case FeaturesType.Skills:
                    result = GetSkills();
                    break;

                case FeaturesType.Followings:
                    result = GetFriend();
                    break;
                case FeaturesType.Followers:
                    result = GetFriend();
                    break;

                case FeaturesType.OAuth2:
                    result = ( param.Length > 1 ?  GetOAuthData((string)param[0], (string)param[1], (string)param[2], (string)param[3], (string)param[4]) : GetOAuthData(null,null,(string)param[0],null,null));
                    break;

                default:
                    throw new NotImplementedException("Use GetAvailableFeatures() to know the implemented methods");
            }

            return result;
        }
        object IService.Get(FeaturesType feature, params object[] param)
        {
            object result = null;

            switch (feature)
            {
                case FeaturesType.OAuth2:
                    result = GetOAuthData();
                    break;
                case FeaturesType.Avatar:
                    result = GetAvararUri();
                    break;
                case FeaturesType.UserTimeline:
                    result = GetUserTimeline((long)param[0], (long)param[1], (DateTime)param[2]);
                    break;
                case FeaturesType.UserTimelineOlderPosts:
                    result = GetUserTimelineOlderPosts((long)param[0], (long)param[1], (DateTime)param[2]);
                    break;
                case FeaturesType.Followings:
                case FeaturesType.Followers:
                    result = GetFriend();
                    break;
                default:
                    throw new NotImplementedException("Use GetAvailableFeatures() to know the implemented methods");
            }

            return result;
        }
        /// <summary>
        /// Get the desription of a feature.
        /// </summary>
        /// <remarks>This description is shown to the user throw the client.</remarks>
        /// <param name="feature">The feature.</param>
        /// <returns>The description.</returns>
        public static string GetFeatureDescription(FeaturesType feature)
        {
            string result = "There is no description for this feature";

            switch (feature)
            {
                case FeaturesType.Avatar:
                    result = "Show your avatar";
                    break;
                case FeaturesType.TFSCollection:
                    result = "Suggest people in your collection";
                    break;
                case FeaturesType.TFSTeamProject:
                    result = "Suggest people in your team project";
                    break;
                case FeaturesType.IterationNetwork:
                    result = "Build a iteration network of friends";
                    break;
                case FeaturesType.InteractiveNetwork:
                    result = "Build an interactive network of friends";
                    break;
                case FeaturesType.Followers:
                    result = "Access your followers";
                    break;
                case FeaturesType.Followings:
                    result = "Access your followings";
                    break;
                case FeaturesType.MoreInstance:
                    result = "More instances available";
                    break;
                case FeaturesType.OAuth1:
                    result = "OAuth version 1 authorization required";
                    break;
                case FeaturesType.OAuth2:
                    result = "OAuth version 2 authorization required";
                    break;
                case FeaturesType.Post:
                    result = "Post a message";
                    break;
                case FeaturesType.Skills:
                    result = "Show your skills";
                    break;
                case FeaturesType.TFSAuthenticationWithDomain:
                    result = "Team Foundation Server authentication required secifing custom domain";
                    break;
                case FeaturesType.TFSAuthenticationWithoutDomain:
                    result = "Team Foundation Server authentication required with default domain";
                    break;
                case FeaturesType.UserTimeline:
                    result = "Show your timeline";
                    break;
                case FeaturesType.UserTimelineOlderPosts:
                    result = "Show older posts from user timeline";
                    break;
            }

            return result;
        }
        object IService.Get(FeaturesType feature, params object[] param)
        {
            object result = null;

            switch (feature)
            {

                case FeaturesType.OAuth2:
                    if (param.Length > 0)
                    {
                        result = GetOAuthData((string)param[0], (string)param[1], (string)param[2], (string)param[3], (string)param[4]);
                    }
                    else
                    {
                        result = GetOAuthData(null, null, null, null,null);
                    }
                     break;
                case FeaturesType.Avatar:
                    result = GetAvararUri();
                    break;
                case FeaturesType.Followings:
                    result = GetFollowing();
                    break;
                case FeaturesType.Followers:
                    result = GetFollowers();
                    break;

                case FeaturesType.IterationNetwork:
                    result = GetIterationFriends();
                    break;

                case FeaturesType.InteractiveNetwork:
                    result = GetInteractivePeople();
                    break;

              case FeaturesType.TFSTeamProject:
                    result = GetAllPeopleInProject();
                    break;

                case FeaturesType.Repository:
                    result = FindRepository((string)param[0]);
                    break;
                case FeaturesType.Labels:
                    result = RegisterLabels((string) param[0]);
                    break;
                case FeaturesType.UsersIssuesInvolved:
                    result = UsersIssuesInvolved((string) param[0], (string) param[1]);
                    break;
                default:
                    throw new NotImplementedException("Use GetAvailableFeatures() to know the implemented methods");

             }

            return result;
        }
        object IService.Get(FeaturesType feature, params object[] param)
        {
            object result = null;

            switch (feature)
            {
                case FeaturesType.Reputation:
                    result = GetCoderwallReputation();
                    break;
                default:
                    throw new NotImplementedException("Use GetAvailableFeatures() to know the implemented methods");
            }

            return result;
        }
        object IService.Get(FeaturesType feature, params object[] param)
        {
            object result = null;

            switch (feature)
            {
                case FeaturesType.IterationNetwork:
                    result = GetDynamicFriends();
                    break;
                case FeaturesType.InteractiveNetwork:
                    result = GetInteractiveFriends();
                    break;
                case FeaturesType.TFSCollection:
                    result = GetPeopleInAllCollections();
                    break;
                case FeaturesType.TFSTeamProject:
                    result = GetPeopleInAllProjects();
                    break;
                default:
                    throw new NotImplementedException("Use GetAvailableFeatures() to know the implemented methods");
            }

            return result;
        }
        /// <summary>
        /// Establishes if a feature is public.
        /// </summary>
        /// <param name="feature">The feature.</param>
        /// <returns>True if the feature is public, false otherwise.</returns>
        public static bool IsPublicFeature(FeaturesType feature)
        {
            bool result = false;

            switch (feature)
            {
                case FeaturesType.Avatar:
                    result = true;
                    break;
                case FeaturesType.TFSCollection:
                    result = true;
                    break;
                case FeaturesType.TFSTeamProject:
                    result = true;
                    break;
                case FeaturesType.IterationNetwork:
                    result = true;
                    break;
                case FeaturesType.InteractiveNetwork:
                    result = true;
                    break;
                case FeaturesType.Followers:
                    result = true;
                    break;
                case FeaturesType.Followings:
                    result = true;
                    break;
                case FeaturesType.MoreInstance:
                    result = false;
                    break;
                case FeaturesType.Skills:
                    result = true;
                    break;
                case FeaturesType.UserTimeline:
                    result = true;
                    break;
            }

            return result;
        }