Beispiel #1
0
        //events per klant tekenen
        private void drawEventsForCustomers(DateTime newFrom, DateTime newTo)
        {
            int    index = 0;
            string type  = string.Empty;
            List <BarInformation> lijst = new List <BarInformation>();

            foreach (klant klant in KlantManagement.getKlanten())
            {
                //opdrachten tekenen
                foreach (opdracht o in KlantManagement.getOpdrachtenVanKlant(klant))
                {
                    //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";
                    }

                    lijst.Add(new BarInformation("Klant: " + klant.naam, eventStart, eventEnd, barkleur, hoverkleur, index));
                }

                //contracten tekenen
                foreach (opdracht o in KlantManagement.getContractenVanKlant(klant))
                {
                    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.getRitInstanties(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);

                            lijst.Add(new BarInformation("Klant: " + klant.naam, eventStart, eventEnd, Color.DarkGreen, Color.Green, index));
                            lijst.Add(new BarInformation("Klant: " + klant.naam, eventStart_2, eventEnd_2, Color.DarkGreen, Color.Green, index));
                        }
                    }
                }

                index += 1;
            }

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