private BaseCommand GetUserDataCommand(FacebookEntityMetadata entityMetadata)
 {
     return(new BaseCommand {
         Name = entityMetadata.Id,
         Parameters = new List <BaseCommandParameter> {
             new BaseCommandParameter {
                 Name = "fields",
                 Value = UserFields
             }
         }
     });
 }
        private List <FacebookEntityMetadata> GetNodesMetadata(SocialNetworkServiceRequest request)
        {
            List <FacebookEntityMetadata> entitiesMetadata = new List <FacebookEntityMetadata>();

            request.Commands = GetNodesMetadataCommands(request.SocialIds);
            BaseCommandResult batchResults = ExecuteBatchCommand(request);

            foreach (dynamic batchResult in batchResults.Raw)
            {
                FacebookEntityMetadata facebookEntityMetadata = ToStatic <FacebookEntityMetadata>(batchResult);
                entitiesMetadata.Add(facebookEntityMetadata);
            }
            return(entitiesMetadata);
        }
        private BaseCommand GetNodeDataCommand(FacebookEntityMetadata entityMetadata)
        {
            string entityType = entityMetadata.Type;

            if (entityType == "page")
            {
                return(GetPageDataCommand(entityMetadata));
            }
            else if (entityType == "user")
            {
                return(GetUserDataCommand(entityMetadata));
            }
            else
            {
                throw new UnsupportedTypeException(entityType);
            }
        }