public void AddFileAsync(string fileName, byte[] buffer)
        {
            new Thread(() =>
            {
                FileAddStart?.Invoke(this, fileName);

                try
                {
                    AddFile(fileName, buffer);
                    FileAddEnd?.Invoke(this, fileName);
                }
                catch (Exception ex)
                {
                    FileAddEnd?.Invoke(this, fileName, ex);
                }
            }).Start();
        }
        public void AddFileAsync(FileInfo localFile)
        {
            new Thread(() =>
            {
                FileAddStart?.Invoke(this, localFile.Name);

                try
                {
                    byte[] buffer = FileToBuffer(localFile);
                    AddFile(localFile.Name, buffer);

                    FileAddEnd?.Invoke(this, localFile.Name);
                }
                catch (Exception ex)
                {
                    FileAddEnd?.Invoke(this, localFile.Name, ex);
                }
            }).Start();
        }