예제 #1
0
        public ActionResult Remove(int id)
        {
            var owinContext  = this.HttpContext.GetOwinContext();
            var user         = owinContext.GetUser();
            var tenantId     = user.GetTenantId();
            var userObjectId = user.GetUserObjectId();

            var telemetryContext = new TelemetryContext
            {
                TenantId     = tenantId,
                UserObjectId = userObjectId
            };

            TelemetryHelper.LogVerbose(@"ReportController::Remove", telemetryContext);

            // Remove the info of task and report in the database
            var fileName = DataAccess.TryRemoveAssessmentTaskById(id);

            // Report file exists in the blob
            if (!string.IsNullOrWhiteSpace(fileName))
            {
                TelemetryHelper.LogInformation(
                    FormattableString.Invariant($"Remove report file with name {fileName}."),
                    telemetryContext);

                // Remove file saved in the blob
                StorageAccess.RemoveFile(fileName);
                TokenStore.Instance.RemoveTokenWrapperByTaskId(id);
            }

            TelemetryHelper.LogInformation(
                FormattableString.Invariant($"Report file with Id {id}, name {fileName} has been successfully removed."),
                telemetryContext);

            return(this.Redirect(this.Request.UrlReferrer.ToString()));
        }