private void FillTable(DayInCalendar day) { if (day.events.Count > 0) { //для подсчёта и отображения количества событий на дату Dictionary <string, int> countsOfProcedures = new Dictionary <string, int>(); var orgs = Program.dataManager.GetAllOrganisations(); foreach (var ev in day.events) { if (countsOfProcedures.ContainsKey(ev.Value)) { countsOfProcedures[ev.Value]++; } else { countsOfProcedures.Add(ev.Value, 1); } int rowIndex = dayInCalendarDataGridView.Rows.Add(); var newRow = dayInCalendarDataGridView.Rows[rowIndex]; newRow.Cells["id"].Value = ev.Key.id; newRow.Cells["purchaseName"].Value = ev.Key.purchaseName; Organisation org = orgs.SingleOrDefault(o => o.id == ev.Key.organizationID); if (org == null || org.id < 1) { newRow.Cells["organizationID"].Value = "<не указано>"; } else { newRow.Cells["organizationID"].Value = org.name; } newRow.Cells["purchaseMethodID"].Value = CCatalog.purchaseMethods[ev.Key.purchaseMethodID].name; newRow.Cells["eventName"].Value = ev.Value; newRow.Cells["statusID"].Value = Catalog.allStatuses[ev.Key.statusID]; newRow.Cells["stageID"].Value = CCatalog.allStages[ev.Key.stageID]; var countOfBidsCell = newRow.Cells["BidsCountIndex"] as DataGridViewButtonCell; countOfBidsCell.Value = Catalog.countOfBidsTexts[ev.Key.BidsCountIndex]; var protocolStatusCell = newRow.Cells["ProtocolStatus"] as DataGridViewButtonCell; protocolStatusCell.Value = Catalog.protocolStatuses[ev.Key.ProtocolStatus]; } RefreshCountText(countsOfProcedures); } }
//Максимально подробная форма дня из календаря public DayInCalendarFullForm(DayInCalendar day) : base() { InitializeComponent(); InitializeAuraForm(); dateLabel.Text = day.date.ToShortDateString(); CreateTable(); InitContextMenuStrip(); ReloadTable(day); }
//Максимально подробная форма дня из календаря public DayInCalendarFullForm(DayInCalendar day) { InitializeComponent(); dateLabel.Text = day.date.ToString(); foreach (var ev in day.events) { Button button = CreateButton(ev); int x = 0; int y = mainPanel.Controls.Count + 5 * button.Height; button.Location = new Point(x, y); } }
private void Fill(List <DayInCalendar> days) { //заполнить таблицу днями недели из List'а //в листе должны быть даты только из текущего месяца for (int i = 0; i < days.Count; i++) { DayInCalendar day = days[i]; DayInCalendarForm form = new DayInCalendarForm(day); mainPanel.Controls.Add(form); form.Location = GetLocationForButton(day.date, form); } }
public DayInCalendarForm(DayInCalendar day) { InitializeComponent(); dateLabel.Text = day.date.Day.ToString(); lowerLabel.Hide(); //добавить кнопки закупок, если на этот день что-то назначено foreach (var pair in day.events) { Button btn; if (panel1.Controls.Count == 0) { lowerLabel.Show(); btn = CreateButton(pair); panel1.Controls.Add(btn); btn.Location = new Point(0, 0); } else if (panel1.Controls.Count == 1) { lowerLabel.Show(); btn = CreateButton(pair); panel1.Controls.Add(btn); btn.Location = new Point(0, 50); } else { lowerLabel.Show(); lowerLabel.Text = "...и еще " + (day.events.Count - 2); break; } dayInCalendar = day; } if (day.date.DayOfWeek == DayOfWeek.Sunday || day.date.DayOfWeek == DayOfWeek.Saturday) { BackColor = Color.MistyRose; } if (day.date == DateTime.Today) { BackColor = Color.LightYellow; } }
private void Fill(List <DayInCalendar> days) { //заполнить таблицу днями недели из List'а //в листе должны быть даты только из текущего месяца for (int i = 0; i < days.Count; i++) { DayInCalendar day = days[i]; DocumentationDay form = new DocumentationDay(day.date, day.documentationNodes); form.ReloadTableDelegate = RefreshTable; mainPanel.Controls.Add(form); form.Location = GetLocationForButton(day.date, form); } }
private void HandleDay(DayInCalendar day) { foreach (var ev in day.events) { switch (ev.Key.purchaseMethodID) { case 2: HandleDemandOfQuotation(ev); break; case 3: HandleDemandOfQuotation(ev); break; case 4: HandleAuction(ev); break; case 5: HandleKonkurs(ev); break; case 6: HandleKonkurs(ev); break; case 7: HandleAuction(ev); break; } } }
//краткое визуальное представление одного дня в календаре //содержит кнопки-ссылки на закупки, для которых этот день важен public DayInCalendarForm(DayInCalendar dayInCalendar) { InitializeComponent(); dateLabel.Text = dayInCalendar.date.Day.ToString(); lowerLabel.Text = "Добавить"; //добавить кнопки закупок, если на этот день что-то назначено foreach (var pair in dayInCalendar.events) { if (panel1.Controls.Count < 2) { Button btn = CreateButton(pair); panel1.Controls.Add(btn); if (panel1.Controls.Count == 0) { btn.Location = new Point(7, 6); } else { btn.Location = new Point(7, 51); } } else { lowerLabel.Text = "...и еще " + (dayInCalendar.events.Count - 2); break; } } if (dayInCalendar.date.DayOfWeek == DayOfWeek.Sunday || dayInCalendar.date.DayOfWeek == DayOfWeek.Saturday) { BackColor = Color.MistyRose; } }
private void ReloadTable(DayInCalendar day) { CleatTable(); FillTable(day); }