/// <summary>
        /// Create children http request with specific options
        /// </summary>
        /// <param name="requestBuilder">request builder</param>
        /// <param name="top">The number of items to return in a result set.</param>
        /// <param name="orderBy">Sort the order of items in the response collection</param>
        /// <param name="filter">Filters the response based on a set of criteria.</param>
        /// <returns>Returns the http request</returns>
        public static IItemChildrenCollectionRequest CreateChildrenRequest(this IBaseRequestBuilder requestBuilder, int top, OrderBy orderBy = OrderBy.None, string filter = null)
        {
            IItemChildrenCollectionRequest oneDriveitemsRequest = null;

            if (orderBy == OrderBy.None && string.IsNullOrEmpty(filter))
            {
                return(((IItemRequestBuilder)requestBuilder).Children.Request().Top(top));
            }

            if (orderBy == OrderBy.None)
            {
                return(((IItemRequestBuilder)requestBuilder).Children.Request().Top(top).Filter(filter));
            }

            string order = OneDriveHelper.TransformOrderByToODataString(orderBy);

            if (string.IsNullOrEmpty(filter))
            {
                oneDriveitemsRequest = ((IItemRequestBuilder)requestBuilder).Children.Request().Top(top).OrderBy(order);
            }
            else
            {
                oneDriveitemsRequest = ((IItemRequestBuilder)requestBuilder).Children.Request().Top(top).OrderBy(order).Filter(filter);
            }

            return(oneDriveitemsRequest);
        }
Example #2
0
        public static IObservable <TEntity[]> ListAllItems <TEntity>(this IBaseRequestBuilder builder,
                                                                     ICloudOfficeToken cloudOfficeToken = null, Action <ICloudOfficeToken> saveToken = null, Func <TEntity, bool> filter = null) where TEntity : Entity
        {
            var request = (IBaseRequest)builder.CallMethod("Request");

            return(request.ListAllItems(cloudOfficeToken, saveToken, filter));
        }
Example #3
0
        /// <summary>
        ///  Initializes a new instance of the <see cref="GraphOneDriveStorageItem"/> class.
        /// </summary>
        /// <param name="oneDriveProvider">Instance of Graph Client class</param>
        /// <param name="requestBuilder">Http request builder.</param>
        /// <param name="oneDriveItem">OneDrive's item</param>
        public GraphOneDriveStorageItem(IBaseClient oneDriveProvider, IBaseRequestBuilder requestBuilder, DriveItem oneDriveItem)
        {
            _requestBuilder   = requestBuilder;
            _oneDriveProvider = oneDriveProvider;
            _oneDriveItem     = oneDriveItem;
            _name             = oneDriveItem.Name;
            _dateCreated      = oneDriveItem.CreatedDateTime;
            _dateModified     = oneDriveItem.LastModifiedDateTime;
            _displayName      = _name;
            _folderId         = oneDriveItem.Id;
            if (IsFile())
            {
                _displayType = "File";
            }
            else if (IsFolder())
            {
                _displayType = "Folder";
            }
            else
            {
                _displayType = "OneNote";
            }

            // ParentReference null means is root
            if (oneDriveItem.ParentReference?.Path != null)
            {
                _path = oneDriveItem.ParentReference.Path.Replace("/drive/root:", string.Empty);
            }
        }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OneDriveRequestSource{T}"/> class.
 /// </summary>
 /// <param name="provider">OneDrive Data Client Provider</param>
 /// <param name="requestBuilder">Http request to execute</param>
 /// <param name="orderBy">Sort the order of items in the response collection</param>
 /// <param name="filter">Filters the response based on a set of criteria.</param>
 public OneDriveRequestSource(IBaseClient provider, IBaseRequestBuilder requestBuilder, OrderBy orderBy, string filter)
 {
     _provider       = provider;
     _requestBuilder = requestBuilder;
     _orderBy        = orderBy;
     _filter         = filter;
 }
Example #5
0
        private void OnProviderStateChanged(object sender, ProviderStateChangedEventArgs e)
        {
            if (e.NewState == ProviderState.SignedIn)
            {
                var graphClient = ProviderManager.Instance.GlobalProvider.GetClient();

                TeamsChannelMessagesRequestBuilder = graphClient.Teams["02bd9fd6-8f93-4758-87c3-1fb73740a315"].Channels["19:[email protected]"].Messages;
            }
            else
            {
                ClearRequestBuilders();
            }
        }
Example #6
0
        private void OnProviderStateChanged(object sender, ProviderStateChangedEventArgs e)
        {
            if (e.NewState == ProviderState.SignedIn)
            {
                var graphClient = ProviderManager.Instance.GlobalProvider.GetClient();

                PlannerTasksRequestBuilder = graphClient.Me.Planner.Tasks;
            }
            else
            {
                ClearRequestBuilders();
            }
        }
Example #7
0
        private void UpdateRequestBuilder()
        {
            var provider = ProviderManager.Instance.GlobalProvider;

            switch (provider?.State)
            {
            case ProviderState.SignedIn:
                RecentDriveItemsRequestBuilder = provider.GetClient().Me.Drive.Recent();
                break;

            default:
                RecentDriveItemsRequestBuilder = null;
                break;
            }
        }
Example #8
0
        private object CreateItemGraphSdk(DriveItem oneDriveItem)
        {
            IBaseRequestBuilder requestBuilder = (IBaseRequestBuilder)((IGraphServiceClient)_provider).Drive.Items[oneDriveItem.Id];

            if (oneDriveItem.Folder != null)
            {
                return(new OneDriveStorageFolder(_provider, requestBuilder, oneDriveItem));
            }

            if (oneDriveItem.File != null)
            {
                return(new OneDriveStorageFile(_provider, requestBuilder, oneDriveItem));
            }

            return(new OneDriveStorageItem(_provider, requestBuilder, oneDriveItem));
        }
        /// <summary>
        ///  Initializes a new instance of the <see cref="OneDriveStorageItem"/> class.
        /// </summary>
        /// <param name="oneDriveProvider">Instance of Graph Client class</param>
        /// <param name="requestBuilder">Http request builder.</param>
        /// <param name="oneDriveItem">OneDrive's item</param>
        public OneDriveStorageItem(IBaseClient oneDriveProvider, IBaseRequestBuilder requestBuilder, DriveItem oneDriveItem)
        {
            StorageItemPlatformService = OneDriveService.ServicePlatformInitializer.CreateOneDriveStorageItemPlatformInstance(OneDriveService.Instance, this);

            RequestBuilder   = requestBuilder;
            Provider         = oneDriveProvider;
            OneDriveItem     = oneDriveItem;
            Name             = oneDriveItem.Name;
            FileSize         = oneDriveItem.Size;
            DateCreated      = oneDriveItem.CreatedDateTime;
            DateModified     = oneDriveItem.LastModifiedDateTime;
            DisplayName      = Name;
            FolderRelativeId = oneDriveItem.Id;
            if (IsFile())
            {
                DisplayType = "File";
            }
            else if (IsFolder())
            {
                DisplayType = "Folder";
            }
            else
            {
                DisplayType = "OneNote";
            }

            // ParentReference null means is root
            if (oneDriveItem.ParentReference?.Path != null)
            {
                string rootMarker = "/root:";
                int    index      = oneDriveItem.ParentReference.Path.LastIndexOf(rootMarker) + rootMarker.Length;
                if (index >= 0)
                {
                    Path = oneDriveItem.ParentReference.Path.Substring(index);
                }
            }
        }
Example #10
0
        /// <summary>
        /// Initialize a OneDriveStorageItem
        /// </summary>
        /// <param name="oneDriveItem">A OneDrive item</param>
        /// <returns>New instance of OneDriveStorageItem</returns>
        protected IOneDriveStorageItem InitializeOneDriveStorageItem(DriveItem oneDriveItem)
        {
            IBaseRequestBuilder requestBuilder = (IBaseRequestBuilder)((IOneDriveClient)Provider).Drive.Items[oneDriveItem.Id];

            return(new OneDriveStorageItem(Provider, requestBuilder, oneDriveItem));
        }
Example #11
0
 private void ClearRequestBuilders()
 {
     PlannerTasksRequestBuilder = null;
 }
Example #12
0
 private void ClearRequestBuilders()
 {
     TeamsChannelMessagesRequestBuilder = null;
 }
Example #13
0
 private void ClearRequestBuilders()
 {
     CalendarViewRequestBuilder = null;
 }
Example #14
0
 public static IObservable <Entity[]> ListAllItems(this IBaseRequestBuilder builder, Action <ICloudOfficeToken> saveToken = null, ICloudOfficeToken cloudOfficeToken = null)
 => builder.ListAllItems <Entity>(cloudOfficeToken, saveToken);
 /// <summary>
 /// Initializes a new instance of the <see cref="OneDriveStorageFile"/> class.
 /// <para>Permissions : Have full access to user files and files shared with user</para>
 /// </summary>
 /// <param name="graphProvider">Instance of Graph Client class</param>
 /// <param name="requestBuilder">Http request builder.</param>
 /// <param name="oneDriveItem">OneDrive's item</param>
 public OneDriveStorageFile(IBaseClient graphProvider, IBaseRequestBuilder requestBuilder, DriveItem oneDriveItem)
     : base(graphProvider, requestBuilder, oneDriveItem)
 {
     StorageFilePlatformService = OneDriveService.ServicePlatformInitializer.CreateOneDriveStorageFilePlatformInstance(OneDriveService.Instance, this);
     ParseFileType(oneDriveItem.Name);
 }
        /// <summary>
        /// Initialize a GraphOneDriveStorageFile
        /// </summary>
        /// <param name="oneDriveItem">A OneDrive item</param>
        /// <returns>New instance of GraphOneDriveStorageFile</returns>
        internal OneDriveStorageFile InitializeOneDriveStorageFile(DriveItem oneDriveItem)
        {
            IBaseRequestBuilder requestBuilder = GetDriveRequestBuilderFromDriveId(oneDriveItem.ParentReference.DriveId).Items[oneDriveItem.Id];

            return(new OneDriveStorageFile(Provider, requestBuilder, oneDriveItem));
        }
Example #17
0
 public static IObservable <Entity[]> ListAllItems(this IBaseRequestBuilder builder, Action <ITokenStore> saveToken = null, ITokenStore tokenStore = null) => builder.ListAllItems <Entity>(tokenStore, saveToken);
 private void ClearRequestBuilders()
 {
     MessagesRequestBuilder = null;
 }
Example #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GraphOneDriveStorageFile"/> class.
 /// <para>Permissions : Have full access to user files and files shared with user</para>
 /// </summary>
 /// <param name="graphProvider">Instance of Graph Client class</param>
 /// <param name="requestBuilder">Http request builder.</param>
 /// <param name="oneDriveItem">OneDrive's item</param>
 public GraphOneDriveStorageFile(IBaseClient graphProvider, IBaseRequestBuilder requestBuilder, DriveItem oneDriveItem)
     : base(graphProvider, requestBuilder, oneDriveItem)
 {
     ParseFileType(oneDriveItem.Name);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OneDriveStorageFolder"/> class.
 /// <para>Permissions : Have full access to user files and files shared with user</para>
 /// </summary>
 /// <param name="oneDriveProvider">Instance of OneDriveClient class</param>
 /// <param name="requestBuilder">Http request builder.</param>
 /// <param name="oneDriveItem">OneDrive's item</param>
 public OneDriveStorageFolder(IBaseClient oneDriveProvider, IBaseRequestBuilder requestBuilder, DriveItem oneDriveItem)
     : base(oneDriveProvider, requestBuilder, oneDriveItem)
 {
 }
Example #21
0
        /// <summary>
        /// Initialize a GraphOneDriveStorageFile
        /// </summary>
        /// <param name="oneDriveItem">A OneDrive item</param>
        /// <returns>New instance of GraphOneDriveStorageFile</returns>
        protected IOneDriveStorageFile InitializeOneDriveStorageFile(DriveItem oneDriveItem)
        {
            IBaseRequestBuilder requestBuilder = (IBaseRequestBuilder)((IGraphServiceClient)Provider).Drive.Items[oneDriveItem.Id];

            return(new GraphOneDriveStorageFile(Provider, requestBuilder, oneDriveItem));
        }
Example #22
0
        /// <summary>
        /// Returns the Path to use for the Resource property of Subscription object when creating a new subscription
        /// </summary>
        /// <param name="requestBuilder">Current request builder</param>
        /// <returns>URL to use for the Resource property of Subscription object when creating a new subscription</returns>
        public static string GetResourceSubscriptionPath(this IBaseRequestBuilder requestBuilder)
        {
            var pathAndQuery = new Uri(requestBuilder.RequestUrl).PathAndQuery;

            return(pathAndQuery.Substring(pathAndQuery.IndexOf('/', 1))); //skips first / to ignore the version
        }
Example #23
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OneDriveStorageFolder"/> class.
 /// <para>Permissions : Have full access to user files and files shared with user</para>
 /// </summary>
 /// <param name="oneDriveProvider">Instance of Graph Client class</param>
 /// <param name="requestBuilder">Http request builder.</param>
 /// <param name="oneDriveItem">OneDrive's item</param>
 public OneDriveStorageFolder(IBaseClient oneDriveProvider, IBaseRequestBuilder requestBuilder, DriveItem oneDriveItem)
     : base(oneDriveProvider, requestBuilder, oneDriveItem)
 {
     StorageFolderPlatformService = OneDriveService.ServicePlatformInitializer.CreateOneDriveStorageFolderPlatformInstance(OneDriveService.Instance, this);
 }
 public static IUserRequestBuilder Me(this IBaseRequestBuilder builder) => builder.Client.Me();