public void DeleteFile(string id)
        {
            FileCache.Reset(MakeId(id));
            FolderCache.Reset(MakeId(GetParentFolderId(id)));

            var file = GetFileById(id);

            if (file is SharePointFileErrorEntry)
            {
                return;
            }

            file.DeleteObject();
            clientContext.ExecuteQuery();
        }
Exemplo n.º 2
0
        public void AddLink(string obj, LoginProfile profile)
        {
            CacheEntry.Reset(obj);

            using (var db = new DbManager(_dbid))
            {
                db.ExecuteScalar <int>(
                    new SqlInsert(LinkTable, true)
                    .InColumnValue("id", obj)
                    .InColumnValue("uid", profile.HashId)
                    .InColumnValue("provider", profile.Provider)
                    .InColumnValue("profile", profile.ToSerializedString())
                    .InColumnValue("linked", DateTime.UtcNow)
                    );
            }
        }
Exemplo n.º 3
0
        protected void CacheResetChilds(string parentDriveId, bool?childFolder = null)
        {
            if (!childFolder.HasValue || !childFolder.Value)
            {
                CacheChildFiles.Reset(GoogleDriveProviderInfo.ID + parentDriveId);
            }

            if (!childFolder.HasValue || childFolder.Value)
            {
                CacheChildFolders.Reset(GoogleDriveProviderInfo.ID + parentDriveId);
            }
        }
Exemplo n.º 4
0
 protected void CacheReset(string driveId = null, bool?childFolder = null)
 {
     if (driveId == null)
     {
         CacheEntry.Clear();
         CacheChildFiles.Clear();
         CacheChildFolders.Clear();
     }
     else
     {
         if (driveId == GoogleDriveProviderInfo.DriveRootId)
         {
             driveId = "root";
         }
         CacheEntry.Reset(GoogleDriveProviderInfo.ID + driveId);
         CacheResetChilds(driveId, childFolder);
     }
 }
Exemplo n.º 5
0
 public void CloseSession(IStorageProviderSession session)
 {
     FsCache.Reset(GetSessionKey(session));
     _service.CloseSession(session);
 }
        public File GetFileById(object id)
        {
            return(FileCache.Get(MakeId(id), () =>
            {
                var file = clientContext.Web.GetFileByServerRelativeUrl((string)id);
                clientContext.Load(file);
                clientContext.Load(file.ListItemAllFields);

                try
                {
                    clientContext.ExecuteQuery();
                }
                catch (Exception e)
                {
                    FolderCache.Reset(MakeId(GetParentFolderId(id)));
                    return new SharePointFileErrorEntry(file.Context, file.Path)
                    {
                        Error = e.Message, ID = id
                    };
                }

                return file;
            }));
        }
Exemplo n.º 7
0
 public override void RemoveProviderInfo(int linkId)
 {
     ProviderCache.Reset(_rootKey, linkId.ToString(CultureInfo.InvariantCulture));
     base.RemoveProviderInfo(linkId);
 }