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(); }
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(); }
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; } }
//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()); } } } } } } }