/// <summary> /// loads a collection pf ProcessData from DB, generates the Envelopes based on precision and/or links and saves results to DB /// </summary> /// <param name="processids">given list of process ids</param> /// <param name="precision">level of precision (compared to normalized View - [0,1]!)</param> /// <param name="links">number of links('Glieder') we want our Envelope to have</param> /// <returns></returns> public ActionResult SaveEnvelopes(int[] processids = null, decimal precision = 0m, int links = 5) { if (processids == null) { processids = WSConnection.GetProcessesWhere(new List <Tuple <string, string, string, string> >()); } PredictiveProcessCollection coll = new PredictiveProcessCollection(processids, precision, links); PredictiveProcessCollection.SaveEnvelopes(coll); return(Content("collection was saved", "text/html")); }
/// <summary> /// loads precalculated param evaluations of a dataset from DB /// </summary> public static void LoadParams() { string json = WSConnection.GetParamStatistics(); string [][] ret = Newtonsoft.Json.JsonConvert.DeserializeObject <string[][]>(json); if (ret.Length == 0) { var processids = WSConnection.GetProcessesWhere(new List <Tuple <string, string, string, string> >()); DataContainers = new PredictiveProcessCollection(processids); foreach (ParamEvaluation eva in DataContainers.ParamEvaluations.Values) { WSConnection.InsertParamStatistic(eva.ParamName, eva.ParamType.ToString(), eva.ValueCount, eva.DistinctValues.Select(x => x.Item1)); } } else { DataContainers = new PredictiveProcessCollection(new List <PredictiveProcessData>()); for (int i = 0; i < ret.Length; i++) { DataContainers.ParamEvaluations.Add(ret[i][0], new ParamEvaluation(ret[i][0], ret[i][1], ret[i][2].Split(';').ToList(), int.Parse(ret[i][3]))); } } loadedAll = true; }