public string VisualizePatterns() { var karmaLegoIdChosen = Request.Form["Id"]; // add merge option var klClassChosen = Request.Form["Class"]; KarmaLego kl = db.KarmaLegos.Find(Int32.Parse(karmaLegoIdChosen)); Dataset dataset = db.Datasets.Find(kl.Discretization.DatasetID); Discretistation.FileHandler fh = new Discretistation.FileHandler(); Session["correntPathToIndex"] = kl.DownloadPath + "/KARMALEGOV/" + klClassChosen; Session["dataset"] = dataset; Session["discConfig"] = kl.Discretization.DownloadPath; return(""); }
public string DiscoverPatterns() { var karmaLegoConfigs = Request.Form["Configs"].Split(','); // List<int> discretizatonsIds = new List<int>(); // List<int> currentDiscretizationIds = new List<int>(); foreach (var klc in karmaLegoConfigs) { var configs = klc.Split('_'); var configId = configs[0]; // currentDiscretizationIds.Add(Int32.Parse(configId)); } // var configsToSendList = new List<string>(); if (karmaLegoConfigs[0] != "") { foreach (var config in karmaLegoConfigs) { var configs = config.Split('_'); var configId = configs[0]; var fold = configs[configs.Length - 1]; var configParams = configs.Skip(1).Take(configs.Length - 2).Select(x => x).ToArray(); Discretization d = db.Discretizations.Find(Int32.Parse(configId)); id = klRepository.GetNextId(); var path = discretizationService.getPath(datasetService.getPath(d.DatasetID), d.DiscretizationID); var inputPath = Server.MapPath(path); var karmaLegoPath = inputPath + @"\KARMALEGO\" + id.ToString(); inputPath += @"\KL.txt"; //if(fold == "1") //{ // karmaLegoPath = d.DownloadPath + "/KARMALEGO/" + String.Join("_", configParams); //} //configsToSendList.Add(karmaLegoPath); string currentUserId = User.Identity.GetUserId(); ApplicationUser currentUser = db.Users.FirstOrDefault(y => y.Id == currentUserId); if (!Int32.TryParse(configParams[0], out int tempInt)) { return("Epslion value is not ok"); } else { if (tempInt < 0) { return("Epslion value is not ok"); } } if (!Int32.TryParse(configParams[0], out tempInt)) { return("Maximum gap value is not ok"); } else { if (tempInt < 0) { return("Maximum gap value is not ok"); } } if (!Double.TryParse(configParams[2], out double tempDouble)) { return("Vertical support value is not ok"); } else { if (tempDouble < 0 || tempDouble > 100) { return("Vertical support value is not ok"); } } var epsilon = Double.Parse(configParams[0]); var maxGap = Int32.Parse(configParams[1]); var minVerticalSupport = Double.Parse(configParams[2]) / 100; karmaLegoService.sendToKL(inputPath, karmaLegoPath, epsilon, minVerticalSupport, maxGap); KarmaLego kl = new KarmaLego() { Discretization = d, Epsilon = epsilon, DownloadPath = karmaLegoPath, IsReady = "In Progress", MaximumGap = maxGap, MinimumVerticalSupport = minVerticalSupport, Owner = currentUser, Fold = Int32.Parse(fold) }; //discretizatonsIds.Add(d.DiscretizationID); db.KarmaLegos.Add(kl); } //var llll = String.Join(" ", configsToSendList); db.SaveChanges(); //List<string> klIds = new List<string>(); //foreach (var kl in db.KarmaLegos) //{ // if(discretizatonsIds.IndexOf(kl.DiscretizationID) != -1 ) // klIds.Add(kl.KarmaLegoID.ToString()); //} return("Success"); //return Json(new //{ // Ids = String.Join("_", klIds), // Classes = "Class1,Class2_Class3,Class4", // Errors = "" //}); } return("Error"); //return Json(new //{ // Errors = "ERRORS" //}); }