Exemple #1
0
        public async Task <IActionResult> OnPostAsync(IFormFile file)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            if (file != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await file.CopyToAsync(memoryStream);

                    memoryStream.Position = 0;

                    AssemblyModel assemblyModel = new AssemblyModel();
                    assemblyModel.Author           = User.GetGitHubLogin();
                    assemblyModel.HasOriginal      = true;
                    assemblyModel.OriginalFileName = file.FileName;
                    assemblyModel.TimeStamp        = DateTime.UtcNow;
                    assemblyModel.BuildFromStream(memoryStream);

                    memoryStream.Position = 0;

                    var originalStream = KeepOriginal ? memoryStream : null;

                    var id = await assemblyRepository.UploadAssemblyAsync(assemblyModel, originalStream);

                    return(RedirectToPage("Review", new { id }));
                }
            }

            return(RedirectToPage("./Index"));
        }