Ejemplo n.º 1
0
        private async Task <string> CreateFile(string fileName, byte[] content, CancellationToken token)
        {
            var creationInfo = new FileCreationInfo
            {
                Name = fileName,
                Data = content,
            };

            var creationResult = await this.birdsApiClient.CreateFileAsync(creationInfo, token).ConfigureAwait(false);

            return(creationResult.Id);
        }
Ejemplo n.º 2
0
        public async Task CreateInRepoTestAsync(string filePath)
        {
            var content      = System.IO.File.ReadAllBytes(filePath);
            var creationInfo = new FileCreationInfo
            {
                Name = "testFile",
                Data = content,
            };

            var result = await this.FilesRepository.CreateAsync(creationInfo.Data, creationInfo.Name, CancellationToken.None).ConfigureAwait(false);

            Assert.NotNull(result);
        }
Ejemplo n.º 3
0
        public async Task CreateTestAsync(string filePath)
        {
            var content      = System.IO.File.ReadAllBytes(filePath);
            var creationInfo = new FileCreationInfo
            {
                Name = "testFile",
                Data = content,
            };

            var result = await this.BirdsApiClient.CreateFileAsync(creationInfo, CancellationToken.None).ConfigureAwait(false);

            Assert.NotNull(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 显示保存文件对话框。
        /// Shows a 'save file dialog' dialog.
        /// </summary>
        /// <param name="fileCreationInfo"></param>
        /// <returns></returns>
        public string BrowseForNewFile(FileCreationInfo fileCreationInfo)
        {
            string fileFullName = string.Empty;

            //OpenFileDialog
            using (SaveFileDialog fdiag = new SaveFileDialog())
            {
                fdiag.AddExtension = true;
                if (!string.IsNullOrEmpty(fileCreationInfo.ExtensionNameWithDot))
                {
                    fdiag.DefaultExt = fileCreationInfo.ExtensionNameWithDot;
                }
                if (!string.IsNullOrWhiteSpace(fileCreationInfo.FileFilter))
                {
                    fdiag.Filter = fileCreationInfo.FileFilter;
                }
                if (fileCreationInfo.DefualtFileName != null && fileCreationInfo.DefualtFileName.Length > 0)
                {
                    fdiag.FileName = fileCreationInfo.DefualtFileName;
                }
                fdiag.FilterIndex = 0;
                if (string.IsNullOrEmpty(fileCreationInfo.Description))
                {
                    fdiag.Title = "请选择文件的保存位置和名称";
                }
                else
                {
                    fdiag.Title = fileCreationInfo.Description;
                }
                if (fileCreationInfo.InitialPath != null && fileCreationInfo.InitialPath.Length > 0 && Directory.Exists(fileCreationInfo.InitialPath))
                {
                    fdiag.InitialDirectory = fileCreationInfo.InitialPath;
                }

                //fdiag.CheckFileExists = true;
                fdiag.CheckPathExists = true;

                if (fdiag.ShowDialog(ServiceContainer.GetInstance <IMainView>().MainWin32Window) == DialogResult.OK)
                {
                    fileFullName = fdiag.FileNames.FirstOrDefault();
                }
            }
            return(fileFullName);
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> CreateAsync(
            [FromBody] FileCreationInfo creationInfo,
            CancellationToken token)
        {
            token.ThrowIfCancellationRequested();

            if (creationInfo == null)
            {
                return(BadRequest($"creationInfo cannot be null"));
            }

            var fileId = await filesRepository.CreateAsync(creationInfo.Data, creationInfo.Name, token).ConfigureAwait(false);

            var creationResult = new FileCreationResultInfo
            {
                Id = fileId,
            };

            return(Ok(creationResult));
        }
Ejemplo n.º 6
0
        public async Task <FileCreationResultInfo> CreateFileAsync(FileCreationInfo creationInfo, CancellationToken token)
        {
            if (creationInfo == null)
            {
                throw new ArgumentNullException(nameof(creationInfo));
            }

            token.ThrowIfCancellationRequested();

            var content        = JsonConvert.SerializeObject(creationInfo);
            var requestContent = new StringContent(content, Encoding.UTF8, MediaTypeNames.Application.Json);
            var requestUri     = $"{LocalUrl}/api/v1/files";
            var createResult   = await httpClient.PostAsync(requestUri, requestContent, token).ConfigureAwait(false);

            createResult.EnsureSuccessStatusCode();

            var responseContent = await createResult.Content.ReadAsStringAsync().ConfigureAwait(false);

            var fileCreationResultInfo = JsonConvert.DeserializeObject <FileCreationResultInfo>(responseContent);

            return(fileCreationResultInfo);
        }