Пример #1
0
        private void ShowIssueDayForm(LoadMWH loadMWH, int year, int month, TypeView typeView, string tracker)
        {
            string text = "";

            if (typeView == TypeView.LoadIssueDWH)
            {
                text = "План на ";
                if (loadMWH.item != null)
                {
                    text = loadMWH.item.Name + " " + tracker + " план на ";
                }
            }
            if (typeView == TypeView.LoadTimeDWH)
            {
                text = "Факт на ";
                if (loadMWH.item != null)
                {
                    text = loadMWH.item.Name + " " + tracker + " факт на ";
                }
            }

            issueMonthForm  = new IssueDayForm(loadMWH, manager, year, month, typeView, typeViewSelect, tracker);
            manager.Update += issueMonthForm.UpdateIssueInfo;
            DateTime dateText = new DateTime(year, month, 1);

            issueMonthForm.Text = text + dateText.ToString("MMMM yyyy");
            issueMonthForm.Show();
        }
Пример #2
0
        public IssueDayForm(LoadMWH loadMWH, Manager manager, int year, int month, TypeView typeView, TypeView typeViewSelect,
                            string tracker)
        {
            InitializeComponent();
            this.loadMWH        = loadMWH;
            this.IDitem         = loadMWH.item.Id;
            this.tracker        = tracker;
            this.month          = month;
            this.year           = year;
            this.item           = loadMWH.item;
            this.manager        = manager;
            this.typeView       = typeView;
            this.typeViewSelect = typeViewSelect;

            MakeCaptionColumnsDWH();
            ShowLoad_TimeDWH();
        }
Пример #3
0
        private void ShowLoad_TimeDWH()
        {
            List <string> list = new List <string>();

            listLoadDWH.Items.Clear();
            ListViewItem lvi;

            string[] array;
            int      iLine = 0;

            if (item is LoadProject)
            {
                LoadProject loadProject = manager.listLoadProject.Find(x => x.Id == this.IDitem);
                if (loadProject != null)
                {
                    LoadYWH loadYWH = loadProject.listLoadYWH.Find(x => x.NumberYear == this.year);
                    loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month);
                }
            }

            if (item is LoadUser)
            {
                LoadUser loadUser_cur = (item as LoadUser);
                if (loadUser_cur.GroupName.Trim() == loadUser_cur.Name.Trim())
                {
                    LoadGroup loadGroup = manager.listLoadGroup.Find(x => x.Name.Equals(loadUser_cur.GroupName));
                    if (loadGroup != null)
                    {
                        LoadUser loadUser = loadGroup.listLoadUser.Find(x => x.Id == loadUser_cur.Id);
                        if (loadUser != null)
                        {
                            LoadYWH loadYWH = manager.FindLoadYWH(year, loadUser.listLoadYWH);
                            loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month);
                        }
                    }
                }
                else
                {
                    LoadUser loadUser = manager.listLoadUser.Find(x => x.Id == this.IDitem);
                    if (loadUser != null)
                    {
                        LoadYWH loadYWH = loadUser.listLoadYWH.Find(x => x.NumberYear == this.year);
                        loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month);
                    }
                }
            }

            if (item is LoadYWH)
            {
                LoadYWH loadYWH = manager.listLoadYWH.Find(x => x.NumberYear == (item as LoadYWH).NumberYear);
                if (loadYWH != null)
                {
                    loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month);
                }
            }

            if (loadMWH != null)
            {
                loadMWH.GetListLoadProject(this.tracker);
                loadMWH.listLoadIssue.Sort();
                loadMWH.listLoadTimeEntry.Sort();
            }

            switch (typeView)
            {
            case TypeView.LoadShortExpUser:
                LoadUser loadUser = manager.listLoadUser.Find(x => x.user.Id == IDLoadUser);
                if (loadUser != null)
                {
                    foreach (LoadIssue loadIssue in loadUser.listLoadOpenIssue)
                    {
                        if (loadIssue.isExperied)
                        {
                            AddLineLoadExperiedIssue(loadIssue);
                        }
                    }
                }
                break;

            case TypeView.LoadShortExpProject:
                LoadProject loadProject = manager.listLoadProject.Find(x => x.userProject.Id == IDLoadProject);
                if (loadProject != null)
                {
                    foreach (LoadIssue loadIssue in loadProject.listLoadOpenIssue)
                    {
                        if (loadIssue.isExperied)
                        {
                            AddLineLoadExperiedIssue(loadIssue);
                        }
                        iLine++;
                    }
                }
                break;

            case TypeView.LoadShortIssueDWH:
                foreach (LoadProject loadProject_cur in loadMWH.listLoadProject)
                {
                    list.Clear();

                    string[] line = { loadProject_cur.userProject.Id.ToString(),
                                      loadProject_cur.userProject.Name,
                                      loadProject_cur.EstimatedMWH(this.tracker).ToString("0.0") };
                    foreach (string s in line)
                    {
                        list.Add(s);
                    }

                    array = list.Select(i => i.ToString()).ToArray();
                    lvi   = new ListViewItem(array);
                    listLoadDWH.Items.Add(lvi);

                    SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                    iLine++;
                }

                list.Clear();



                string[] lineSumShortIssue = { "",
                                               "Итого",
                                               loadMWH.EstimatedMonthHours(this.tracker).ToString("0.0") };

                foreach (string s in lineSumShortIssue)
                {
                    list.Add(s);
                }

                array = list.Select(i => i.ToString()).ToArray();
                lvi   = new ListViewItem(array);
                listLoadDWH.Items.Add(lvi);

                SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                AutoFitColumn(listLoadDWH);

                break;

            case TypeView.LoadShortTimeDWH:
                foreach (LoadProject loadProject_cur in loadMWH.listLoadProject)
                {
                    list.Clear();

                    string[] line = { loadProject_cur.userProject.Id.ToString(),
                                      loadProject_cur.userProject.Name,
                                      loadProject_cur.FactMWH(this.tracker).ToString("0.0") };
                    foreach (string s in line)
                    {
                        list.Add(s);
                    }

                    array = list.Select(i => i.ToString()).ToArray();
                    lvi   = new ListViewItem(array);
                    listLoadDWH.Items.Add(lvi);

                    SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                    iLine++;
                }

                list.Clear();



                string[] lineSumShortTime = { "",
                                              "Итого",
                                              loadMWH.FactMonthHours(this.tracker).ToString("0.0") };

                foreach (string s in lineSumShortTime)
                {
                    list.Add(s);
                }

                array = list.Select(i => i.ToString()).ToArray();
                lvi   = new ListViewItem(array);
                listLoadDWH.Items.Add(lvi);

                SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                AutoFitColumn(listLoadDWH);

                break;

            case TypeView.LoadIssueDWH:
                foreach (LoadIssue loadIssue in loadMWH.listLoadIssue)
                {
                    if (this.tracker.Contains(loadIssue.issue.Tracker.Name) || this.tracker.Equals("план"))
                    {
                        User user = manager.redmineData.listUser.Find(x => x.Id == loadIssue.issue.AssignedTo.Id);
                        list.Clear();

                        string userName = "";
                        if (user != null)
                        {
                            userName = user.LastName + " " + user.FirstName;
                        }
                        else
                        {
                            userName = loadIssue.issue.AssignedTo.Name;
                        }

                        string[] line = { loadIssue.issue.Id.ToString(),
                                          loadIssue.issue.Project.Name,
                                          loadIssue.issue.Subject,
                                          loadIssue.dateStartIssue.ToShortDateString(),
                                          loadIssue.dateFinishIssue.ToShortDateString(),
                                          loadIssue.estimatedIssueHours.ToString("0.0"),
                                          userName };
                        foreach (string s in line)
                        {
                            list.Add(s);
                        }

                        foreach (LoadDWH loadDWH in loadIssue.listLoadDWH)
                        {
                            list.Add(loadDWH.hoursDay.ToString("0.0"));
                        }
                        array = list.Select(i => i.ToString()).ToArray();
                        lvi   = new ListViewItem(array);
                        listLoadDWH.Items.Add(lvi);

                        SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                        if (this.typeViewSelect == TypeView.LoadUser)
                        {
                            SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More);
                        }

                        iLine++;
                    }
                }

                list.Clear();



                string[] lineSum = { "",
                                     "Итого в день",
                                     "",
                                     loadMWH.dateStartMonth.ToShortDateString(),
                                     loadMWH.dateFinishMonth.ToShortDateString(),
                                     loadMWH.EstimatedMonthHours(this.tracker).ToString("0.0"),
                                     "" };

                foreach (string s in lineSum)
                {
                    list.Add(s);
                }

                foreach (LoadDWH loadDWH in loadMWH.listLoadDWH)
                {
                    list.Add(loadDWH.hoursDay.ToString("0.0"));
                }

                array = list.Select(i => i.ToString()).ToArray();
                lvi   = new ListViewItem(array);
                listLoadDWH.Items.Add(lvi);

                SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                if (this.typeViewSelect == TypeView.LoadUser)
                {
                    SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More);
                }

                AutoFitColumn(listLoadDWH);

                break;

            case TypeView.LoadTimeDWH:

                foreach (LoadTimeEntry loadTime in loadMWH.listLoadTimeEntry)
                {
                    if (this.tracker.Contains(loadTime.userTime.time.Activity.Name) || this.tracker.Equals("факт"))
                    {
                        User user = manager.redmineData.listUser.Find(x => x.Id == loadTime.userTime.time.User.Id);
                        list.Clear();

                        string userName = "";
                        if (user != null)
                        {
                            userName = user.LastName + " " + user.FirstName;
                        }
                        else
                        {
                            userName = loadTime.userTime.nameUser;
                        }

                        string[] line = { loadTime.userTime.time.Id.ToString(),
                                          loadTime.userTime.nameProject,
                                          loadTime.userTime.subject,
                                          loadTime.dateStart.ToShortDateString(),
                                          loadTime.dateFinish.ToShortDateString(),
                                          loadTime.factMonthHours.ToString("0.0"),
                                          userName };
                        foreach (string s in line)
                        {
                            list.Add(s);
                        }

                        foreach (LoadDWH loadDWH in loadTime.listLoadDWH)
                        {
                            list.Add(loadDWH.factDayHours.ToString("0.0"));
                        }
                        array = list.Select(i => i.ToString()).ToArray();
                        lvi   = new ListViewItem(array);
                        listLoadDWH.Items.Add(lvi);

                        SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                        if (this.typeViewSelect == TypeView.LoadUser)
                        {
                            SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More);
                        }

                        iLine++;
                    }
                }

                list.Clear();



                string[] lineSumTime = { "",
                                         "Итого в день",
                                         "",
                                         loadMWH.dateStartMonth.ToShortDateString(),
                                         loadMWH.dateFinishMonth.ToShortDateString(),
                                         loadMWH.FactMonthHours(this.tracker).ToString("0.0"),
                                         "" };

                foreach (string s in lineSumTime)
                {
                    list.Add(s);
                }

                foreach (LoadDWH loadDWH in loadMWH.listLoadDWH)
                {
                    list.Add(loadDWH.factDayHours.ToString("0.0"));
                }

                array = list.Select(i => i.ToString()).ToArray();
                lvi   = new ListViewItem(array);
                listLoadDWH.Items.Add(lvi);

                SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal);

                if (this.typeViewSelect == TypeView.LoadUser)
                {
                    SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More);
                }

                AutoFitColumn(listLoadDWH);

                break;
            }
        }
Пример #4
0
        //private void ShowUser_GroupDWH(int year, int month)
        //{
        //    LoadYWH loadYWH;
        //    if (listDescription.Items.Count > 0)
        //    {
        //        for (int i = 0; i < listDescription.SelectedIndices.Count; i++)
        //        {
        //            //MessageBox.Show(((LoadUser)listItems.Items[listItems.SelectedIndices[i]].Tag).user.LastName);
        //            LoadUser loadUser = (LoadUser)listDescription.Items[listDescription.SelectedIndices[i]].Tag;
        //            if (loadUser != null)
        //            {
        //                loadYWH = manager.FindLoadYWH(year, loadUser.listLoadYWH);
        //                if (loadYWH != null)
        //                {
        //                    LoadMWH loadMWH = loadYWH.FindLoadMWH(month);
        //                    if (loadMWH != null)
        //                    {
        //                        ShowIssueDayForm(loadMWH, year, month);
        //                    }
        //                    else
        //                        MessageBox.Show(month.ToString() + " месяца не существует!");
        //                }
        //            }
        //        }
        //    }
        //}

        //private void ShowYearDWH(int year, int month)
        //{
        //    LoadYWH loadYWH = manager.FindLoadYWH(year, manager.listLoadYWH);
        //    if (loadYWH != null)
        //    {
        //        LoadMWH loadMWH = loadYWH.FindLoadMWH(month);
        //        if (loadMWH != null)
        //        {
        //            ShowIssueDayForm(loadMWH, year, month);
        //        }
        //        else
        //            MessageBox.Show(month.ToString() + " месяца не существует!");
        //    }
        //}

        private void listLoad_ColumnClick(object sender, ColumnClickEventArgs e)
        {
            int colIndex;

            if (typeView == TypeView.LoadExperiedProject | typeView == TypeView.LoadExperiedUser)
            {
                colIndex = Convert.ToInt16(e.Column.ToString());
                if (listLoadMWH.Items.Count > 0)
                {
                    if (listLoadMWH.SelectedIndices.Count > 0)
                    {
                        for (int i = 0; i < listLoadMWH.SelectedIndices.Count; i++)
                        {
                            ListViewItem lvi = listLoadMWH.Items[listLoadMWH.SelectedIndices[i]];
                            if (lvi.Tag is LoadProject)
                            {
                                LoadProject loadProject = (LoadProject)lvi.Tag;
                                ShowIssueDayForm(loadProject, TypeView.LoadShortExpProject);
                            }
                            if (lvi.Tag is LoadUser)
                            {
                                LoadUser loadUser = (LoadUser)lvi.Tag;
                                ShowIssueDayForm(loadUser, TypeView.LoadShortExpUser);
                            }
                        }
                    }
                }
            }
            else
            {
                if (comboYear.Items.Count != 0)
                {
                    colIndex = Convert.ToInt16(e.Column.ToString());
                    int month = ++colIndex - tabIndex;
                    //MessageBox.Show(colIndex.ToString());
                    int year = Convert.ToInt16(comboYear.SelectedItem.ToString());

                    if (listLoadMWH.Items.Count > 0)
                    {
                        if (listLoadMWH.SelectedIndices.Count > 0)
                        {
                            for (int i = 0; i < listLoadMWH.SelectedIndices.Count; i++)
                            {
                                ListViewItem lvi = listLoadMWH.Items[listLoadMWH.SelectedIndices[i]];
                                if (lvi.Tag is LoadYWH)
                                {
                                    LoadYWH loadYWH = (LoadYWH)lvi.Tag;
                                    LoadMWH loadMWH = loadYWH.FindLoadMWH(month);
                                    if (loadMWH != null)
                                    {
                                        //loadMWH.GetListLoadProject();
                                        string tracker = listLoadMWH.Items[listLoadMWH.SelectedIndices[i]].SubItems[1].Text;
                                        if (tracker.Contains("план"))
                                        {
                                            //ShowIssueDayForm(loadMWH, year, month, TypeView.LoadShortIssueDWH);
                                            //MessageBox.Show("plan");
                                            ShowIssueDayForm(loadMWH, year, month, TypeView.LoadIssueDWH, tracker);
                                        }

                                        if (tracker.Contains("факт"))
                                        {
                                            //ShowIssueDayForm(loadMWH, year, month, TypeView.LoadShortTimeDWH);
                                            //MessageBox.Show("plan");
                                            ShowIssueDayForm(loadMWH, year, month, TypeView.LoadTimeDWH, tracker);
                                        }
                                    }
                                    //MessageBox.Show("i = " + i.ToString() + "lvi.index = " + lvi.Index.ToString());
                                }
                            }
                        }
                    }
                }
            }
        }