Exemplo n.º 1
0
        void lblDag_Click(object sender, RoutedEventArgs e)
        {
            Mouse.OverrideCursor = Cursors.Wait;

            ApplicationState.SetValue(ApplicationVariables.intVakmanViewModus, 1);

            vwVakman cVakman     = (vwVakman)((List <object>)((Button)sender).Tag)[0];
            DateTime selectedDay = (DateTime)((List <object>)((Button)sender).Tag)[1];

            ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, selectedDay);
            ApplicationState.SetValue(ApplicationVariables.intVakmanId, cVakman.VakmanId);

            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

            MDRpersoon objPersoon = dbrepOriginal.GetContact(cVakman.ContactIdOrigineel);

            // create the page and load all values
            MandagenRegistratie.controls.Vakmannen.Detail.VakmanDetailView vm = new MandagenRegistratie.controls.Vakmannen.Detail.VakmanDetailView(objPersoon);
            //vm.Load();


            // load the page into the contentcontrol
            MenuControl owner = Tools.FindVisualParent <MenuControl>(this);

            owner.PageGoToPage(vm);

            Mouse.OverrideCursor = null;
        }
Exemplo n.º 2
0
        private void ZoekResultaten()
        {
            Mouse.OverrideCursor = Cursors.Wait;

            // zet de geselecteerde dag op de eerste dag van de week (van de datum die momenteel geselecteerd is/was)
            if (!blnRememberSelectedDay)
            {
                ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, Tools.CalculateWeekstart(DateTime.Now));
            }

            // ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, Tools.CalculateWeekstart(ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay)));

            if (txtSearch != null)
            {
                dbRepository dbrep = new dbRepository();
                if (string.IsNullOrEmpty(txtSearch.Text))
                {
                    listViewVakmannen       = dbrep.GetViewVakmannenAll().Where(v => !listVakmannen.Contains(v.VakmanId)).OrderBy(vv => vv.bedrijfnaam).ThenBy(vv => vv.voornaam).ThenBy(vv => vv.achternaam).ToList();
                    dgVakmannen.ItemsSource = listViewVakmannen;

                    dgVakmannen.InvalidateMeasure();
                    dgVakmannen.InvalidateArrange();
                }
                else
                {
                    listViewVakmannen       = dbrep.GetViewVakmannen(txtSearch.Text.Split(' ')).Where(v => !listVakmannen.Contains(v.VakmanId)).OrderBy(vv => vv.bedrijfnaam).ThenBy(vv => vv.voornaam).ThenBy(vv => vv.achternaam).ToList();
                    dgVakmannen.ItemsSource = listViewVakmannen;
                    dgVakmannen.InvalidateMeasure();
                    dgVakmannen.InvalidateArrange();
                    // probeer de eerste te selecteren
                    vwVakman firstItem = listViewVakmannen.FirstOrDefault();
                    if (firstItem != null)
                    {
                        SelectItem(firstItem.VakmanId);
                    }
                }

                // set de focus op de zoek textbox
                txtSearch.Focus();
            }

            Keyboard.Focus(txtSearch);

            Mouse.OverrideCursor = null;
        }
Exemplo n.º 3
0
        public void Save()
        {
            vwVakman     vm    = ApplicationState.GetValue <vwVakman>(ApplicationVariables.objVakman);
            dbRepository dbrep = new dbRepository();

            Vakman vakman = dbrep.GetVakman(vm.VakmanId);

            vakman.Bsn        = txtBsn.Text;
            vakman.Postcode   = txtPostcode.Text;
            vakman.Huisnummer = txtHuisnummer.Text;
            vakman.Adres      = txtAdres.Text;
            //vakman.Ophaalpostcode = listTextboxes[3].Text;
            //vakman.Ophaalhuisnummer = listTextboxes[4].Text;
            //vakman.Ophaaladres = listTextboxes[5].Text;
            vakman.Ma       = Convert.ToInt32(txtMa.Text);
            vakman.Di       = Convert.ToInt32(txtDi.Text);
            vakman.Wo       = Convert.ToInt32(txtWo.Text);
            vakman.Do       = Convert.ToInt32(txtDo.Text);
            vakman.Vr       = Convert.ToInt32(txtVr.Text);
            vakman.Za       = Convert.ToInt32(txtZa.Text);
            vakman.Zo       = Convert.ToInt32(txtZo.Text);
            vakman.Werkweek = Convert.ToInt32(lblVakmanWerkweek.Content);

            string strUur = ddlDefaultBeginuur.Text;

            vakman.DefaultBeginuur = strUur.ToInt();

            string strMinuut = ddlDefaultBeginminuut.Text;

            vakman.DefaultBeginminuut = strMinuut.ToInt();

            dbrep.datacontext.SubmitChanges();

            //ApplicationState.SetValue(ApplicationVariables.objVakman, vakman);
            ApplicationState.SetValue(ApplicationVariables.intVakmanId, vakman.VakmanId);

            // na het saven terug in history
            PageGoBack();
        }
Exemplo n.º 4
0
        public void ReLoad(List <int> listVakmannen2, DateTime datum)
        {
            dbRepository         dbrep = new dbRepository();
            dbOriginalRepository dbo   = new dbOriginalRepository();
            DbTools dbtools            = new DbTools();

            // haal alle mandegen van deze week
            //Logfile.Log("Haal alle mandagen op (database)");

            // risky business, idem zie projectoverzicht
            List <Mandagen> listMandagenTotal = dbrep.datacontext.Mandagens.Where(m => m.Begintijd >= datum && m.Eindtijd <= datum.AddDays(1) && m.Begintijd != m.Eindtijd).ToList();

            foreach (Control control in spUren.Children)
            {
                if (control.GetType() == typeof(Button))
                {
                    // per dag extra tooltip informatie:
                    //string strTooltip = string.Empty;
                    StackPanel strTooltip = new StackPanel();
                    //Logfile.Log("volgende dag, dag " + i.ToString());

                    // filter alleen de mandagen voor vandaag,
                    // van de huidige vakman waar we naar kijken
                    //Logfile.Log("filter mandagen");
                    Button   lblDag    = (Button)control;
                    vwVakman objVakman = ((vwVakman)((List <object>)lblDag.Tag)[0]);
                    DateTime objDatum  = ((DateTime)((List <object>)lblDag.Tag)[1]);

                    if (objDatum == datum && listVakmannen2.Contains(objVakman.VakmanId))
                    {
                        // EXPERIMENT uitzetten LET OP: Juraci
                        List <Mandagen> listMandagen = listMandagenTotal.Where(m => m.VakmanId == objVakman.VakmanId && m.Begintijd >= objDatum && m.Eindtijd <= objDatum.AddDays(1)).ToList();

                        // als in deze pool van mandagen een aanvraag zit:
                        // vandaag, ander project, geen projectleider, niet bevestigd (dus aanvraag)
                        //Logfile.Log("filter aanvragen");
                        //List<Mandagen> listAanvragen = listMandagenTotal.Where(m => m.VakmanId == objVakman.VakmanId && m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1) && !m.Status).ToList();


                        //long totalTicks = 0;
                        bool hasAanvraag  = false;
                        int  totalHours   = 0;
                        int  totalMinutes = 0;


                        // extra stukje als experiment LET OP: Juraci

                        //totalHours = listMandagenTotal.Where(m => m.Status && m.VakmanId == objVakman.VakmanId && m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1)).Sum(m => m.Uren);
                        //totalMinutes = listMandagenTotal.Where(m => m.Status && m.VakmanId == objVakman.VakmanId && m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1)).Sum(m => m.Minuten);

                        //hasAanvraag = listMandagenTotal.Any(m => !m.Status && m.VakmanId == objVakman.VakmanId && m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1));

                        strTooltip = dbtools.AddTooltipAanvraagAll(dbtools.GetVakman(objVakman), new Project(), objDatum, false, true);


                        hasAanvraag  = listMandagen.Any(a => !a.Status);
                        totalHours   = listMandagen.Sum(a => a.Uren);
                        totalMinutes = listMandagen.Sum(a => a.Minuten);

                        //foreach (Mandagen mandag in listMandagen)
                        //{
                        //    //Logfile.Log("volgende mandag");
                        //    // bereken de som der uren
                        //    //ALLEEN ALS HET EEN BEVESTIGD UUR IS
                        //    if (mandag.Status)
                        //    {
                        //        //long lnMandagTicks = (mandag.Eindtijd.Ticks - mandag.Begintijd.Ticks);
                        //        //totalTicks += lnMandagTicks;
                        //        //TimeSpan tsMandag = TimeSpan.FromTicks(lnMandagTicks);

                        //        //Logfile.Log("haal project titel bij daan (database)");
                        //        MDRproject objProject = dbo.GetProject((int)mandag.Project.ProjectNr, true);

                        //        //Logfile.Log("bereken uren");
                        //        totalHours += mandag.Uren;
                        //        totalMinutes += mandag.Minuten;

                        //        //Logfile.Log("set tooltip");
                        //        if (objProject != null)
                        //        {
                        //            strTooltip += Environment.NewLine;
                        //            //strTooltip += "(" + ((int)Math.Ceiling(tsMandag.TotalHours)).ToString() + "u) " + objProject.project_NR.ToString(5) + " " + objProject.naam_project;
                        //            strTooltip += "(" + mandag.Uren.ToString() + ":" + (mandag.Minuten < 10 ? "0" : "") + mandag.Minuten.ToString() + ") " + objProject.project_NR.ToString(5) + " " + objProject.naam_project;
                        //        }

                        //    }

                        //    // als de betreffende mandag een aanvraag is
                        //    // OF er een aanvraag is die deze overlapt qua tijden, voor een ander project is, maar voor dezelfde vakman, en nog niet geannulleerd dus lopende aanvraag
                        //    //if ((!mandag.Status && !mandag.Geannulleerd) || listAanvragen.Any(a => a.Eindtijd > mandag.Begintijd && a.Begintijd < mandag.Eindtijd && a.ProjectId != mandag.ProjectId && a.VakmanId == mandag.VakmanId && !a.Geannulleerd))
                        //    //if ((!mandag.Status && mandag.ProjectleiderId == ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId) || (!mandag.Status && !mandag.Geannulleerd && mandag.ProjectleiderId != ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId))
                        //    if (!mandag.Status)
                        //    {
                        //        hasAanvraag = true;
                        //    }
                        //}
                        //// CHECKECN


                        //Logfile.Log("klaar met loopje mandagen");

                        //TimeSpan totalTimespan = TimeSpan.FromTicks(totalTicks);
                        lblDag.Width    = 24;
                        lblDag.Height   = 17;
                        lblDag.Margin   = new Thickness(2, 2, 2, 2);
                        lblDag.FontSize = 11;
                        lblDag.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Right;

                        lblDag.Padding = new Thickness(0, -1, 2, 0);

                        //Logfile.Log("haal contact bij daan (database)");

                        MDRpersoon objPersoon = dbo.GetContact(objVakman.ContactIdOrigineel, true);

                        //Logfile.Log("toon naam");
                        lblDag.ToolTip = ToonNaam(objPersoon) + strTooltip;

                        int totalHoursRounded = 0;
                        //totalHoursRounded = (int)Math.Ceiling(totalTimespan.TotalHours);
                        int minutesRemainder = totalMinutes % 60;

                        //Logfile.Log("bereken totaal uren om te tonen");
                        totalHoursRounded = totalHours + (int)((totalMinutes - minutesRemainder) / 60) + (minutesRemainder == 0 ? 0 : 1);

                        //Logfile.Log("bereken kleuren en andere toon opties");
                        lblDag.Content = totalHoursRounded == 0 ? "" : totalHoursRounded.ToString();
                        bool blnUseInvisibleColorsAKASwitchColors = false;

                        // 0 niet tonen
                        if (totalHoursRounded == 0 && !hasAanvraag)
                        {
                            blnUseInvisibleColorsAKASwitchColors = true;
                            //lblDag.Visibility = System.Windows.Visibility.Hidden;
                        }
                        else
                        {
                            HasHours = true;
                        }

                        List <object> tag = new List <object>();
                        tag.Add(objVakman);
                        tag.Add(objDatum);

                        lblDag.Tag = tag;



                        // END CHECKEN


                        // standaard kleuren van de border
                        if (weeknummer % 2 == 0)
                        {
                            if (blnUseInvisibleColorsAKASwitchColors)
                            {
                                // use this color to make it invisible (same color as background)
                                lblDag.BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFD8E4BC"));
                            }
                            else
                            {
                                // original color
                                lblDag.BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFFFFFFF"));
                            }
                        }
                        else
                        {
                            if (blnUseInvisibleColorsAKASwitchColors)
                            {
                                // use this color to make it invisible (same color as background)
                                lblDag.BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFFFFFFF"));
                            }
                            else
                            {
                                lblDag.BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFD8E4BC"));
                            }
                        }


                        // zwarte rand maken bij een aanvraag
                        if (hasAanvraag)
                        {
                            double[]  dimensions      = new double[] { 2, 2 };
                            Rectangle dottedRectangle = new Rectangle();
                            dottedRectangle.Stroke = new SolidColorBrush(Colors.Gray);
                            dottedRectangle.SnapsToDevicePixels = true;
                            dottedRectangle.Height          = 2;
                            dottedRectangle.StrokeThickness = 2;
                            dottedRectangle.Height          = 24;
                            dottedRectangle.Width           = 45;
                            dottedRectangle.StrokeDashArray = new DoubleCollection(dimensions);

                            VisualBrush vb = new VisualBrush();
                            vb.Visual = dottedRectangle;

                            lblDag.BorderBrush = vb; // new SolidColorBrush(Colors.Black); // (SolidColorBrush)(new BrushConverter().ConvertFrom("#00000000"));
                        }



                        //Logfile.Log("voeg de dag toe");
                    }
                }
            }


            //Logfile.Log("klaar met vakmannen");
        }