Beispiel #1
0
        public ActionResult Create(DatasetViewModel datasetViewModel)
        {
            if (ModelState.IsValid)
            {
                string          currentUserId = User.Identity.GetUserId();
                ApplicationUser currentUser   = db.Users.FirstOrDefault(y => y.Id == currentUserId);

                // Prepare metadata file
                byte[] metadataFileBytes = datasetService.CreateMetadataFile(datasetViewModel.TemporalPropertyID,
                                                                             datasetViewModel.TemporalPropertyName, datasetViewModel.Description);

                string datasetPath = datasetService.getPath(id);

                // Create Dataset model
                Dataset dataset = datasetService.CreateDatasetFromDatasetViewModel(datasetViewModel, id, currentUser, metadataFileBytes, datasetPath);
                dataset.Size = ((double)Request.Files["datasetFile"].ContentLength / 1024) / 1024;
                Stream       s    = Request.Files["datasetFile"].InputStream;
                BinaryReader br   = new BinaryReader(s);
                byte[]       file = br.ReadBytes((Int32)s.Length);
                dataset.DatasetFile = file;

                //Save dataset's information in database
                datasetRepository.Add(dataset);
                datasetRepository.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(Json(new { success = false }));
        }