Exemple #1
0
 /// <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;
 }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 /// <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);
 }
Exemple #4
0
        /// <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;
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        public string GetFormat(QuerryEnum queryEnum)
        {
            int queryIndex = (int)queryEnum - 1;

            return(FormatList.Where(x => x.Key == queryEnum).First().Value);
        }
Exemple #7
0
 /// <summary>
 /// defines current querry performed
 /// </summary>
 /// <param name="query"></param>
 public void StartQuery(QuerryEnum query)
 {
     QueryEnum = query;
 }