Esempio n. 1
0
        //opdrachten tekenen op de ganttchart
        private void drawEvents(DateTime newFrom, DateTime newTo)
        {
            int    index = 0;
            string type  = string.Empty;
            List <BarInformation> lijst = new List <BarInformation>();

            foreach (opdracht o in OpdrachtManagement.getOngeredenOpdrachten())
            {
                //Een start datetime aanmaken en einde datetime aanmaken

                //Start datum
                string   data_vanaf = o.vanaf_uur;
                string[] delimiters = { ":" };
                string[] vanaf      = data_vanaf.Split(delimiters, StringSplitOptions.None);

                DateTime eventStart = new DateTime(o.vanaf_datum.Year, o.vanaf_datum.Month, o.vanaf_datum.Day,
                                                   Int32.Parse(vanaf[0]), Int32.Parse(vanaf[1]), 0);

                //Eind datum
                string   data_tot = o.tot_uur;
                string[] tot      = data_tot.Split(delimiters, StringSplitOptions.None);

                DateTime eventEnd = new DateTime(o.tot_datum.Year, o.tot_datum.Month, o.tot_datum.Day,
                                                 Int32.Parse(tot[0]), Int32.Parse(tot[1]), 0);

                if (o.offerte_datum != null && o.opdracht_datum == null && o.factuur_datum == null)
                {
                    barkleur   = Color.DarkRed;
                    hoverkleur = Color.IndianRed;
                    type       = "Offerte";
                }
                else if (o.opdracht_datum != null && o.factuur_datum == null)
                {
                    barkleur   = Color.CornflowerBlue;
                    hoverkleur = Color.DarkBlue;
                    type       = "Opdracht";
                }
                else if (o.factuur_datum != null)
                {
                    barkleur   = Color.Gray;
                    hoverkleur = Color.LightGray;
                    type       = "Factuur";
                }

                if (eventStart >= newFrom.Subtract(eventEnd - eventStart) && eventEnd <= newTo.Add((eventEnd - eventStart)))
                {
                    index += 1;
                    lijst.Add(new BarInformation(type + ": " + o.opdracht_id.ToString(), eventStart, eventEnd, barkleur, hoverkleur, index));
                }
                else
                {
                }
                //ganttChart1.AddChartBar(o.opdracht_id.ToString(), null, eventStart, eventEnd, Color.Aqua, Color.Khaki, index);
            }

            //contracten tekenen
            foreach (opdracht o in ContractManagement.getContracten())
            {
                DateTime beginDatum = o.vanaf_datum;
                TimeSpan lengte     = o.tot_datum - o.vanaf_datum;
                string[] delimiters = { ":" };

                foreach (contract_rit cr in ContractManagement.getRitten(o.opdracht_id))
                {
                    foreach (rit_instantie ri in ContractManagement.getRitInstantiesVoorChart(cr))
                    {
                        //Start datum rit 1
                        string   data_vanaf = cr.rit1_vertrek;
                        string[] vanaf      = data_vanaf.Split(delimiters, StringSplitOptions.None);

                        DateTime eventStart = new DateTime(ri.datum.Year, ri.datum.Month, ri.datum.Day,
                                                           Int32.Parse(vanaf[0]), Int32.Parse(vanaf[1]), 0);

                        //Start datum rit 2
                        string   data_vanaf_2 = cr.rit2_vertrek;
                        string[] vanaf_2      = data_vanaf_2.Split(delimiters, StringSplitOptions.None);

                        DateTime eventStart_2 = new DateTime(ri.datum.Year, ri.datum.Month, ri.datum.Day,
                                                             Int32.Parse(vanaf_2[0]), Int32.Parse(vanaf_2[1]), 0);

                        //Eind datum rit 1
                        string   data_tot = cr.rit1_terug;
                        string[] tot      = data_tot.Split(delimiters, StringSplitOptions.None);

                        DateTime eventEnd = new DateTime(ri.datum.Year, ri.datum.Month, ri.datum.Day,
                                                         Int32.Parse(tot[0]), Int32.Parse(tot[1]), 0);

                        //Eind datum rit 2
                        string   data_tot_2 = cr.rit2_terug;
                        string[] tot_2      = data_tot_2.Split(delimiters, StringSplitOptions.None);

                        DateTime eventEnd_2 = new DateTime(ri.datum.Year, ri.datum.Month, ri.datum.Day,
                                                           Int32.Parse(tot_2[0]), Int32.Parse(tot_2[1]), 0);

                        if (eventStart >= newFrom.Subtract(eventEnd - eventStart) && eventEnd <= newTo.Add((eventEnd - eventStart)))
                        {
                            index += 1;

                            lijst.Add(new BarInformation("Contract: " + o.opdracht_id.ToString(), eventStart, eventEnd, Color.DarkGreen, Color.Green, index));
                            lijst.Add(new BarInformation("Contract: " + o.opdracht_id.ToString(), eventStart_2, eventEnd_2, Color.DarkGreen, Color.Green, index));
                        }
                        else
                        {
                        }
                    }
                }
            }

            foreach (BarInformation bar in lijst)
            {
                ganttChart1.AddChartBar(bar.RowText, bar, bar.FromTime, bar.ToTime, bar.Color, bar.HoverColor, bar.Index);
            }
        }