public string DownloadKarmaLegos(int[] discretizationIdList) { FileTransferrer fileTransferrer = new FileTransferrer(); List <string> downloadPath = new List <string>(); foreach (var id in discretizationIdList) { var discretization = db.KarmaLegos.Find(id); downloadPath.Add(discretization.DownloadPath); } return(String.Join(" ", downloadPath)); }
public async Task <ActionResult> Edit(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()); } FileTransferrer fileTransferrer = new FileTransferrer(); foreach (var disc in dataset.Discretizations) { string discPath = discretizationService.getPath(datasetService.getPath(dataset.DatasetID), disc.DiscretizationID); discPath += "/KL.txt"; if (System.IO.File.Exists(Server.MapPath(discPath))) { disc.ParametersIsReady = "Ready"; } else { disc.ParametersIsReady = "In Progress"; } discretizationRepository.Edit(disc); } datasetRepository.SaveChanges(); return(View(new DiscretizationExistingViewModel() { DatasetID = (int)id, Discretizations = dataset.Discretizations, Dataset = dataset })); }
//TODO public string SendToDiscretization(SendDiscretizationViewModel sendDiscretizationViewModel) { string[] methodsList = Request.Form["Methods"].Split(','); var knowledgeBasedMethods = Request.Form["KnowledgedBasedMethods"].Split(','); FileTransferrer fileTransferrer = new FileTransferrer(); Dataset dataset = db.Datasets.Find(sendDiscretizationViewModel.id); string currentUserId = User.Identity.GetUserId(); ApplicationUser currentUser = db.Users.FirstOrDefault(y => y.Id == currentUserId); // Check that there are *not* knowledge based methods in the request if (methodsList[0] != "") { discretizationService.Discretize(methodsList, datasetService.getPath(dataset.DatasetID), id); List <Discretization> discretizations = discretizationService.CreateDiscretizations(dataset, methodsList, id, datasetService.getPath(dataset.DatasetID)); for (int i = 0; i < discretizations.Count; i++) { discretizations[i].Owner = currentUser; discretizationRepository.Add(discretizations[i]); } } // Knowledge based methods with files uploaded if (Request.Files.Count > 0) { foreach (var knowledgeBasedMethod in knowledgeBasedMethods) { var knowledgeBasedMethodSplit = knowledgeBasedMethod.ToString().Split('_'); var methodName = knowledgeBasedMethodSplit[0]; var fileName = knowledgeBasedMethodSplit[knowledgeBasedMethodSplit.Length - 1]; var maxGap = knowledgeBasedMethodSplit[1]; var windowSize = knowledgeBasedMethodSplit[2]; var statesFilyBytes = fileTransferrer.GetBytesFromFile(Request.Files[fileName]); var methodDownloadPath = fileTransferrer.ExpertDataset(dataset.Path, methodName + "/" + maxGap + "_" + windowSize, statesFilyBytes); Discretization d = new Discretization() { Dataset = dataset, DownloadPath = methodDownloadPath, Visibility = "", Type = "Discretized", Owner = currentUser, FullName = MethodEncodingToMethodName[methodName], ParametersIsReady = "In Progress" }; db.Discretizations.Add(d); } } discretizationRepository.SaveChanges(); return("Discretizing..."); }