Exemplo n.º 1
0
        private void LoadData(string filename)
        {
            textBox1.Text = filename;

            DataTable dt = null;

            try
            {
                dt = CsvParser.GetDataTableFromCsv(filename, cbDateFormat.SelectedValue.ToString());
            }
            catch (FormatException e)
            {
                Debug.WriteLine(e);
                MessageBox.Show("Error occurred while parsing data from CSV file!" + e.Message);
                return;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                MessageBox.Show("Error occurred while parsing data from CSV file!");
                return;
            }
            List <Employee> allEmployees = EmployeeParser.GetEmployeesFromDatatable(dt);

            dgvAllEmployees.DataSource = allEmployees;

            var workByPairs = FindWorkTogether(allEmployees);

            var longestWorkByPairs = workByPairs.GroupBy(gr => new { gr.ID1, gr.ID2 }).Select(
                g => new
            {
                ID1        = g.Key.ID1,
                ID2        = g.Key.ID2,
                Days       = g.Sum(s => s.Days), //sum per project for pair of employees
                ProjectIDs = string.Join(",", g.Select(s => s.ProjectID))
            }).OrderByDescending(o => o.Days).ToList();

            dgvLongestWork.DataSource = longestWorkByPairs;

            UpdateDateCellsFormat();
        }