Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        //Максимально подробная форма дня из календаря
        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);
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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;
                }
            }
        }
Esempio n. 8
0
        //краткое визуальное представление одного дня в календаре
        //содержит кнопки-ссылки на закупки, для которых этот день важен

        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;
            }
        }
Esempio n. 9
0
 private void ReloadTable(DayInCalendar day)
 {
     CleatTable();
     FillTable(day);
 }