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

            ApplicationState.SetValue(ApplicationVariables.intVakmanViewModus, 1);

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

            ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, selectedDay);
            ApplicationState.SetValue(ApplicationVariables.intProjectId, cProject.ProjectId);

            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

            MDRproject projectorigineel = dbrepOriginal.GetProject((int)cProject.ProjectNr);
            MDRpersoon projectleider    = dbrepOriginal.GetContact(objProjectleider.ContactIdOrigineel);

            // create the page and load all values
            MandagenRegistratie.controls.Projecten.Lijst.Project pv = new MandagenRegistratie.controls.Projecten.Lijst.Project(projectorigineel);
            //pv.Load();


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

            owner.PageGoToPage(pv);

            Mouse.OverrideCursor = null;
        }
Exemplo n.º 2
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;
        }
        private void btnGoToProject_Click(object sender, RoutedEventArgs e)
        {
            dbRepository         dbrep         = new dbRepository();
            dbOriginalRepository dbOriginalRep = new dbOriginalRepository();

            ApplicationState.SetValue(ApplicationVariables.intProjectId, project.ProjectId);
            //ProjectView pv = new ProjectView();
            //pv.Show();
            MDRpersoon projectleider = dbOriginalRep.GetContact(dbrep.GetProjectleider(project.ProjectleiderId).ContactIdOrigineel);

            MDRproject ppp = dbOriginalRep.GetProject((int)project.ProjectNr);

            // create the page and load all values
            Projecten.Lijst.Project po = new Projecten.Lijst.Project(ppp);
            //new Projecten.Overzicht.Project(project.ProjectId + ": " + project.Naam, projectleider.voornaam + " " + projectleider.tussenvoegsel + " " + projectleider.achternaam);

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

            //po.PageGereedButtonVisibility = System.Windows.Visibility.Visible;
            //po.PageOKButtonText = "PROJECT TOEVOEGEN";

            //po.OkClick += po.ToevoegenAanVakman;
            //po.dgProjecten.MouseDoubleClick -= po.dgProjecten_MouseDoubleClick;
            //po.dgProjecten.MouseDoubleClick += po.dgProjecten_MouseDoubleClickForVakman;
            //po.Load();
            //po.tabControl.SelectedIndex = 1;

            owner.PageGoToPage(po);
        }
Exemplo n.º 4
0
        public void SelectVakman()
        {
            if (dgVakmannen.SelectedIndex >= 0)
            {
                ApplicationState.SetValue(ApplicationVariables.intVakmanViewModus, 1);

                dbRepository dbrep = new dbRepository();


                Vakman vm = dbrep.GetVakman(((vwVakman)dgVakmannen.SelectedItem).VakmanId);

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


                dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
                MDRpersoon           persoon       = dbrepOriginal.GetContact(vm.ContactIdOrigineel);

                // create the page and load all values
                Vakmannen.Detail.VakmanDetailView vdv = new Vakmannen.Detail.VakmanDetailView(persoon);

                // load the page into the contentcontrol
                PageGoToPage(vdv);
            }
        }
Exemplo n.º 5
0
        public VakmanDetailView(MDRpersoon pp)
        {
            InitializeComponent();

            #region Pagina specifieke informatie
            PageTitle    = "Vakman " + ToonNaam(pp); // pp.persoon_nr;
            PageSubtitle = "Gegevens van " + ToonNaam(pp);

            if (Rechten.IsProjectleider)
            {
                PageGereedButtonVisibility = System.Windows.Visibility.Visible;
            }
            else
            {
                PageGereedButtonVisibility = System.Windows.Visibility.Hidden;
            }

            PageOKButtonText = "WIJZIG";
            #endregion

            //MessageBox.Show("#0");

            // load info op pagina
            this.Load();

            OkClick  += Okay;
            Reloaded -= Load;
            Reloaded += Load;
            //#if DEBUG
//#else
            Loaded += Vakman_Loaded;

            ChannelMessage += ReceiveChannelMessage;
//#endif
        }
Exemplo n.º 6
0
        private void btnGoToProject_Click(object sender, RoutedEventArgs e)
        {
            ApplicationState.SetValue(ApplicationVariables.intVakmanId, vakman.VakmanId);
            //ApplicationState.SetValue(ApplicationVariables.objVakman, vakman);

            //ProjectView pv = new ProjectView();
            //pv.Show();

            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
            MDRpersoon           persoon       = dbrepOriginal.GetContact(vakman.ContactIdOrigineel);

            // create the page and load all values
            Vakmannen.Detail.VakmanDetailView vdv = new Vakmannen.Detail.VakmanDetailView(persoon);

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

            //po.PageGereedButtonVisibility = System.Windows.Visibility.Visible;
            //po.PageOKButtonText = "PROJECT TOEVOEGEN";
            //vdv.Load();

            //vdv.tabControl.SelectedIndex = 1;

            //po.OkClick += po.ToevoegenAanVakman;
            //po.dgProjecten.MouseDoubleClick -= po.dgProjecten_MouseDoubleClick;
            //po.dgProjecten.MouseDoubleClick += po.dgProjecten_MouseDoubleClickForVakman;

            owner.PageGoToPage(vdv);
        }
Exemplo n.º 7
0
 public string ToonNaam(MDRpersoon objPersoon)
 {
     if (objPersoon != null)
     {
         return((objPersoon.voornaam + " " + objPersoon.tussenvoegsel + " " + objPersoon.achternaam).ToStringTrimmed());
     }
     else
     {
         return("");
     }
 }
Exemplo n.º 8
0
        public void Load()
        {
            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
            MDRpersoon           pp            = dbrepOriginal.GetContact(projectleider.ContactIdOrigineel);

            lblProjectleider.Content = ToonNaam(pp);

            foreach (Project project in listProjecten)
            {
                MDRproject po = dbrepOriginal.GetProject((int)project.ProjectNr, true);

                StackPanel spProjectNaam = new StackPanel();
                spProjectNaam.Orientation = Orientation.Horizontal;

                Label lblProjectNr = new Label();
                lblProjectNr.Width  = 40;
                lblProjectNr.Height = 19;
                lblProjectNr.Margin = new Thickness(10, 2, 0, 0);

                lblProjectNr.FontSize = 11;
                lblProjectNr.Padding  = new Thickness(0, 2, 0, 0);

                if (po != null)
                {
                    lblProjectNr.Content = po.project_NR.ToString();
                }

                Label lbl = new Label();
                lbl.Content = project.Naam.ToString(300);
                lbl.ToolTip = project.Naam;
                lbl.Height  = 19;
                lbl.Margin  = new Thickness(0, 2, 0, 0);

                lbl.FontSize = 11;
                lbl.Padding  = new Thickness(0, 2, 0, 0);
                //lbl.Background = new SolidColorBrush(Colors.Bisque);

                //lbl.FontWeight = FontWeights.ExtraBold;
                //lbl.BorderThickness = new Thickness(0);

                spProjectNaam.Children.Add(lblProjectNr);
                spProjectNaam.Children.Add(lbl);

                spProjects.Children.Add(spProjectNaam);
            }
        }
        private void btnPersoonNrs_Click(object sender, RoutedEventArgs e)
        {
            dbRepository         dbrep         = new dbRepository();
            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

            foreach (Gebruiker gebruiker in dbrep.datacontext.Gebruikers)
            {
                if (gebruiker.PersoonNrOrigineel < 0)
                {
                    MDRpersoon pp = dbrepOriginal.datacontext.MDRpersoons.Where(p => p.persoon_ID == gebruiker.ContactIdOrigineel).FirstOrDefault();

                    gebruiker.PersoonNrOrigineel = pp.persoon_nr == null ? -1 : (int)pp.persoon_nr;

                    dbrep.datacontext.SubmitChanges();
                }
            }

            Load();
        }
Exemplo n.º 10
0
        public void Load()
        {
            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

            foreach (vwVakman vakman in listVwVakmannen)
            {
                MDRpersoon po = listMDRpersoons.FirstOrDefault(p => p.persoon_ID == vakman.ContactIdOrigineel);

                StackPanel spProjectNaam = new StackPanel();
                spProjectNaam.Orientation = Orientation.Horizontal;

                TextBlock lblProjectNr = new TextBlock();
                lblProjectNr.Width  = 40;
                lblProjectNr.Height = 19;
                lblProjectNr.Margin = new Thickness(10, 2, 0, 0);

                lblProjectNr.FontSize = 11;
                lblProjectNr.Padding  = new Thickness(0, 2, 0, 0);
                lblProjectNr.Text     = po.persoon_nr.ToString();

                TextBlock lbl = new TextBlock();
                lbl.Text    = ToonNaam(po).ToString(300);
                lbl.ToolTip = ToonNaam(po);
                lbl.Height  = 19;
                lbl.Margin  = new Thickness(0, 2, 0, 0);

                lbl.FontSize = 11;
                lbl.Padding  = new Thickness(0, 2, 0, 0);

                //lbl.FontWeight = FontWeights.ExtraBold;
                //lbl.BorderThickness = new Thickness(0);

                spProjectNaam.Children.Add(lblProjectNr);
                spProjectNaam.Children.Add(lbl);

                spProjects.Children.Add(spProjectNaam);
            }
        }
Exemplo n.º 11
0
        ///
        /// </summary>
        public void Load()
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;

                // intialize
                dbRepository         dbrep         = new dbRepository();
                dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

                List <PL> listPL = new List <PL>();

                // admin gebruiker kan iedereen zien/worden
                foreach (Gebruiker plitem in dbrep.GetProjectleiders().Where(g => g.IsProjectleider || Rechten.IsAdmin))
                {
                    MDRpersoon tt = dbrepOriginal.GetContact(plitem.ContactIdOrigineel);

                    PL pl = new PL();
                    //pl.Naam = plitem.ProjectleiderId.ToString() + ": " + (tt.voornaam + " " + tt.tussenvoegsel + " " + tt.achternaam).ToStringTrimmed();
                    pl.Naam               = plitem.Gebruikersnaam;
                    pl.GebruikerId        = plitem.GebruikerId;
                    pl.ContactIdOrigineel = plitem.ContactIdOrigineel;

                    listPL.Add(pl);
                }

                cbProjectleiders.ItemsSource       = listPL;
                cbProjectleiders.DisplayMemberPath = "Naam";
                cbProjectleiders.SelectedValuePath = "GebruikerId";

                cbProjectleiders.SelectedValue = ApplicationState.GetValue <Gebruiker>(ApplicationVariables.objGebruiker).GebruikerId;
            }
            catch { }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }
        public void Save()
        {
            try
            {
                dbRepository         dbrep         = new dbRepository();
                dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

                Vakman     vakman  = dbrep.GetVakman(ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId));
                MDRpersoon persoon = dbrepOriginal.GetContact(vakman.ContactIdOrigineel);

                // alleen saven als het ingevuld is
                if (Tools.IsValidBsn(txtBsn.Text))
                {
                    if (txtBsn.Text.Length == 8)
                    {
                        vakman.Bsn = "0" + txtBsn.Text;
                    }
                    else
                    {
                        vakman.Bsn = txtBsn.Text;
                    }
                }
                else
                {
                    vakman.Bsn = txtBsn.Text;
                }

                persoon.zaemail = txtEmail.Text;

                try
                {
                    int iDag   = -1;
                    int iMaand = -1;
                    int iJaar  = -1;


                    if (!string.IsNullOrWhiteSpace(txtDag.Text))
                    {
                        try
                        {
                            iDag = Convert.ToInt32(txtDag.Text);
                        }
                        catch { }
                    }

                    if (!string.IsNullOrWhiteSpace(txtMaand.Text))
                    {
                        try
                        {
                            iMaand = Convert.ToInt32(txtMaand.Text);
                        }
                        catch { }
                    }

                    if (!string.IsNullOrWhiteSpace(txtJaar.Text))
                    {
                        try
                        {
                            iJaar = Convert.ToInt32(txtJaar.Text);
                        }
                        catch { }
                    }

                    if (iJaar > 1900 && iMaand > 0 && iDag > 0)
                    {
                        try
                        {
                            DateTime gebdat = new DateTime(iJaar, iMaand, iDag);
                            persoon.geboortedatum = gebdat;
                        }
                        catch { }
                    }
                }
                catch {}

                dbrepOriginal.datacontext.SubmitChanges();


                vakman.Postcode   = txtPostcode.Text;
                vakman.Huisnummer = txtHuisnummer.Text;
                vakman.Adres      = txtAdres.Text;
                vakman.Plaats     = txtPlaats.Text;
                vakman.Land       = txtLand.Text;

                //vakman.Ophaalpostcode = listTextboxes[3].Text;
                //vakman.Ophaalhuisnummer = listTextboxes[4].Text;
                //vakman.Ophaaladres = listTextboxes[5].Text;
                vakman.Ma = Convert.ToDecimal(cbMaUur.SelectedValue.ToString().HourToTimeDouble() + cbMaMin.SelectedValue.ToString().MinuteToTimeDouble());
                vakman.Di = Convert.ToDecimal(cbDiUur.SelectedValue.ToString().HourToTimeDouble() + cbDiMin.SelectedValue.ToString().MinuteToTimeDouble());
                vakman.Wo = Convert.ToDecimal(cbWoUur.SelectedValue.ToString().HourToTimeDouble() + cbWoMin.SelectedValue.ToString().MinuteToTimeDouble());
                vakman.Do = Convert.ToDecimal(cbDoUur.SelectedValue.ToString().HourToTimeDouble() + cbDoMin.SelectedValue.ToString().MinuteToTimeDouble());
                vakman.Vr = Convert.ToDecimal(cbVrUur.SelectedValue.ToString().HourToTimeDouble() + cbVrMin.SelectedValue.ToString().MinuteToTimeDouble());
                vakman.Za = Convert.ToDecimal(cbZaUur.SelectedValue.ToString().HourToTimeDouble() + cbZaMin.SelectedValue.ToString().MinuteToTimeDouble());
                vakman.Zo = Convert.ToDecimal(cbZoUur.SelectedValue.ToString().HourToTimeDouble() + cbZoMin.SelectedValue.ToString().MinuteToTimeDouble());

                vakman.Werkweek = vakman.Ma + vakman.Di + vakman.Wo + vakman.Do + vakman.Vr + vakman.Za + vakman.Zo;


                vakman.IsChauffeurMa = cbChauffeurMa.IsChecked == true && cbChauffeur.IsChecked == true;
                vakman.IsChauffeurDi = cbChauffeurDi.IsChecked == true && cbChauffeur.IsChecked == true;
                vakman.IsChauffeurWo = cbChauffeurWo.IsChecked == true && cbChauffeur.IsChecked == true;
                vakman.IsChauffeurDo = cbChauffeurDo.IsChecked == true && cbChauffeur.IsChecked == true;
                vakman.IsChauffeurVr = cbChauffeurVr.IsChecked == true && cbChauffeur.IsChecked == true;
                vakman.IsChauffeurZa = cbChauffeurZa.IsChecked == true && cbChauffeur.IsChecked == true;
                vakman.IsChauffeurZo = cbChauffeurZo.IsChecked == true && cbChauffeur.IsChecked == true;

                vakman.IsChauffeur = (bool)cbChauffeur.IsChecked;

                vakman.IsBijrijderMa = cbBijrijderMa.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;
                vakman.IsBijrijderDi = cbBijrijderDi.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;
                vakman.IsBijrijderWo = cbBijrijderWo.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;
                vakman.IsBijrijderDo = cbBijrijderDo.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;
                vakman.IsBijrijderVr = cbBijrijderVr.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;
                vakman.IsBijrijderZa = cbBijrijderZa.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;
                vakman.IsBijrijderZo = cbBijrijderZo.IsChecked == true && cbBijrijdersregistratie.IsChecked == true;

                vakman.IsBijrijder = (bool)cbBijrijdersregistratie.IsChecked;


                vakman.ZZP = cbWerkrelatie.SelectedIndex == 1;

                //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();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;

            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }

            switch (propertyName)
            {
            case "Project":
                dbRepository dbrep         = new dbRepository();
                DateTime     dtSelectedDay = ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay);
                DbTools      dbtools       = new DbTools();

                StackPanel strTooltip         = new StackPanel();
                StackPanel strTooltipAanvraag = new StackPanel();

                dbOriginalRepository dbreporiginal = new dbOriginalRepository();
                MDRpersoon           pp            = dbreporiginal.GetContact(dbrep.GetProjectleider(project.ProjectleiderId, project.ProjectId, dtSelectedDay).ContactIdOrigineel);
                lblHeader.Content           = ToonNaam(pp);
                lblHeader.VerticalAlignment = System.Windows.VerticalAlignment.Top;
                //lblHeader.BorderThickness = new Thickness(1);
                //lblHeader.BorderBrush = new SolidColorBrush(Colors.Black);


                btnHeader.Style = this.FindResource("LinkButton") as Style;

                MDRproject pr = dbreporiginal.GetProject((int)project.ProjectNr);
                double     ww = 400;
                if (btnHeader.Width > 0)
                {
                    ww = btnHeader.Width;
                }

                if (btnHeader.FontSize > 11)
                {
                    ww = ww * 0.8;
                }

                // TOOLTIP
                // TOOLTIP
                // TOOLTIP
                DateTime dtdag  = ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay);
                Vakman   vakman = dbrep.GetVakman(ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId));
                strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(vakman, project, dtdag, true, true));

                if (pr != null)
                {
                    btnHeader.Content = pr.project_NR.ToString(5) + " " + pr.naam_project.ToString(ww);
                    // de naam van het project ook tonen in de tooltip bovenaan
                    //strTooltip.AddText(pr.naam_project.ToString() + " (Project " + pr.project_NR + ")");
                }
                else
                {
                    btnHeader.Content = "      " + project.Naam.ToString(ww);
                    // de naam van het project ook tonen in de tooltip bovenaan
                    //strTooltip.AddText(project.Naam.ToString() + " (Project --)");
                }

                //List<Mandagen> listMandagenTotal = dbrep.datacontext.Mandagens.Where(m => m.Begintijd != m.Eindtijd && m.Begintijd >= ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay) && m.Eindtijd <= ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay).AddDays(1)).ToList();

                //List<Mandagen> listMandagen = listMandagenTotal.Where(m => m.ProjectId == project.ProjectId).ToList();
                //// als in deze pool van mandagen een aanvraag zit:

                //// vandaag, ander project, geen projectleider, niet bevestigd (dus aanvraag)
                //List<Mandagen> listAanvragen = listMandagenTotal.Where(m => m.ProjectleiderId != ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId && m.ProjectId != project.ProjectId && m.Begintijd >= ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay) && m.Eindtijd <= ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay).AddDays(1) && !m.Status).ToList();

                //// als in deze pool van mandagen een aanvraag zit:
                //// vandaag, ander project, geen projectleider, wel bevestigd (dus waar dit de aanvraag van is)
                //List<Mandagen> listMandagenWaarDitDeAanvraagVanIs = listMandagenTotal.Where(m => m.ProjectId != project.ProjectId && m.ProjectleiderId != ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId && m.ProjectId != project.ProjectId && m.Begintijd >= dtSelectedDay && m.Eindtijd <= dtSelectedDay.AddDays(1) && m.Status).ToList();

                //int previousVakmanId = -1;

                //foreach (Mandagen mandag in listMandagen)
                //{


                //    if (mandag.Status)
                //    {
                //        bool isBold = mandag.VakmanId == ApplicationState.GetValue<int>(ApplicationVariables.intVakmanId);
                //        //strTooltip.AddText("(" + ToonTijd(mandag) + ")" + " " + ToonNaam(dbreporiginal.GetContact(mandag.Vakman.ContactIdOrigineel, true)), isBold);

                //        // OF we hebben te maken met externe aanvragen
                //        Mandagen aanvraag = listAanvragen.FirstOrDefault(m => m.Begintijd < mandag.Eindtijd && m.Eindtijd > mandag.Begintijd && m.VakmanId == mandag.VakmanId);

                //        if (aanvraag != null)
                //        {
                //            List<Mandagen> listIngeplandeMandagen = new List<Mandagen>();
                //            listIngeplandeMandagen.Add(mandag);
                //            if (previousVakmanId == mandag.VakmanId)
                //            {
                //                //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagMinOnly(listIngeplandeMandagen, aanvraag, false));
                //                //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(mandag.Vakman, mandag.Project, dbtools.GetHeleDag(mandag.Begintijd)));
                //            }
                //            else
                //            {
                //                //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraag(listIngeplandeMandagen, aanvraag, false));
                //                //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(mandag.Vakman, mandag.Project, dbtools.GetHeleDag(mandag.Begintijd)));
                //            }
                //            previousVakmanId = mandag.VakmanId;

                //        }

                //    }
                //    else
                //    {

                //        if (previousVakmanId == mandag.VakmanId)
                //        {
                //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagMinOnly(listMandagenWaarDitDeAanvraagVanIs, mandag, true));
                //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(mandag.Vakman, mandag.Project, dbtools.GetHeleDag(mandag.Begintijd), true, false));
                //        }
                //        else
                //        {
                //            // OF het is zelf de aanvraag
                //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraag(listMandagenWaarDitDeAanvraagVanIs, mandag, true));
                //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(mandag.Vakman, mandag.Project, dbtools.GetHeleDag(mandag.Begintijd), true, false));
                //        }

                //        previousVakmanId = mandag.VakmanId;
                //    }
                //}

                //foreach (Mandagen mandag in listAanvragen)
                //{
                //    if (!mandag.Status)
                //    {
                //        // OF dit project heeft een andere aanvraag lopen die de vakman VAN het project af wil halen
                //        listMandagenWaarDitDeAanvraagVanIs = listMandagenTotal.Where(m => m.VakmanId == mandag.VakmanId &&  m.ProjectId != mandag.ProjectId && m.ProjectleiderId != ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId && m.Begintijd >= dtSelectedDay && m.Eindtijd <= dtSelectedDay.AddDays(1) && m.Status).ToList();
                //        strTooltipAanvraag += AddTooltipAanvraag(listMandagenWaarDitDeAanvraagVanIs, mandag, false);
                //    }
                //}

                ToolTipService.SetShowDuration(btnHeader, 20000);
                strTooltip.Children.Add(strTooltipAanvraag);
                btnHeader.ToolTip = strTooltip;
                btnHeader.Margin  = new Thickness(0, 0, 0, -8);

                if (ApplicationState.GetValue <int>("intProjectId") == project.ProjectId)
                {
                    // make bold
                    //btnHeader.FontWeight = FontWeights.ExtraBold;
                }

                break;

            default:
                break;
            }
        }
Exemplo n.º 14
0
        public static void LoginAls(int gebruikerId, bool isFirstLogin, object sender)
        {
            dbRepository dbrep     = new dbRepository();
            Gebruiker    gebruiker = dbrep.GetGebruiker((int)gebruikerId);

            if (gebruiker != null)
            {
                // set gebruiker in sessie
                ApplicationState.SetValue(ApplicationVariables.intGebruikerId, gebruiker.GebruikerId);
                ApplicationState.SetValue(ApplicationVariables.objGebruiker, gebruiker);

                if (isFirstLogin)
                {
                    ApplicationState.SetValue(ApplicationVariables.objGebruikerFirst, gebruiker);
                }

                Setting setting = dbrep.datacontext.Settings.Where(s => s.GebruikerId == ApplicationState.GetValue <int>(ApplicationVariables.intGebruikerId) && s.SettingsNaam == ApplicationVariables.strVakmanIdsAdding).FirstOrDefault();

                if (setting != null)
                {
                    ApplicationState.SetValue(ApplicationVariables.listSelectedVakmanIdsAdding, setting.SettingsValue.FromStringToList());
                }

                Setting setting2 = dbrep.datacontext.Settings.Where(s => s.GebruikerId == ApplicationState.GetValue <int>(ApplicationVariables.intGebruikerId) && s.SettingsNaam == ApplicationVariables.strVakmanIdsDeleting).FirstOrDefault();

                if (setting != null)
                {
                    ApplicationState.SetValue(ApplicationVariables.listSelectedVakmanIdsDeleting, setting2.SettingsValue.FromStringToList());
                }



                try
                {
                    // set de projectleiderID in de sessie
                    ApplicationState.SetValue(ApplicationVariables.intProjectleider, gebruiker.ProjectleiderId);

                    // haal de projectleider op
                    //Projectleider projectleider = dbrep.GetProjectleider((int)gebruiker.ProjectleiderId);

                    // haal bijbehorende contact op uit database daan
                    dbOriginalRepository dbrepOr        = new dbOriginalRepository();
                    MDRpersoon           contactpersoon = dbrepOr.GetContact(gebruiker.ContactIdOrigineel);

                    PageContainer pcWindow = Tools.FindVisualParent <PageContainer>((DependencyObject)sender);

                    string statusChat = pcWindow.Title.Split(new string[] { "||" }, StringSplitOptions.None)[2];

                    pcWindow.Title = ConfigurationManager.AppSettings["WindowTitle"].ToString() + " || Welkom " + (contactpersoon.voornaam + " " + contactpersoon.tussenvoegsel + " " + contactpersoon.achternaam).ToStringTrimmed() + " ||" + statusChat; // +" Status ZeebregtsChannelService: Actief";

                    //

                    // informeer gebruiker dat ie automatisch ingelogd is
                    //MessageBox.Show("Welkom " + gebruiker.Gebruikersnaam + ", u bent automatisch ingelogd als projectleider: " + (contactpersoon.voornaam + " " + contactpersoon.tussenvoegsel + " " + contactpersoon.achternaam).ToStringTrimmed());
                    //MessageBox.Show("Welkom " + gebruiker.Gebruikersnaam + ", u bent automatisch ingelogd als projectleider: " + gebruiker.Gebruikersnaam);
                }
                catch
                {
                    // informeer gebruiker dat er geen projectleider gekoppeld is, en de gebruiker alleen lees rechten heeft
                    //MessageBox.Show("Welkom " + gebruiker.Gebruikersnaam + ", er is nog geen account aan uw windows identiteit gekoppeld. Neem contact op met een systeembeheerder om een account aan uw windows identiteit te koppelen. U heeft voorlopig alleen lees-rechten.");
                }
            }
        }
Exemplo n.º 15
0
        public void Load()
        {
            //MessageBox.Show("#1");
            Logging log = new Logging();
            //log.Log("Vakmandetailview: Load()");

            dbRepository         dbrep         = new dbRepository();
            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

            //if(objVakman == null)
            //{

            objVakman = dbrep.GetVakman(ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId));

            //}

            if (objVakman.ZZP == true)
            {
                lbWerkrelatie.Content  = "Bedrijfsnaam:";
                lblWerkrelatie.Content = "ZZP'er";
            }
            else
            {
                lbWerkrelatie.Content  = "Werkgever:";
                lblWerkrelatie.Content = "In loondienst";
            }

            //if (dtSelectedDay == DateTime.MinValue)
            //{
            dtSelectedDay = ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay);
            //}

            Vakman vm = objVakman;

            MDRpersoon persoon = dbrepOriginal.GetContact(vm.ContactIdOrigineel);

            if (persoon != null)
            {
                txtPostcode.Content = vm.Postcode + (string.IsNullOrWhiteSpace(vm.Plaats) || string.IsNullOrWhiteSpace(vm.Postcode) ? "" : ", ") + vm.Plaats;

                txtAdres.Content = vm.Adres + " " + vm.Huisnummer;
                //txtPlaats.Content = vm.Plaats;
                txtLand.Content = vm.Land;

                bool showWoonadresLabel = false;

                if (string.IsNullOrWhiteSpace(vm.Postcode) && string.IsNullOrWhiteSpace(vm.Plaats))
                {
                    lblPostcode.Visibility = System.Windows.Visibility.Collapsed;
                    txtPostcode.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblPostcode.Visibility = System.Windows.Visibility.Visible;
                    txtPostcode.Visibility = System.Windows.Visibility.Visible;
                    showWoonadresLabel     = true;

                    if (string.IsNullOrWhiteSpace(vm.Postcode))
                    {
                        lblPostcode.Content = "Plaats";
                    }
                    else if (string.IsNullOrWhiteSpace(vm.Plaats))
                    {
                        lblPostcode.Content = "Postcode";
                    }
                    else
                    {
                        lblPostcode.Content = "Postcode, plaats";
                    }
                }

                if (string.IsNullOrWhiteSpace(vm.Adres))
                {
                    lblAdres.Visibility = System.Windows.Visibility.Collapsed;
                    txtAdres.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblAdres.Visibility = System.Windows.Visibility.Visible;
                    txtAdres.Visibility = System.Windows.Visibility.Visible;
                    showWoonadresLabel  = true;
                }

                //if (string.IsNullOrWhiteSpace(vm.Plaats))
                //{
                //    lblPlaats.Visibility = System.Windows.Visibility.Collapsed;
                //    txtPlaats.Visibility = System.Windows.Visibility.Collapsed;
                //}
                //else
                //{
                //    lblPlaats.Visibility = System.Windows.Visibility.Visible;
                //    txtPlaats.Visibility = System.Windows.Visibility.Visible;
                //    showWoonadresLabel = true;
                //}


                if (string.IsNullOrWhiteSpace(vm.Land))
                {
                    lblLand.Visibility = System.Windows.Visibility.Collapsed;
                    txtLand.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblLand.Visibility = System.Windows.Visibility.Visible;
                    txtLand.Visibility = System.Windows.Visibility.Visible;
                    showWoonadresLabel = true;
                }

                if (showWoonadresLabel)
                {
                    lblWoonadres.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    lblWoonadres.Visibility = System.Windows.Visibility.Collapsed;
                }


                if (persoon.geboortedatum != null)
                {
                    txtGebdatum.Content    = ((DateTime)persoon.geboortedatum).ToString("dd-MM-yyyy");
                    lblGebdatum.Visibility = System.Windows.Visibility.Visible;
                    txtGebdatum.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    lblGebdatum.Visibility = System.Windows.Visibility.Collapsed;
                    txtGebdatum.Visibility = System.Windows.Visibility.Collapsed;
                }


                if (string.IsNullOrWhiteSpace(persoon.telefoon_nr_1))
                {
                    lblTelefoonPrive1.Visibility = System.Windows.Visibility.Collapsed;
                    txtTelefoonPrive1.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblTelefoonPrive1.Visibility = System.Windows.Visibility.Visible;
                    txtTelefoonPrive1.Visibility = System.Windows.Visibility.Visible;
                }

                if (string.IsNullOrWhiteSpace(persoon.telefoon_nr_2))
                {
                    lblTelefoonPrive2.Visibility = System.Windows.Visibility.Collapsed;
                    txtTelefoonPrive2.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblTelefoonPrive2.Visibility = System.Windows.Visibility.Visible;
                    txtTelefoonPrive2.Visibility = System.Windows.Visibility.Visible;
                }

                if (string.IsNullOrWhiteSpace(persoon.telefoon_nr_3))
                {
                    lblTelefoonPrive3.Visibility = System.Windows.Visibility.Collapsed;
                    txtTelefoonPrive3.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblTelefoonPrive3.Visibility = System.Windows.Visibility.Visible;
                    txtTelefoonPrive3.Visibility = System.Windows.Visibility.Visible;
                }

                txtTelefoonPrive1.Content = persoon.telefoon_nr_1;
                txtTelefoonPrive2.Content = persoon.telefoon_nr_2;
                txtTelefoonPrive3.Content = persoon.telefoon_nr_3;

                if (string.IsNullOrWhiteSpace(persoon.zaemail))
                {
                    lblEmail.Visibility = System.Windows.Visibility.Collapsed;
                    txtEmail.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblEmail.Visibility = System.Windows.Visibility.Visible;
                    txtEmail.Visibility = System.Windows.Visibility.Visible;
                }

                TextBlock email = new TextBlock();
                email.Text       = persoon.zaemail;
                txtEmail.Content = email;


                lblVakmanId.Content = persoon.persoon_nr == null ? "" : persoon.persoon_nr.ToString();

                MDRbedrijf bedrijfzdb = dbrepOriginal.datacontext.MDRbedrijfs.Where(b => b.bedrijf_nr == persoon.bedrijf_nr).FirstOrDefault();

                if (bedrijfzdb != null)
                {
                    lblWerkgever.Content = bedrijfzdb.naam;
                }


                if (string.IsNullOrWhiteSpace(vm.Bsn))
                {
                    lblBsn.Visibility = System.Windows.Visibility.Collapsed;
                    txtBsn.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblBsn.Visibility = System.Windows.Visibility.Visible;
                    txtBsn.Visibility = System.Windows.Visibility.Visible;
                }
                txtBsn.Content = vm.Bsn;


                lblVakmanNaam.Content = ToonNaam(persoon);

                txtMa.Content = vm.Ma.ToString().ToTime();
                txtDi.Content = vm.Di.ToString().ToTime();
                txtWo.Content = vm.Wo.ToString().ToTime();
                txtDo.Content = vm.Do.ToString().ToTime();
                txtVr.Content = vm.Vr.ToString().ToTime();
                txtZa.Content = vm.Za.ToString().ToTime();
                txtZo.Content = vm.Zo.ToString().ToTime();

                lblIsChauffeur.Content = vm.IsChauffeur ? "Ja" : "Nee";
                lblIsBijrijder.Content = vm.IsBijrijder ? "Ja" : "Nee";

                if (vm.IsChauffeur)
                {
                    wpChauffeur.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    wpChauffeur.Visibility = System.Windows.Visibility.Collapsed;
                }

                if (vm.IsBijrijder)
                {
                    wpBijrijder.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    wpBijrijder.Visibility = System.Windows.Visibility.Collapsed;
                }


                txtChMa.Content = vm.IsChauffeurMa ? "Ja" : "Nee";
                txtChDi.Content = vm.IsChauffeurDi ? "Ja" : "Nee";
                txtChWo.Content = vm.IsChauffeurWo ? "Ja" : "Nee";
                txtChDo.Content = vm.IsChauffeurDo ? "Ja" : "Nee";
                txtChVr.Content = vm.IsChauffeurVr ? "Ja" : "Nee";
                txtChZa.Content = vm.IsChauffeurZa ? "Ja" : "Nee";
                txtChZo.Content = vm.IsChauffeurZo ? "Ja" : "Nee";


                txtBrMa.Content = vm.IsBijrijderMa ? "Ja" : "Nee";
                txtBrDi.Content = vm.IsBijrijderDi ? "Ja" : "Nee";
                txtBrWo.Content = vm.IsBijrijderWo ? "Ja" : "Nee";
                txtBrDo.Content = vm.IsBijrijderDo ? "Ja" : "Nee";
                txtBrVr.Content = vm.IsBijrijderVr ? "Ja" : "Nee";
                txtBrZa.Content = vm.IsBijrijderZa ? "Ja" : "Nee";
                txtBrZo.Content = vm.IsBijrijderZo ? "Ja" : "Nee";



                //ddlDefaultBeginuur.Content = ((int)vm.DefaultBeginuur).ToString("D2");
                //ddlDefaultBeginminuut.Content = ((int)vm.DefaultBeginminuut).ToString("D2");

                lblVakmanWerkweek.Content = "Uren (" + vm.Werkweek.ToString().ToTime() + "):";

                // create the page and load all values
                VakmanDagView vdv = new VakmanDagView();
                vdv.LoadVakmanDagView(true, vm.VakmanId, dtSelectedDay);
                vdv.LoadWeekInfo();

                tabPlanning.Content = vdv;
            }
        }
Exemplo n.º 16
0
        public void Selectproject()
        {
            Mouse.OverrideCursor = Cursors.Wait;

            try
            {
                ApplicationState.SetValue(ApplicationVariables.intVakmanViewModus, 1);

                dbRepository         dbrep         = new dbRepository();
                dbOriginalRepository dbOriginalRep = new dbOriginalRepository();

                // haal het geselecteerde project op
                MandagenRegistratieDomain.Project project = dbrep.GetProject(((MandagenRegistratieDomain.vwProject)dgProjecten.SelectedItem).ProjectId);


                // bewaar info in 'sessie'
                ApplicationState.SetValue(ApplicationVariables.intProjectId, project.ProjectId);

                DateTime nu = DateTime.Now;
                //ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, new DateTime(nu.Year, nu.Month, nu.Day, 0, 0, 0));
                MDRpersoon projectleider    = dbOriginalRep.GetContact(dbrep.GetProjectleider(project.ProjectleiderId).ContactIdOrigineel);
                MDRproject projectorigineel = dbOriginalRep.GetProject((int)project.ProjectNr);

                // create the page and load all values

                string strProjectleiderNaam = string.Empty;
                if (projectleider != null)
                {
                    strProjectleiderNaam = (projectleider.voornaam + " " + projectleider.tussenvoegsel + " " + projectleider.achternaam).ToStringTrimmed();
                }
                else
                {
                    strProjectleiderNaam = "";
                }


                Project pv = new Project(projectorigineel);

                // load the page into the contentcontrol
                PageGoToPage(pv);
            }
            catch (Exception ex)
            {
                if (dgProjecten.Items.Count == 0)
                {
                    MessageBox.Show("Je zoekopdracht geeft geen resultaat, probeer een andere zoekterm.");
                }
                else if (dgProjecten.Items.Count == 1)
                {
                    dgProjecten.SelectedIndex = 0;

                    // gevaarlijk, kan oneindige loop in werking zetten!
                    Selectproject();
                }
                else
                {
                    MessageBox.Show("Selecteer een project in de lijst en druk daarna op enter.");
                }
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }
Exemplo n.º 17
0
        private void Toevoegen()
        {
            try
            {
                if (dgContacten.SelectedItem != null)
                {
                    bool IsNewVakman = false;

                    dbRepository         dbrep         = new dbRepository();
                    dbOriginalRepository dbOriginalRep = new dbOriginalRepository();

                    // blijkbaar bestaat er de mogelijkheid dat er zojuist een contact is toegevoegd aan de ZeebregtsDb
                    // vandaar voor de zekerheid opnieuw de ZeebregtsDb Cachen

                    ApplicationState.SetValue(ApplicationVariables.listMDRPersoons, dbOriginalRep.datacontext.MDRpersoons.ToList());
                    ApplicationState.SetValue(ApplicationVariables.listMDRProjecten, dbOriginalRep.datacontext.MDRprojects.ToList());


                    vwContactAll persoon = (vwContactAll)dgContacten.SelectedItem;

                    if (persoon.persoon_nr == null && dbrep.IsStandalone())
                    {
                        // via stored procedure de mdrpersoon toevoegen aan de database in tabel MDRpersoon
                        // en het ID wat terugkomt in persoon.persoon_ID stoppen
                        persoon.persoon_ID = dbrep.InsertMDRPersoon("nieuwe persoon");
                    }

                    // check of de vakman al bestaat in MDR
                    Vakman vakman = dbrep.GetVakmanByOriginalId(persoon.persoon_ID);
                    if (vakman == null)
                    {
                        // bestond nog niet, dus toevoegen
                        IsNewVakman = true;

                        Vakman vakmanNew = new Vakman();

                        // check of er een bedrijf aan gekoppeld moet worden
                        if (persoon.bedrijf_nr != null)
                        {
                            // haal het originele bedrijf op
                            MDRbedrijf dbobedrijf = dbOriginalRep.GetBedrijf((int)persoon.bedrijf_nr);

                            // nieuw, in deze tabel opslaan
                            vakmanNew.BedrijfIdOrigineel = dbobedrijf.bedrijf_ID;

                            if (dbobedrijf.bedrijf_ID == ZeebregtsBedrijfId)
                            {
                                vakmanNew.Intern = true;
                            }
                            else
                            {
                                vakmanNew.Intern = false;
                            }
                        }

                        // overige info van de vakman invullen
                        vakmanNew.ContactIdOrigineel = persoon.persoon_ID;
                        vakmanNew.ProjectleiderId    = ApplicationState.GetValue <int>(ApplicationVariables.intProjectleider);
                        vakmanNew.Bsn                = ""; // persoon.voornaam + " " + (String.IsNullOrWhiteSpace(persoon.tussenvoegsel) ? "" : persoon.tussenvoegsel + " ") + persoon.achternaam;
                        vakmanNew.Postcode           = "";
                        vakmanNew.Huisnummer         = "";
                        vakmanNew.Adres              = "";
                        vakmanNew.Ma                 = 8;
                        vakmanNew.Di                 = 8;
                        vakmanNew.Wo                 = 8;
                        vakmanNew.Do                 = 8;
                        vakmanNew.Vr                 = 8;
                        vakmanNew.Za                 = 0;
                        vakmanNew.Zo                 = 0;
                        vakmanNew.Werkweek           = 40;
                        vakmanNew.DefaultBeginuur    = 0;
                        vakmanNew.DefaultBeginminuut = 0;

                        // voeg toe aan database
                        vakman = dbrep.InsertVakman(vakmanNew);
                    }

                    // bewaar info in 'sessie'
                    //ApplicationState.SetValue(ApplicationVariables.objVakman, vakman);
                    ApplicationState.SetValue(ApplicationVariables.intVakmanId, vakman.VakmanId);

                    DateTime nu = DateTime.Now;
                    //ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, new DateTime(nu.Year, nu.Month, nu.Day, 0, 0, 0));

                    if (SubRoute)
                    {
                        PageGoBack();
                    }
                    else
                    {
                        dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
                        MDRpersoon           objPersoon    = dbrepOriginal.GetContact(persoon.persoon_ID);

                        // create the page and load all values
                        Vakmannen.Detail.VakmanDetailView vdv = new Vakmannen.Detail.VakmanDetailView(objPersoon);
                        vdv.SelectTab(1);

                        // load the page into the contentcontrol
                        PageGoBack(vdv);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Er is een onbekende fout opgetreden, error #701");
            }
        }
        /// <summary>
        ///
        /// </summary>
        public void Load()
        {
            Mouse.OverrideCursor = Cursors.Wait;


            dbRepository dbrep = new dbRepository();
            Vakman       vm    = dbrep.GetVakman(ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId));

            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
            MDRpersoon           persoon       = dbrepOriginal.GetContact(vm.ContactIdOrigineel);

            txtPostcode.Text   = vm.Postcode;
            txtAdres.Text      = vm.Adres;
            txtPlaats.Text     = vm.Plaats;
            txtLand.Text       = vm.Land;
            txtHuisnummer.Text = vm.Huisnummer;

            if (persoon != null)
            {
                if (vm.ZZP == true)
                {
                    lbWerkrelatie.Content       = "Bedrijfsnaam:";
                    cbWerkrelatie.SelectedIndex = 1;
                }
                else
                {
                    lbWerkrelatie.Content       = "Werkgever:";
                    cbWerkrelatie.SelectedIndex = 0;
                }


                if (persoon.bedrijf_nr != null)
                {
                    MDRbedrijf b = dbrepOriginal.GetBedrijf((int)persoon.bedrijf_nr);
                    if (b != null)
                    {
                        lblWerkgever.Content = b.naam;
                    }
                }

                lblVakmanId.Content = persoon.persoon_nr == null ? "" : persoon.persoon_nr.ToString();

                lblVakmanNaam.Content = ToonNaam(persoon);
                txtBsn.Text           = vm.Bsn;
                //txtPostcode.Text = vm.Postcode;
                //txtHuisnummer.Text = vm.Huisnummer;
                //txtAdres.Text = vm.Adres;

                AdresLookup = vm.Adres.Substring(0, vm.Adres.Length - vm.Huisnummer.Length).Trim();

                cbMaUur.SelectedValue = vm.Ma.ToString().ToHour();
                cbDiUur.SelectedValue = vm.Di.ToString().ToHour();
                cbWoUur.SelectedValue = vm.Wo.ToString().ToHour();
                cbDoUur.SelectedValue = vm.Do.ToString().ToHour();
                cbVrUur.SelectedValue = vm.Vr.ToString().ToHour();
                cbZaUur.SelectedValue = vm.Za.ToString().ToHour();
                cbZoUur.SelectedValue = vm.Zo.ToString().ToHour();

                cbMaMin.SelectedValue = vm.Ma.ToString().ToMinute();
                cbDiMin.SelectedValue = vm.Di.ToString().ToMinute();
                cbWoMin.SelectedValue = vm.Wo.ToString().ToMinute();
                cbDoMin.SelectedValue = vm.Do.ToString().ToMinute();
                cbVrMin.SelectedValue = vm.Vr.ToString().ToMinute();
                cbZaMin.SelectedValue = vm.Za.ToString().ToMinute();
                cbZoMin.SelectedValue = vm.Zo.ToString().ToMinute();

                //ddlDefaultBeginuur.Text = ((int)vm.DefaultBeginuur).ToString("D2");
                //ddlDefaultBeginminuut.Text = ((int)vm.DefaultBeginminuut).ToString("D2");

                WerkweekUrenBerekenen(null, null);


                if (persoon.geboortedatum != null)
                {
                    txtDag.Text             = ((DateTime)persoon.geboortedatum).ToString("dd");
                    txtMaand.Text           = ((DateTime)persoon.geboortedatum).ToString("MM");
                    txtJaar.Text            = ((DateTime)persoon.geboortedatum).ToString("yyyy");
                    dpGebdatum.SelectedDate = persoon.geboortedatum;
                }

                if (string.IsNullOrWhiteSpace(persoon.telefoon_nr_1))
                {
                    lblTelefoonPrive1.Visibility = System.Windows.Visibility.Collapsed;
                    txtTelefoonPrive1.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblTelefoonPrive1.Visibility = System.Windows.Visibility.Visible;
                    txtTelefoonPrive1.Visibility = System.Windows.Visibility.Visible;
                }

                if (string.IsNullOrWhiteSpace(persoon.telefoon_nr_2))
                {
                    lblTelefoonPrive2.Visibility = System.Windows.Visibility.Collapsed;
                    txtTelefoonPrive2.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblTelefoonPrive2.Visibility = System.Windows.Visibility.Visible;
                    txtTelefoonPrive2.Visibility = System.Windows.Visibility.Visible;
                }

                if (string.IsNullOrWhiteSpace(persoon.telefoon_nr_3))
                {
                    lblTelefoonPrive3.Visibility = System.Windows.Visibility.Collapsed;
                    txtTelefoonPrive3.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblTelefoonPrive3.Visibility = System.Windows.Visibility.Visible;
                    txtTelefoonPrive3.Visibility = System.Windows.Visibility.Visible;
                }

                txtTelefoonPrive1.Content = persoon.telefoon_nr_1;
                txtTelefoonPrive2.Content = persoon.telefoon_nr_2;
                txtTelefoonPrive3.Content = persoon.telefoon_nr_3;

                txtEmail.Text = persoon.zaemail;


                cbChauffeur.IsChecked             = vm.IsChauffeur;
                cbBijrijdersregistratie.IsChecked = vm.IsBijrijder;

                cbChauffeurMa.IsChecked = vm.IsChauffeurMa;
                cbChauffeurDi.IsChecked = vm.IsChauffeurDi;
                cbChauffeurWo.IsChecked = vm.IsChauffeurWo;
                cbChauffeurDo.IsChecked = vm.IsChauffeurDo;
                cbChauffeurVr.IsChecked = vm.IsChauffeurVr;
                cbChauffeurZa.IsChecked = vm.IsChauffeurZa;
                cbChauffeurZo.IsChecked = vm.IsChauffeurZo;

                cbBijrijderMa.IsChecked = vm.IsBijrijderMa;
                cbBijrijderDi.IsChecked = vm.IsBijrijderDi;
                cbBijrijderWo.IsChecked = vm.IsBijrijderWo;
                cbBijrijderDo.IsChecked = vm.IsBijrijderDo;
                cbBijrijderVr.IsChecked = vm.IsBijrijderVr;
                cbBijrijderZa.IsChecked = vm.IsBijrijderZa;
                cbBijrijderZo.IsChecked = vm.IsBijrijderZo;

                if (!vm.IsChauffeur)
                {
                    wpChauffeur.Visibility = System.Windows.Visibility.Collapsed;
                }

                if (!vm.IsBijrijder)
                {
                    wpBijrijder.Visibility = System.Windows.Visibility.Collapsed;
                }
            }

            Mouse.OverrideCursor = null;
        }
Exemplo n.º 19
0
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;

            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }

            switch (propertyName)
            {
            case "Vakman":

                try
                {
                    StackPanel strTooltip         = new StackPanel();
                    StackPanel strTooltipAanvraag = new StackPanel();

                    btnHeader.Style = this.FindResource("LinkButton") as Style;
                    //btnHeader.Style = Tools.FindVisualParent<PageContainer>(this).FindResource("LinkButton") as Style;
                    dbOriginalRepository dbRepOriginal = new dbOriginalRepository();
                    dbRepository         dbrep         = new dbRepository();
                    DbTools dbtools = new DbTools();

                    MDRpersoon p = dbRepOriginal.GetContact(vakman.ContactIdOrigineel);


                    // TOOLTIP
                    // TOOLTIP
                    // TOOLTIP
                    DateTime dtdag     = ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay);
                    Project  project   = dbrep.GetProject(ApplicationState.GetValue <int>(ApplicationVariables.intProjectId));
                    Vakman   objVakman = dbrep.GetVakman(vakman.VakmanId);
                    strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(objVakman, project, dtdag, false, false));



                    if (p != null)
                    {
                        btnHeader.Content = (p.voornaam + " " + (p.tussenvoegsel == null ? "" : p.tussenvoegsel) + " " + p.achternaam).ToStringTrimmed();
                        bool isBold = vakman.VakmanId == ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId);
                        //strTooltip.AddText((p.voornaam + " " + (p.tussenvoegsel == null ? "" : p.tussenvoegsel) + " " + p.achternaam).ToStringTrimmed(), isBold);
                    }

                    //List<Mandagen> listMandagenTotal = dbrep.GetMandagen(vakman.VakmanId, ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay)).Where(m => m.Begintijd != m.Eindtijd).OrderBy(m => m.Status).ToList();


                    //int previousVakmanId = -1;
                    //foreach (Mandagen mandag in listMandagenTotal)
                    //{

                    //    // als in deze pool van mandagen een aanvraag zit:
                    //    // vandaag, ander project, geen projectleider, wel bevestigd (dus waar dit de aanvraag van is)
                    //    List<Mandagen> listMandagenWaarDitDeAanvraagVanIs = listMandagenTotal.Where(m => m.ProjectId != mandag.ProjectId && m.ProjectleiderId != ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId && m.ProjectId != mandag.ProjectId && m.Begintijd >= ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay) && m.Eindtijd <= ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay).AddDays(1) && m.Status).ToList();

                    //    if (mandag.Status)
                    //    {
                    //        bool isBold = (ApplicationState.GetValue<int>(ApplicationVariables.intProjectId) == mandag.ProjectId);
                    //        strTooltip.AddText("(" + ToonTijd(mandag) + ")" + " " + dbRepOriginal.GetProject((int)mandag.Project.ProjectNr).naam_project, isBold);
                    //    }

                    //    if (!mandag.Status)
                    //    {


                    //        bool reverse = false;
                    //        if (ApplicationState.GetValue<int>(ApplicationVariables.intProjectId) == mandag.ProjectId)
                    //        {
                    //            reverse = true;
                    //        }
                    //        if (previousVakmanId == mandag.VakmanId)
                    //        {
                    //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagMinOnly(listMandagenWaarDitDeAanvraagVanIs, mandag, reverse));
                    //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(mandag.Vakman, mandag.Project, dbtools.GetHeleDag(mandag.Begintijd)));
                    //        }
                    //        else
                    //        {
                    //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraag(listMandagenWaarDitDeAanvraagVanIs, mandag, reverse));
                    //            //strTooltipAanvraag.Children.Add(dbtools.AddTooltipAanvraagAll(mandag.Vakman, mandag.Project, dbtools.GetHeleDag(mandag.Begintijd)));
                    //        }
                    //    }

                    //    previousVakmanId = mandag.VakmanId;

                    //}

                    ToolTipService.SetShowDuration(btnHeader, 20000);
                    strTooltip.Children.Add(strTooltipAanvraag);
                    btnHeader.ToolTip = strTooltip;

                    if (ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId) == vakman.VakmanId)
                    {
                        // make bold
                        //btnHeader.FontWeight = FontWeights.ExtraBold;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                break;

            default:
                break;
            }
        }
Exemplo n.º 20
0
        public void Load()
        {
            DbTools dbtools = new DbTools();

            // datums onder tooltip
            lblMa.ToolTip = GetDagTooltip(dtDag);
            lblDi.ToolTip = GetDagTooltip(dtDag.AddDays(1));
            lblWo.ToolTip = GetDagTooltip(dtDag.AddDays(2));
            lblDo.ToolTip = GetDagTooltip(dtDag.AddDays(3));
            lblVr.ToolTip = GetDagTooltip(dtDag.AddDays(4));
            lblZa.ToolTip = GetDagTooltip(dtDag.AddDays(5));
            lblZo.ToolTip = GetDagTooltip(dtDag.AddDays(6));

            if (!IsWeekVisible)
            {
                // datums onder tooltip
                lblMa.Visibility     = System.Windows.Visibility.Collapsed;
                lblDi.Visibility     = System.Windows.Visibility.Collapsed;
                lblWo.Visibility     = System.Windows.Visibility.Collapsed;
                lblDo.Visibility     = System.Windows.Visibility.Collapsed;
                lblVr.Visibility     = System.Windows.Visibility.Collapsed;
                lblZa.Visibility     = System.Windows.Visibility.Collapsed;
                lblZo.Visibility     = System.Windows.Visibility.Collapsed;
                bbDivider.Visibility = System.Windows.Visibility.Collapsed;
            }

            if (weeknummer % 2 == 0)
            {
                bbDivider.BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFFFFFFF"));
            }
            else
            {
                bbDivider.BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFD8E4BC"));
            }


            dbRepository         dbrep = new dbRepository();
            dbOriginalRepository dbo   = new dbOriginalRepository();

            // haal alle mandegen van deze week
            //Logfile.Log("Haal alle mandagen op (database)");
            //listMandagenTotal = listMandagenTotal.Where(m => m.Begintijd >= dtDag && m.Eindtijd <= dtDag.AddDays(7) && m.Begintijd != m.Eindtijd).ToList();

            foreach (vwVakman objVwVakman in listVwVakmannen)
            {
                //
                //Logfile.Log("volgende vakman");
                Vakman     objVakman  = listVakmannen.FirstOrDefault(a => a.VakmanId == objVwVakman.VakmanId);
                MDRpersoon objPersoon = listMDRpersoons.FirstOrDefault(a => a.persoon_ID == objVwVakman.ContactIdOrigineel);

                for (int i = 0; i < 7; i++)
                {
                    // per dag extra tooltip informatie:
                    StackPanel strTooltip = new StackPanel();
                    //StackPanel strTooltipAanvraag = new StackPanel();

                    //Logfile.Log("volgende dag, dag " + i.ToString());

                    //strTooltip.AddText(ToonNaam(objPersoon));

                    // filter alleen de mandagen voor vandaag,
                    // van de huidige vakman waar we naar kijken
                    //Logfile.Log("filter mandagen");

                    // EXPERIMENT uitzetten LET OP: Juraci
                    List <Mandagen> listMandagen = listMandagenTotal.Where(m => m.VakmanId == objVwVakman.VakmanId && m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1)).OrderBy(m => m.Begintijd).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();
                    // als in deze pool van mandagen een aanvraag zit:
                    // vandaag, ander project, geen projectleider, wel bevestigd (dus waar dit de aanvraag van is)
                    //List<Mandagen> listMandagenWaarDitDeAanvraagVanIs = listMandagenTotal.Where(m => m.ProjectleiderId != ApplicationState.GetValue<Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId && m.VakmanId == objVakman.VakmanId && m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1) && m.Status).OrderBy(m => m.Begintijd).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));

                    int vakmanId = -1;



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

                    bool hasUren = totalHours > 0 || totalMinutes > 0;

                    strTooltip = dbtools.AddTooltipAanvraagAll(objVakman, new Project(), dtDag.AddDays(i), false, true, listMandagenTotal.Where(m => m.Begintijd >= dtDag.AddDays(i) && m.Eindtijd <= dtDag.AddDays(i + 1)).ToList(), hasAanvraag, hasUren);


                    //TimeSpan totalTimespan = TimeSpan.FromTicks(totalTicks);
                    Button lblDag = new Button();
                    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);

                    ToolTipService.SetShowDuration(lblDag, 20000);

                    lblDag.ToolTip = 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);

                    //if (totalTimespan.Minutes > 0)
                    //{
                    //    totalHoursRounded ++;
                    //}

                    //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(objVwVakman);
                    tag.Add(dtDag.AddDays(i));

                    lblDag.Tag = tag;

                    // 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"));
                    }

                    // standaard achtergrondkleuren van de dagen
                    if (weeknummer % 2 == 0)
                    {
                        lblDag.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFD8E4BC"));
                    }
                    else
                    {
                        lblDag.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFFFFFFF"));
                    }


                    lblDag.BorderThickness = new Thickness(2);

                    //lblDag.MouseLeftButtonDown += lblDag_Click;
                    lblDag.Click += lblDag_Click;
                    spUren.Children.Add(lblDag);

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


            //Logfile.Log("klaar met vakmannen");
        }
Exemplo n.º 21
0
        public void calculateDag(Button lblDag, Project objProject, DateTime datum)
        {
            dbOriginalRepository dbo = new dbOriginalRepository();

            // per dag extra tooltip informatie:
            string strTooltip = string.Empty;


            // filter alleen de mandagen voor vandaag, waarvan de ingelogde kijker projectleider is,
            // van het huidige project waar we naar kijken
            List <Mandagen> listMandagen = listMandagenTotal.Where(m => m.ProjectleiderId == objProjectleider.ProjectleiderId && m.ProjectId == objProject.ProjectId && m.Begintijd >= datum && m.Eindtijd <= datum.AddDays(1)).ToList();

            // als in deze pool van mandagen een aanvraag zit:
            // vandaag, ander project, geen projectleider, niet bevestigd (dus aanvraag)
            List <Mandagen> listAanvragen = listMandagenTotal.Where(m => m.ProjectleiderId != objProjectleider.ProjectleiderId && m.ProjectId != objProject.ProjectId && m.Begintijd >= datum && m.Eindtijd <= datum.AddDays(1) && !m.Status).ToList();


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

            // TODO: WEER AANZETTEN, CACHE TEST
            foreach (Mandagen mandag in listMandagen)
            {
                // 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);

                    MDRpersoon persoon = dbo.GetContact(mandag.Vakman.ContactIdOrigineel, true);

                    if (persoon != null)
                    {
                        strTooltip += Environment.NewLine;
                        //strTooltip += "(" + ((int)Math.Ceiling(tsMandag.TotalHours)).ToString() + "u) " + (persoon.voornaam + " " + persoon.tussenvoegsel + " " + persoon.achternaam).ToStringTrimmed();
                        strTooltip += "(" + mandag.Uren.ToString() + ":" + (mandag.Minuten < 10 ? "0" : "") + mandag.Minuten.ToString() + ") " + (persoon.voornaam + " " + persoon.tussenvoegsel + " " + persoon.achternaam).ToStringTrimmed();
                    }

                    totalHours   += mandag.Uren;
                    totalMinutes += mandag.Minuten;
                }

                // zwart randje tonen als: een van de vakmannen een aanvraag is,
                // of er voor een van de vakmannen een aanvraag is gedaan die invloed heeft op dit project
                // en nog niet geannuleerd is als die door iemand anders is gedaan, of wel geannuleerd als die door mij is gedaan
                //
                // DUS:
                // 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) || listAanvragen.Any(a => !a.Geannulleerd && a.Eindtijd > mandag.Begintijd && a.Begintijd < mandag.Eindtijd && a.ProjectId != mandag.ProjectId && a.VakmanId == mandag.VakmanId))
                {
                    hasAanvraag = true;
                }
            }
            // END TODO: WEER AANZETTEN, CACHE TEST

            // CHECKEN
            //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);

            lblDag.ToolTip = objProject.Naam + strTooltip;

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

            totalHoursRounded = totalHours + (int)((totalMinutes - minutesRemainder) / 60) + (minutesRemainder == 0 ? 0 : 1);

            //if (totalTimespan.Minutes > 0)
            //{
            //    totalHoursRounded ++;
            //}

            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(objProject);
            tag.Add(datum);

            lblDag.Tag = tag;

            // 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("#FFC5D9F1"));
                }
                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("#FFC5D9F1"));
                }
            }

            // zwarte rand maken bij een aanvraag
            if (hasAanvraag)
            {
                double[]  dimensions      = new double[] { 2, 2 };
                Rectangle dottedRectangle = new Rectangle();
                dottedRectangle.Stroke = blnOwner ? new SolidColorBrush(Colors.Black) : 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"));
            }

            // standaard achtergrondkleuren van de dagen
            if (weeknummer % 2 == 0)
            {
                lblDag.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFC5D9F1"));
            }
            else
            {
                lblDag.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FFFFFFFF"));
            }


            lblDag.BorderThickness = new Thickness(2);

            // END CHECCKEN



            //lblDag.ToolTip = objProject.Naam + strTooltip;

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

            //totalHoursRounded = totalHours + (int)((totalMinutes - minutesRemainder) / 60) + (minutesRemainder == 0 ? 0 : 1);

            ////if (totalTimespan.Minutes > 0)
            ////{
            ////    totalHoursRounded ++;
            ////}

            //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(objProject);
            //tag.Add(datum);

            //lblDag.Tag = tag;

            //// zwarte rand maken bij een aanvraag
            //if (hasAanvraag)
            //{
            //    double[] dimensions = new double[] { 2, 2 };
            //    Rectangle dottedRectangle = new Rectangle();
            //    dottedRectangle.Stroke = blnOwner ? new SolidColorBrush(Colors.Black) : 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"));
            //}
        }
Exemplo n.º 22
0
        private void Save()
        {
            List <int> lstBewaren = new List <int>();

            dbRepository         dbrep         = new dbRepository();
            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();

            foreach (object obj in dgGebruikers.Items)
            {
                if (obj.GetType() == typeof(Gebruiker))
                {
                    Gebruiker gb          = (Gebruiker)obj;
                    bool      IsInserting = false;

                    Gebruiker ge = dbrep.GetGebruiker(gb.GebruikerId);

                    if (ge == null)
                    {
                        ge          = new Gebruiker();
                        IsInserting = true;
                    }

                    ge.IsAdministrator         = gb.IsAdministrator;
                    ge.CanLoginAsProjectleider = gb.CanLoginAsProjectleider;
                    ge.Gebruikersnaam          = gb.Gebruikersnaam;
                    ge.Gebruikersrol           = IsInserting ? 1 : gb.Gebruikersrol;
                    ge.ProjectleiderId         = gb.ProjectleiderId;
                    ge.IsProjectleider         = gb.IsProjectleider;
                    ge.Windowsidentity         = gb.Windowsidentity;
                    ge.PersoonNrOrigineel      = gb.PersoonNrOrigineel;
                    ge.CanPrint  = gb.CanPrint;
                    ge.IsManager = gb.IsManager;

                    MDRpersoon pp = dbrepOriginal.datacontext.MDRpersoons.Where(p => p.persoon_nr == gb.PersoonNrOrigineel).FirstOrDefault();
                    if (pp != null)
                    {
                        ge.ContactIdOrigineel = pp.persoon_ID;
                    }

                    if (IsInserting)
                    {
                        dbrep.datacontext.Gebruikers.InsertOnSubmit(ge);
                        dbrep.datacontext.SubmitChanges();

                        ge.ProjectleiderId = 100 + ge.GebruikerId;
                        dbrep.datacontext.SubmitChanges();
                    }

                    // opnieuw inloggen als deze gebruiker als ik het was, zodat de rechten ververst worden
                    if (ge.GebruikerId == ApplicationState.GetValue <Gebruiker>(ApplicationVariables.objGebruiker).GebruikerId)
                    {
                        dbrep.datacontext.SubmitChanges();

                        Login.Edit.LoginAls(ge.GebruikerId, true, this);
                    }

                    // deze bewaren
                    lstBewaren.Add(ge.GebruikerId);
                }
            }

            dbrep.datacontext.SubmitChanges();


            foreach (Gebruiker geb in dbrep.datacontext.Gebruikers)
            {
                // als deze was verwijderd uit de lijst.... verwijderen uit database
                if (!lstBewaren.Contains(geb.GebruikerId))
                {
                    if (dbrep.GetProjectsByProjectleiderId(geb.ProjectleiderId).Count == 0)
                    {
                        dbrep.datacontext.Gebruikers.DeleteOnSubmit(geb);
                    }
                    else
                    {
                        MessageBox.Show("Kan geen gebruikers deleten met bijbehorende projecten. Gebruiker: [ " + geb.Gebruikersnaam + " ]");
                    }
                }
            }

            dbrep.datacontext.SubmitChanges();

            //Load();

            //ConfigurationManager.AppSettings.Remove("WeekviewLeesstand");
            //ConfigurationManager.AppSettings.Add("WeekviewLeesstand", cbWeekviewLeesstand.IsChecked == true ? "true" : "false");

            //SetAppsettings("WeekviewLeesstand", cbWeekviewLeesstand.IsChecked == true ? "true" : "false");

            Global.useWeekviewLeesstand = cbWeekviewLeesstand.IsChecked == true;

            PageGoBack();
        }
        /// <summary>
        ///
        /// </summary>
        public void Load()
        {
            Mouse.OverrideCursor = Cursors.Wait;

            int projectId       = ApplicationState.GetValue <int>(ApplicationVariables.intProjectId);
            int projectleiderId = ApplicationState.GetValue <Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId;

            dbRepository dbrep = new dbRepository();

            MandagenRegistratieDomain.Project project = dbrep.GetProject(ApplicationState.GetValue <int>(ApplicationVariables.intProjectId));

            dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
            MDRpersoon           persoon       = dbrepOriginal.GetContact(dbrep.GetProjectleider(project.ProjectleiderId).ContactIdOrigineel);

            MandagenRegistratieDomain.MDRproject  dboproject = dbrepOriginal.datacontext.MDRprojects.Where(p => p.project_NR == project.ProjectNr).FirstOrDefault();
            MandagenRegistratieDomain.MDRadressen dboadres   = dbrepOriginal.datacontext.MDRadressens.Where(a => a.adres_id == dboproject.adres_id_bouw).FirstOrDefault();


            lblProjectNr.Content = project.ProjectNr.ToString(); // dbrepOriginal.GetProject((int)project.ProjectNr).project_NR.ToString();


            if (dboadres != null)
            {
                txtPostcodeCijfers.Text = (dboadres.postcode_cijfers.HasValue ? dboadres.postcode_cijfers.Value.ToString() : "") + dboadres.postcode_letters;
                //txtPostcodeLetters.Text = ;
                txtHuisnummer.Text = dboadres.huis_postbus_nummer + dboadres.huisnummer_toevoeging;
                txtAdres.Text      = dboadres.straat_1;
                if (dboadres.straat_1.Length - txtHuisnummer.Text.Length > 0)
                {
                    AdresLookup = dboadres.straat_1.Substring(0, dboadres.straat_1.Length - txtHuisnummer.Text.Length).Trim();
                }
                else
                {
                    AdresLookup = "";
                }

                txtPlaats.Text = dboadres.plaats;
                txtLand.Text   = dboadres.land;
            }

            txtProjectnaam.Text = dboproject.naam_project;

            if (persoon != null)
            {
                lblProjectleider.Content = (persoon.voornaam + " " + persoon.tussenvoegsel + " " + persoon.achternaam).ToStringTrimmed();
            }
            else
            {
                lblProjectleider.Content = "";
            }

            txtProjectcodeExtern.Text       = dboproject.aannemer_projectnummer;
            txtProjectContractnummer.Text   = dboproject.aannemer_contractnummer;
            txtProjectNacalculatiecode.Text = dboproject.nacalculatiecode;


            // set dropdownlist
            List <Gebruiker> listProjectleiders = new List <Gebruiker>();

            listProjectleiders = dbrep.GetProjectleiders().Where(g => g.IsProjectleider).ToList();

            cbProjectleiders.ItemsSource       = listProjectleiders;
            cbProjectleiders.DisplayMemberPath = "Gebruikersnaam";
            cbProjectleiders.SelectedValuePath = "ProjectleiderId";

            cbProjectleiders.SelectedValue = ApplicationState.GetValue <Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId;

            // set projectleiders voor eigenaarschap
            cbProjectleiders2.ItemsSource       = listProjectleiders;
            cbProjectleiders2.DisplayMemberPath = "Gebruikersnaam";
            cbProjectleiders2.SelectedValuePath = "ProjectleiderId";

            cbProjectleiders2.SelectedValue = project.ProjectleiderId;


            // set zichtbaarheid
            if (project.ProjectleiderId == projectleiderId)
            {
                cbProjectleiders2.IsEnabled = true;
            }


            // set periodes
            List <cPeriode> listPeriodes = new List <cPeriode>();

            List <Mandagen>  listMandagen        = dbrep.datacontext.Mandagens.Where(m => m.ProjectId == projectId).ToList();
            List <Gebruiker> listProjectleiders2 = dbrep.GetProjectleiders();

            // set huidige projectleider
            lblHuidigeProjectEigenaar.Content = listProjectleiders2.Where(p => p.ProjectleiderId == project.ProjectleiderId).FirstOrDefault().Gebruikersnaam;

            // default het scherm onzichtbaar maken
            // wpUrenOverdragen.Visibility = System.Windows.Visibility.Collapsed;

            // greyen in plaats van onzichtbaar maken
            lblBeginDatum.IsEnabled    = false;
            cbProjectleiders.IsEnabled = false;
            // standaard zo
            imgCalendarOn.Visibility = System.Windows.Visibility.Collapsed;
            imgCalendar.Visibility   = System.Windows.Visibility.Visible;


            if (listMandagen.Where(m => m.Begintijd != m.Eindtijd).Count() > 0)
            {
            }

            cPeriode cp = new cPeriode();
            int      previousProjectleiderId = 0;
            int      counter = 0;

            List <Mandagen> listMandagenByDate = listMandagen.Where(m => m.Begintijd != m.Eindtijd).OrderBy(m => m.Begintijd).ToList();

            foreach (Mandagen mandag in listMandagenByDate)
            {
                // count the loop
                counter++;

                int currentProjectleiderId = mandag.ProjectleiderId;
                //alleen de eerste keer startdatum standaard instellen
                if (previousProjectleiderId == 0)
                {
                    cp.periodeVan   = mandag.Begintijd.ToString("dd-MM-yyyy");
                    cp.periodeStart = mandag.Begintijd;
                }


                // als de huidige projectleider een andere is dan de vorige
                // dan vorige opslaan, en verder gaan met een nieuwe
                if (currentProjectleiderId != previousProjectleiderId && previousProjectleiderId != 0)
                {
                    listPeriodes.Add(cp);
                    cp                      = new cPeriode();
                    cp.periodeVan           = mandag.Begintijd.ToString("dd-MM-yyyy");
                    cp.periodeStart         = mandag.Begintijd;
                    cp.periodeTot           = mandag.Eindtijd.ToString("dd-MM-yyyy");
                    cp.periodeProjectleider = listProjectleiders2.FirstOrDefault(pl => pl.ProjectleiderId == mandag.ProjectleiderId).Gebruikersnaam;
                    cp.periodeStop          = mandag.Eindtijd;
                }
                // anders alleen verder gaan met de einddatum
                else
                {
                    cp.periodeTot           = mandag.Eindtijd.ToString("dd-MM-yyyy");
                    cp.periodeProjectleider = listProjectleiders2.FirstOrDefault(pl => pl.ProjectleiderId == mandag.ProjectleiderId).Gebruikersnaam;
                    cp.periodeStop          = mandag.Eindtijd;
                }


                // als het de laatste is, dan sowieso opslaaan

                if (listMandagenByDate.Count == counter)
                {
                    listPeriodes.Add(cp);
                }

                // sla de previousProjectleiderID op
                previousProjectleiderId = mandag.ProjectleiderId;

                // als ik een periode heb, kan ik uren overzetten, anders heeft dat scherm uberhaupt geen nut
                if (mandag.ProjectleiderId == projectleiderId)
                {
                    wpUrenOverdragen.Visibility = System.Windows.Visibility.Visible;

                    // niet meer ge-greyd
                    lblBeginDatum.IsEnabled    = true;
                    cbProjectleiders.IsEnabled = true;
                    // calendar plaatjes verwisselen
                    imgCalendarOn.Visibility = System.Windows.Visibility.Visible;
                    imgCalendar.Visibility   = System.Windows.Visibility.Collapsed;

                    dtFirstPossibleDate = listMandagen.Where(m => m.ProjectleiderId == projectleiderId && m.Begintijd != m.Eindtijd).OrderBy(m => m.Begintijd).FirstOrDefault().Begintijd;
                    dtLastPossibleDate  = listMandagen.Where(m => m.ProjectleiderId == projectleiderId && m.Begintijd != m.Eindtijd).OrderByDescending(m => m.Eindtijd).FirstOrDefault().Eindtijd;

                    // reset selected date on Load
                    dtSelectedDate            = dtFirstPossibleDate;
                    dpBeginDatum.SelectedDate = dtSelectedDate;
                    lblBeginDatum.Content     = dtSelectedDate.ToString("dd-MM-yyyy");
                }
            }

            //foreach (Gebruiker pl in listProjectleiders2.Where(p => listMandagen.Any(m => m.ProjectleiderId == p.ProjectleiderId)))
            //{
            //    cPeriode cp = new cPeriode();
            //    cp.periodeVan = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId && m.Begintijd != m.Eindtijd).OrderBy(m => m.Begintijd).FirstOrDefault().Begintijd.ToString("dd-MM-yyyy");
            //    cp.periodeTot = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId && m.Begintijd != m.Eindtijd).OrderByDescending(m => m.Eindtijd).FirstOrDefault().Eindtijd.ToString("dd-MM-yyyy");
            //    cp.periodeProjectleider = pl.Gebruikersnaam;
            //    cp.periodeStart = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId && m.Begintijd != m.Eindtijd).OrderBy(m => m.Begintijd).FirstOrDefault().Begintijd;
            //    cp.periodeStop = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId && m.Begintijd != m.Eindtijd).OrderByDescending(m => m.Eindtijd).FirstOrDefault().Eindtijd;

            //    listPeriodes.Add(cp);

            //    // als ik een periode heb, kan ik uren overzetten, anders heeft dat scherm uberhaupt geen nut
            //    if (pl.ProjectleiderId == projectleiderId)
            //    {
            //        wpUrenOverdragen.Visibility = System.Windows.Visibility.Visible;

            //        // niet meer ge-greyd
            //        lblBeginDatum.IsEnabled = true;
            //        cbProjectleiders.IsEnabled = true;
            //        // calendar plaatjes verwisselen
            //        imgCalendarOn.Visibility = System.Windows.Visibility.Visible;
            //        imgCalendar.Visibility = System.Windows.Visibility.Collapsed;

            //        dtFirstPossibleDate = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId && m.Begintijd != m.Eindtijd).OrderBy(m => m.Begintijd).FirstOrDefault().Begintijd;
            //        dtLastPossibleDate = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId && m.Begintijd != m.Eindtijd).OrderByDescending(m => m.Eindtijd).FirstOrDefault().Eindtijd;

            //        // reset selected date on Load
            //        dtSelectedDate = dtFirstPossibleDate;
            //        dpBeginDatum.SelectedDate = dtSelectedDate;
            //        lblBeginDatum.Content = dtSelectedDate.ToString("dd-MM-yyyy");

            //    }
            //}



            itemsPeriodes.ItemsSource = listPeriodes.OrderBy(p => p.periodeStart).ThenBy(p => p.periodeStop).ToList();


            Mouse.OverrideCursor = null;
        }
Exemplo n.º 24
0
 public string ToonNaam(MDRpersoon objPersoon)
 {
     return(objPersoon.voornaam + " " + (string.IsNullOrWhiteSpace(objPersoon.tussenvoegsel) ? "" : objPersoon.tussenvoegsel + " ") + objPersoon.achternaam);
 }
Exemplo n.º 25
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");
        }
Exemplo n.º 26
0
        public void Load()
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;

                int projectId       = ApplicationState.GetValue <int>(ApplicationVariables.intProjectId);
                int projectleiderId = ApplicationState.GetValue <Gebruiker>(ApplicationVariables.objGebruiker).ProjectleiderId;

                dbRepository dbrep = new dbRepository();

                if (intProjectId == -1)
                {
                    intProjectId = ApplicationState.GetValue <int>(ApplicationVariables.intProjectId);
                }

                //if (dtSelectedDay == DateTime.MinValue)
                //{
                dtSelectedDay = ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay);
                //}

                MandagenRegistratieDomain.Project project = dbrep.GetProject(intProjectId);

                dbOriginalRepository dbrepOriginal = new dbOriginalRepository();
                MDRpersoon           persoon       = dbrepOriginal.GetContact(dbrep.GetProjectleider(project.ProjectleiderId).ContactIdOrigineel);
                MDRproject           dboproject    = dbrepOriginal.GetProject((int)project.ProjectNr);


                MandagenRegistratieDomain.MDRadressen dboadres = null;

                if (dboproject.adres_id_bouw != null)
                {
                    dboadres = dbrepOriginal.datacontext.MDRadressens.Where(a => a.adres_id == dboproject.adres_id_bouw).FirstOrDefault();
                }
                else if (dboproject.adres_id_factuur != null)
                {
                    dboadres = dbrepOriginal.datacontext.MDRadressens.Where(a => a.adres_id == dboproject.adres_id_factuur).FirstOrDefault();
                }

                MDRbedrijf bedrijfzdb = dbrepOriginal.datacontext.MDRbedrijfs.Where(b => b.bedrijf_nr == dboproject.opdrachtgeverZEEBREGTS_nr).FirstOrDefault();

                if (bedrijfzdb != null)
                {
                    lblOpdrachtgever.Content = bedrijfzdb.naam;
                }

                lblProjectNr.Content = project.ProjectNr.ToString(); // dbrepOriginal.GetProject((int)project.ProjectNr).project_NR.ToString();

                lblProjectnaam.Content = dboproject.naam_project;

                if (persoon != null)
                {
                    lblProjectleider.Content = (persoon.voornaam + " " + persoon.tussenvoegsel + " " + persoon.achternaam).ToStringTrimmed();
                }
                else
                {
                    lblProjectleider.Content = "";
                }

                lblProjectcodeExtern.Content       = dboproject.aannemer_projectnummer;
                lblProjectContractnummer.Content   = dboproject.aannemer_contractnummer;
                lblProjectNacalculatiecode.Content = dboproject.nacalculatiecode;

                bool showLblReferentieOpdrachtgever = false;

                if (string.IsNullOrWhiteSpace(dboproject.aannemer_projectnummer))
                {
                    lblProjectcodeExtern.Visibility  = System.Windows.Visibility.Collapsed;
                    lblProjectcodeExtern2.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblProjectcodeExtern.Visibility  = System.Windows.Visibility.Visible;
                    lblProjectcodeExtern2.Visibility = System.Windows.Visibility.Visible;
                    showLblReferentieOpdrachtgever   = true;
                }

                if (string.IsNullOrWhiteSpace(dboproject.aannemer_contractnummer))
                {
                    lblProjectContractnummer.Visibility  = System.Windows.Visibility.Collapsed;
                    lblProjectContractnummer2.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblProjectContractnummer.Visibility  = System.Windows.Visibility.Visible;
                    lblProjectContractnummer2.Visibility = System.Windows.Visibility.Visible;
                    showLblReferentieOpdrachtgever       = true;
                }

                if (string.IsNullOrWhiteSpace(dboproject.nacalculatiecode))
                {
                    lblProjectNacalculatiecode.Visibility  = System.Windows.Visibility.Collapsed;
                    lblProjectNacalculatiecode2.Visibility = System.Windows.Visibility.Collapsed;
                }
                else
                {
                    lblProjectNacalculatiecode.Visibility  = System.Windows.Visibility.Visible;
                    lblProjectNacalculatiecode2.Visibility = System.Windows.Visibility.Visible;
                    showLblReferentieOpdrachtgever         = true;
                }

                if (showLblReferentieOpdrachtgever)
                {
                    lblReferentieOpdrachtgever.Visibility = System.Windows.Visibility.Visible;
                }
                else
                {
                    lblReferentieOpdrachtgever.Visibility = System.Windows.Visibility.Collapsed;
                }

                if (dboadres != null)
                {
                    lblPostcode.Content = (dboadres.postcode_cijfers.HasValue ? dboadres.postcode_cijfers.Value.ToString() + dboadres.postcode_letters : "") + ", " + dboadres.plaats;

                    string postcodeTemp = (dboadres.postcode_cijfers.HasValue ? dboadres.postcode_cijfers.Value.ToString() + dboadres.postcode_letters : "");

                    lblPostcode.Content = postcodeTemp + (string.IsNullOrWhiteSpace(dboadres.plaats) || string.IsNullOrWhiteSpace(postcodeTemp) ? "" : ", ") + dboadres.plaats;


                    //lblHuisnummer.Content = dboadres.huis_postbus_nummer + dboadres.huisnummer_toevoeging;
                    lblAdres.Content = dboadres.straat_1 + " " + dboadres.huis_postbus_nummer + dboadres.huisnummer_toevoeging;
                    //lblPlaats.Content = dboadres.plaats;
                    lblLand.Content = dboadres.land;

                    bool showLblAdresProject = false;

                    if (string.IsNullOrWhiteSpace(lblPostcode.Content.ToString()))
                    {
                        lblPostcode.Visibility  = System.Windows.Visibility.Collapsed;
                        lblPostcode2.Visibility = System.Windows.Visibility.Collapsed;
                    }
                    else
                    {
                        if (string.IsNullOrWhiteSpace(postcodeTemp))
                        {
                            lblPostcode2.Content = "Plaats";
                        }
                        else if (string.IsNullOrWhiteSpace(dboadres.plaats))
                        {
                            lblPostcode2.Content = "Postcode";
                        }
                        else
                        {
                            lblPostcode2.Content = "Postcode, plaats";
                        }

                        lblPostcode.Visibility  = System.Windows.Visibility.Visible;
                        lblPostcode2.Visibility = System.Windows.Visibility.Visible;
                        showLblAdresProject     = true;
                    }

                    //if (string.IsNullOrWhiteSpace(lblHuisnummer.Content.ToString()))
                    //{
                    //    lblHuisnummer.Visibility = System.Windows.Visibility.Collapsed;
                    //    lblHuisnummer2.Visibility = System.Windows.Visibility.Collapsed;
                    //}
                    //else
                    //{
                    //    lblHuisnummer.Visibility = System.Windows.Visibility.Visible;
                    //    lblHuisnummer2.Visibility = System.Windows.Visibility.Visible;
                    //    showLblAdresProject = true;
                    //}

                    if (string.IsNullOrWhiteSpace(lblAdres.Content.ToString()))
                    {
                        lblAdres.Visibility  = System.Windows.Visibility.Collapsed;
                        lblAdres2.Visibility = System.Windows.Visibility.Collapsed;
                    }
                    else
                    {
                        lblAdres.Visibility  = System.Windows.Visibility.Visible;
                        lblAdres2.Visibility = System.Windows.Visibility.Visible;
                        showLblAdresProject  = true;
                    }

                    //if (string.IsNullOrWhiteSpace(lblPlaats.Content.ToString()))
                    //{
                    //    lblPlaats.Visibility = System.Windows.Visibility.Collapsed;
                    //    lblPlaats2.Visibility = System.Windows.Visibility.Collapsed;
                    //}
                    //else
                    //{
                    //    lblPlaats.Visibility = System.Windows.Visibility.Visible;
                    //    lblPlaats2.Visibility = System.Windows.Visibility.Visible;
                    //    showLblAdresProject = true;
                    //}

                    if (string.IsNullOrWhiteSpace(lblLand.Content.ToString()))
                    {
                        lblLand.Visibility  = System.Windows.Visibility.Collapsed;
                        lblLand2.Visibility = System.Windows.Visibility.Collapsed;
                    }
                    else
                    {
                        lblLand.Visibility  = System.Windows.Visibility.Visible;
                        lblLand2.Visibility = System.Windows.Visibility.Visible;
                        showLblAdresProject = true;
                    }

                    if (showLblAdresProject)
                    {
                        lblAdresProject.Visibility = System.Windows.Visibility.Visible;
                    }
                    else
                    {
                        lblAdresProject.Visibility = System.Windows.Visibility.Collapsed;
                    }
                }


                ProjectDagView pdv = new ProjectDagView();
                pdv.objProject = project;
                pdv.LoadVakmanDagView(true, intProjectId, dtSelectedDay);
                pdv.LoadWeekInfo();


                //pdv.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;

                tabPlanning.Content = pdv;

                // set periodes
                List <cPeriode> listPeriodes = new List <cPeriode>();

                List <Mandagen>  listMandagen        = dbrep.datacontext.Mandagens.Where(m => m.ProjectId == intProjectId).ToList();
                List <Gebruiker> listProjectleiders2 = dbrep.GetProjectleiders();

                // set huidige projectleider
                lblHuidigeProjectEigenaar.Content = listProjectleiders2.Where(p => p.ProjectleiderId == project.ProjectleiderId).FirstOrDefault().Gebruikersnaam;


                cPeriode cp = new cPeriode();
                int      previousProjectleiderId = 0;
                int      counter = 0;

                List <Mandagen> listMandagenByDate = listMandagen.Where(m => m.Begintijd != m.Eindtijd).OrderBy(m => m.Begintijd).ToList();
                foreach (Mandagen mandag in listMandagenByDate)
                {
                    // count the loop
                    counter++;

                    int currentProjectleiderId = mandag.ProjectleiderId;
                    //alleen de eerste keer startdatum standaard instellen
                    if (previousProjectleiderId == 0)
                    {
                        cp.periodeVan = mandag.Begintijd.ToString("dd-MM-yyyy");
                    }


                    // als de huidige projectleider een andere is dan de vorige
                    // dan vorige opslaan, en verder gaan met een nieuwe
                    if (currentProjectleiderId != previousProjectleiderId && previousProjectleiderId != 0)
                    {
                        listPeriodes.Add(cp);
                        cp                      = new cPeriode();
                        cp.periodeVan           = mandag.Begintijd.ToString("dd-MM-yyyy");
                        cp.periodeTot           = mandag.Eindtijd.ToString("dd-MM-yyyy");
                        cp.periodeProjectleider = listProjectleiders2.FirstOrDefault(pl => pl.ProjectleiderId == mandag.ProjectleiderId).Gebruikersnaam;
                    }
                    // anders alleen verder gaan met de einddatum
                    else
                    {
                        cp.periodeTot           = mandag.Eindtijd.ToString("dd-MM-yyyy");
                        cp.periodeProjectleider = listProjectleiders2.FirstOrDefault(pl => pl.ProjectleiderId == mandag.ProjectleiderId).Gebruikersnaam;
                    }


                    // als het de laatste is, dan sowieso opslaaan

                    if (listMandagenByDate.Count == counter)
                    {
                        listPeriodes.Add(cp);
                    }

                    // sla de previousProjectleiderID op
                    previousProjectleiderId = mandag.ProjectleiderId;
                }


                //foreach (Gebruiker pl in listProjectleiders2.Where(p => listMandagen.Any(m => m.ProjectleiderId == p.ProjectleiderId)))
                //{
                //    cPeriode cp = new cPeriode();
                //    cp.periodeVan = listMandagen.Where(m=>m.ProjectleiderId == pl.ProjectleiderId).OrderBy(m => m.Begintijd).FirstOrDefault().Begintijd.ToString("dd-MM-yyyy");
                //    cp.periodeTot = listMandagen.Where(m => m.ProjectleiderId == pl.ProjectleiderId).OrderByDescending(m => m.Eindtijd).FirstOrDefault().Begintijd.ToString("dd-MM-yyyy");
                //    cp.periodeProjectleider = pl.Gebruikersnaam;

                //    listPeriodes.Add(cp);
                //}

                itemsPeriodes.ItemsSource = listPeriodes;

                //// TODO: testen, null waarde ? why?
                //PageContainer pc = (PageContainer)Tools.FindVisualParent<Window>(this);
                //pc.SetLabelSubtitlePlanning();
            }
            catch
            {
                MessageBox.Show("Er is een onbekende fout opgetreden, error #501");
            }

            Mouse.OverrideCursor = null;
        }