public async Task <IActionResult> OnPostUploadAsync()
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToPage());
            }

            var file = Upload.Files.SingleOrDefault();

            if (file != null)
            {
                using (var openReadStream = file.OpenReadStream())
                {
                    ReviewModel reviewModel = null;
                    if (!Upload.IsAutomatic)
                    {
                        reviewModel = await _manager.CreateReviewAsync(User, file.FileName, Label, openReadStream, Upload.RunAnalysis);
                    }
                    else
                    {
                        reviewModel = await _manager.CreateMasterReviewAsync(User, file.FileName, Label, openReadStream, Upload.RunAnalysis);
                    }

                    return(RedirectToPage("Review", new { id = reviewModel.ReviewId }));
                }
            }

            return(RedirectToPage());
        }
        public async Task <ActionResult> UploadAutoReview([FromForm] IFormFile file, string label)
        {
            if (file != null)
            {
                using (var openReadStream = file.OpenReadStream())
                {
                    var review = await _reviewManager.CreateMasterReviewAsync(User, file.FileName, label, openReadStream, false);

                    if (review != null)
                    {
                        //Return 200 OK if last revision is approved and 201 if revision is not yet approved.
                        var result = review.Revisions.Last().Approvers.Count > 0 ? Ok() : StatusCode(statusCode: StatusCodes.Status201Created);
                        return(result);
                    }
                }
            }
            // Return internal server error for any unknown error
            return(StatusCode(statusCode: StatusCodes.Status500InternalServerError));
        }
        public async Task <ActionResult> UploadAutoReview([FromForm] IFormFile file, string label, bool compareAllRevisions = false)
        {
            if (file != null)
            {
                using (var openReadStream = file.OpenReadStream())
                {
                    var reviewRevision = await _reviewManager.CreateMasterReviewAsync(User, file.FileName, label, openReadStream, compareAllRevisions);

                    if (reviewRevision != null)
                    {
                        var reviewUrl = $"{this.Request.Scheme}://{this.Request.Host}/Assemblies/Review/{reviewRevision.Review.ReviewId}";
                        //Return 200 OK if last revision is approved and 201 if revision is not yet approved.
                        var result = reviewRevision.IsApproved ? Ok(reviewUrl) : StatusCode(statusCode: StatusCodes.Status201Created, reviewUrl);
                        return(result);
                    }
                }
            }
            // Return internal server error for any unknown error
            return(StatusCode(statusCode: StatusCodes.Status500InternalServerError));
        }