/// <summary> /// init querry process with all data from file, create two lists for reset /// </summary> /// <param name="sourceFile"></param> public QuerryProcess(string sourceFile) { FileReader = new CsvReader(sourceFile); AlteredFlights = FileReader.ReadFromFile(); OriginalFlights = AlteredFlights.ToList(); QueryEnum = QuerryEnum.NONE; }
/// <summary> /// calculates desired querry based on given flight list /// </summary> /// <param name="query"></param> /// <returns>returns an object array with all results relevant to querry</returns> public object[] CalculateQuery(QuerryEnum query) { object[] results = new object[1];; if (query == QuerryEnum.AVG_DEP_DEL) { results = new object[3]; results[0] = CalculateAvgDelay(); results[1] = CalculateAvgDelay(false); results[2] = Flights.Count(); } if (query == QuerryEnum.MOST_fLIGHTS) { results = new object[2]; KeyValuePair <string, int> valuePair = HotDest(); results[0] = valuePair.Key; results[1] = valuePair.Value; } if (query == QuerryEnum.FARTHEST_DESTINATIONS) { results = new object[1]; results[0] = FiveFarthestDest(); } return(results); }
/// <summary> /// save querry type, fill first input textbox with source cities, pass querry type to querryprocess /// freeze query selection and unfreeze input section /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Query_Click(object sender, EventArgs e) { CurrentQuerry = GetQuerryEnum(sender); SetAutoCompleteSource(this.CityA); QuerryProcess.StartQuery(CurrentQuerry); DisableControls(this.QuerryPanel); EnableControls(this.InputPanel); ((Control)sender).Enabled = true; DisableInput(CurrentQuerry); }
/// <summary> /// disables input text boxes that querry doesnt require /// </summary> /// <param name="querry"></param> private void DisableInput(QuerryEnum querry) { switch (querry) { case QuerryEnum.AVG_DEP_DEL: this.CityC.Enabled = false; break; case QuerryEnum.FARTHEST_DESTINATIONS: case QuerryEnum.MOST_fLIGHTS: this.CityC.Enabled = false; this.CityB.Enabled = false; break; case QuerryEnum.SHORTEST_PATH: break; } }
public string EditReuslts(string[] input, object[] results, QuerryEnum queryEnum) { string msg = MsgFormat.GetFormat(queryEnum); if (queryEnum == QuerryEnum.AVG_DEP_DEL) { msg = String.Format(msg, (int)results[2], input[0], input[1], (double)results[0], (double)results[1]); } else if (queryEnum == QuerryEnum.MOST_fLIGHTS) { msg = String.Format(msg, input[0], results[0], results[1]); } else if (queryEnum == QuerryEnum.FARTHEST_DESTINATIONS) { msg = String.Format(msg, input[0], (string)results[0]); } return(msg); }
public string GetFormat(QuerryEnum queryEnum) { int queryIndex = (int)queryEnum - 1; return(FormatList.Where(x => x.Key == queryEnum).First().Value); }
/// <summary> /// defines current querry performed /// </summary> /// <param name="query"></param> public void StartQuery(QuerryEnum query) { QueryEnum = query; }