Beispiel #1
0
        public ActionResult DownloadMetadataFile(int?id)
        {
            string currentUserId = User.Identity.GetUserId();

            if (currentUserId == null)
            {
                return(RedirectToAction("Register", "Account"));
            }
            ApplicationUser user = db.Users.Find(currentUserId);

            if (currentUserId != null && !user.EmailConfirmed)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Dataset dataset = datasetRepository.Get((int)id);

            if (dataset == null)
            {
                return(HttpNotFound());
            }


            if (!securityService.HasAccess((int)id, currentUserId))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            byte[] metadataFile = datasetService.GetMetadataFile(dataset);
            return(File(metadataFile, "text/csv", "Dataset_Vmap" + DateTime.Now + ".csv"));
        }