Пример #1
0
        /// <summary>
        ///
        /// </summary>
        public void Load()
        {
            dbRepository dbrep = new dbRepository();

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

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

            MandagenRegistratieDomain.project  dboproject = dbrepOriginal.datacontext.projects.Where(p => p.project_ID == project.ProjectIdOrigineel).FirstOrDefault();
            MandagenRegistratieDomain.adressen dboadres   = dbrepOriginal.datacontext.adressens.Where(a => a.adres_id == dboproject.adres_id_bouw).FirstOrDefault();


            lblProjectNr.Content = dbrepOriginal.GetProject(project.ProjectIdOrigineel).project_NR.ToString();

            cbActief.IsChecked = project.Actief == true;

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

            txtProjectnaam.Text      = dboproject.naam_project;
            lblProjectleider.Content = persoon.voornaam + " " + persoon.tussenvoegsel + " " + persoon.achternaam;
        }
Пример #2
0
        public void ToevoegenAanVakman()
        {
            Mouse.OverrideCursor = Cursors.Wait;

            dbRepository dbrep = new dbRepository();

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

            if (project != null)
            {
                VakmanDagView vdv = new VakmanDagView();
                vdv.ProjectToevoegen(project, ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId), ApplicationState.GetValue <int>(ApplicationVariables.intProjectleider));

                // zorgen dat de pagina's op andere schermen verversen

                List <int> vakmanIds = new List <int>();
                vakmanIds.Add(ApplicationState.GetValue <int>(ApplicationVariables.intVakmanId));


                PageChannelMessage("vakmandagview", Tools.CreateChannelMessage(vakmanIds, ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay), ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay).AddDays(1)));


                PageGoBack();
            }
            else
            {
                //MessageBox.Show("Selecteer aub een project, of klik op annulleer");
            }

            Mouse.OverrideCursor = null;
        }
Пример #3
0
        public void Save()
        {
            int projectId = ApplicationState.GetValue <int>(ApplicationVariables.intProjectId);

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

            MandagenRegistratieDomain.Project  project    = dbrep.GetProject(projectId);
            MandagenRegistratieDomain.project  dboproject = dbrepOriginal.datacontext.projects.Where(p => p.project_ID == project.ProjectIdOrigineel).FirstOrDefault();
            MandagenRegistratieDomain.adressen dboadres   = dbrepOriginal.datacontext.adressens.Where(a => a.adres_id == dboproject.adres_id_bouw).FirstOrDefault();

            project.Naam       = txtProjectnaam.Text;
            project.Actief     = cbActief.IsChecked == true;
            project.Postcode   = txtPostcodeCijfers.Text + txtPostcodeLetters.Text;
            project.Huisnummer = txtHuisnummer.Text;
            project.Adres      = txtAdres.Text;

            //dbrep.SaveProject(project);
            dbrep.datacontext.SubmitChanges();

            if (txtPostcodeCijfers.Text != "")
            {
                dboadres.postcode_cijfers = Convert.ToInt32(txtPostcodeCijfers.Text);
            }

            dboadres.postcode_letters    = txtPostcodeLetters.Text;
            dboadres.straat_1            = txtAdres.Text;
            dboadres.huis_postbus_nummer = txtHuisnummer.Text;

            dbrepOriginal.datacontext.SubmitChanges();

            // na het saven terug in history
            PageGoBack();
        }
Пример #4
0
        public void Selectproject()
        {
            Mouse.OverrideCursor = Cursors.Wait;

            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));
            persoon projectleider    = dbOriginalRep.GetContact(dbrep.GetProjectleider(project.ProjectleiderId).ContactIdOrigineel);
            project projectorigineel = dbOriginalRep.GetProject(project.ProjectIdOrigineel);

            // create the page and load all values
            Project pv = new Project(projectorigineel.naam_project + " - ID " + projectorigineel.project_NR, projectleider.voornaam + " " + projectleider.tussenvoegsel + " " + projectleider.achternaam);

            // load the page into the contentcontrol
            PageGoToPage(pv);

            Mouse.OverrideCursor = null;
        }
Пример #5
0
        public void ToevoegenAanProject()
        {
            dbRepository dbrep = new dbRepository();

            // haal het geselecteerde project op
            MandagenRegistratieDomain.Vakman  vakman  = dbrep.GetVakman(((MandagenRegistratieDomain.vwVakman)dgVakmannen.SelectedItem).VakmanId);
            MandagenRegistratieDomain.Project project = dbrep.GetProject(ApplicationState.GetValue <int>(ApplicationVariables.intProjectId));

            if (vakman != null)
            {
                VakmanDagView vdv = new VakmanDagView();
                vdv.ProjectToevoegen(project, vakman.VakmanId, ApplicationState.GetValue <int>(ApplicationVariables.intProjectleider));

                // zorgen dat de pagina's op andere schermen verversen

                List <int> vakmanIds = new List <int>();

                foreach (vwVakman vm in dbrep.GetVakmannenByProjectId(project.ProjectId, Tools.CalculateWeekstart(ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay))))
                {
                    vakmanIds.Add(vm.VakmanId);
                }


                PageChannelMessage("projectdagview", Tools.CreateChannelMessage(vakmanIds, ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay), ApplicationState.GetValue <DateTime>(ApplicationVariables.dtSelectedDay).AddDays(1)));


                PageGoBack();
            }
            else
            {
                //MessageBox.Show("Selecteer aub een vakman, of klik op annulleer");
            }
        }
        public void ToevoegenAanProjecten()
        {
            dbRepository         dbrep         = new dbRepository();
            dbOriginalRepository dbOriginalRep = new dbOriginalRepository();

            MandagenRegistratieDomain.vwProjectAll dboproject = ((MandagenRegistratieDomain.vwProjectAll)dgProjectenOrigineel.SelectedItem);
            int intProject = -1;

            if (dboproject != null)
            {
                // check of het project al bestaat in MDR
                MandagenRegistratieDomain.Project project = dbrep.GetProjectByProjectIdOrigineel(dboproject.project_ID);

                if (project == null)
                {
                    // bestond nog niet, dus toevoegen
                    MandagenRegistratieDomain.Project projectNew = new MandagenRegistratieDomain.Project();

                    // overige info van het project invullen
                    projectNew.Actief             = true;
                    projectNew.ProjectIdOrigineel = dboproject.project_ID;
                    projectNew.Naam = dboproject.naam_project;

                    // mutatiedatum = now
                    projectNew.Mutatiedatum = DateTime.Now;

                    projectNew.Postcode   = "";
                    projectNew.Huisnummer = "";
                    projectNew.Adres      = "";

                    // projectleiderID is de huidig ingelogde
                    projectNew.ProjectleiderId = ApplicationState.GetValue <int>(ApplicationVariables.intProjectleider);

                    // voeg toe aan database
                    intProject = dbrep.InsertProject(projectNew);
                }

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

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

                PageGoBack();
            }
            else
            {
                //MessageBox.Show("Selecteer aub een project, of klik op annulleer");
            }
        }
Пример #7
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;
            }
        }
        public void Save()
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;

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

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

                MandagenRegistratieDomain.Project     project    = dbrep.datacontext.Projects.Where(p => p.ProjectId == projectId).FirstOrDefault();
                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();

                project.Naam       = txtProjectnaam.Text;
                project.Postcode   = txtPostcodeCijfers.Text; // +txtPostcodeLetters.Text;
                project.Huisnummer = txtHuisnummer.Text;
                project.Adres      = txtAdres.Text;

                // loggen dat het gewijzigd is
                Logging logging = new Logging();

                // projecteigenaarschap wijzigen, if wanted
                if ((int)cbProjectleiders2.SelectedValue != projectleiderId && projectleiderId == project.ProjectleiderId)
                {
                    // waarschuwen en alleen doorvoeren als akkoord
                    MessageBoxResult mr = MessageBox.Show("Na wijziging eigenaarschap kunt u geen aanpassingen meer doen!", "Let op!", MessageBoxButton.OKCancel);
                    if (mr == MessageBoxResult.OK)
                    {
                        string logregel1 = string.Empty;
                        logregel1 += "Projectleider overdracht|Van:" + project.ProjectleiderId + "," + dbrep.GetProjectleider(project.ProjectleiderId).Gebruikersnaam;
                        logregel1 += "|Naar:" + cbProjectleiders2.SelectedValue.ToString() + "," + dbrep.GetProjectleider((int)cbProjectleiders2.SelectedValue).Gebruikersnaam;
                        logging.Log(logregel1);

                        project.ProjectleiderId = (int)cbProjectleiders2.SelectedValue;
                    }
                }

                // alleen eigen mandagenrecords wijzigen, if wanted
                if (dtSelectedDate != DateTime.MinValue && dtSelectedDateEnd != DateTime.MinValue)
                {
                    // voeg 24 uur aan de einddatum toe
                    dtSelectedDateEnd = dtSelectedDateEnd.AddHours(24);

                    string logregel1 = string.Empty;
                    logregel1 += "Uren overdracht";
                    logregel1 += "|Aan:" + cbProjectleiders.SelectedValue.ToString() + "," + dbrep.GetProjectleider((int)cbProjectleiders.SelectedValue).Gebruikersnaam;
                    logregel1 += "|Periode:" + dtSelectedDate.ToString("yyyy-MM-dd") + "-" + dtSelectedDateEnd.ToString("yyyy-MM-dd");


                    List <Mandagen> listMandagen  = dbrep.datacontext.Mandagens.Where(m => m.ProjectId == projectId).ToList();
                    string          urengewijzigd = Functies.CalculateUrenExact(listMandagen.Where(m => m.Begintijd >= dtSelectedDate && m.Eindtijd <= dtSelectedDateEnd && m.ProjectleiderId == projectleiderId).ToList());

                    if (dtSelectedDateEnd >= dtSelectedDate)
                    {
                        foreach (Mandagen mandag in dbrep.datacontext.Mandagens.Where(m => m.ProjectId == projectId && m.Begintijd >= dtSelectedDate && m.Eindtijd <= dtSelectedDateEnd && m.ProjectleiderId == projectleiderId))
                        {
                            mandag.ProjectleiderId = (int)cbProjectleiders.SelectedValue;
                        }
                    }

                    logregel1 += "|Uren gewijzigd:" + (string.IsNullOrEmpty(urengewijzigd) ? "0" : urengewijzigd);

                    logging.Log(logregel1);
                }



                //dbrep.SaveProject(project);
                dbrep.datacontext.SubmitChanges();

                if (dboadres != null)
                {
                    // postcode
                    if (!string.IsNullOrWhiteSpace(txtPostcodeCijfers.Text))
                    {
                        try
                        {
                            if (txtPostcodeCijfers.Text.Length >= 6)
                            {
                                dboadres.postcode_cijfers = Convert.ToInt32(txtPostcodeCijfers.Text.Substring(0, 4));
                                dboadres.postcode_letters = txtPostcodeCijfers.Text.Substring(4).Trim();
                            }
                            else
                            {
                                MessageBox.Show("Postcode heeft een onjuiste format. Gegevens worden opgeslagen zonder de postcode");
                            }
                        }
                        catch
                        {
                            MessageBox.Show("Postcode heeft een onjuiste format. Gegevens worden opgeslagen zonder de postcode");
                        }
                    }
                    else
                    {
                        dboadres.postcode_cijfers = null;
                        dboadres.postcode_letters = string.Empty;
                    }

                    dboadres.straat_1            = txtAdres.Text;
                    dboadres.huis_postbus_nummer = txtHuisnummer.Text;
                    dboadres.plaats = txtPlaats.Text;
                    dboadres.land   = txtLand.Text;
                }

                if (dboproject != null)
                {
                    dboproject.aannemer_projectnummer  = txtProjectcodeExtern.Text;
                    dboproject.aannemer_contractnummer = txtProjectContractnummer.Text;
                    dboproject.nacalculatiecode        = txtProjectNacalculatiecode.Text;
                }

                dbrepOriginal.datacontext.SubmitChanges();



                // na het saven terug in history
                PageGoBack();

                Mouse.OverrideCursor = null;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        /// <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;
        }
Пример #10
0
        public void Load()
        {
            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();
            persoon persoon    = dbrepOriginal.GetContact(dbrep.GetProjectleider(project.ProjectleiderId).ContactIdOrigineel);
            project dboproject = dbrepOriginal.GetProject(project.ProjectIdOrigineel);


            MandagenRegistratieDomain.adressen dboadres = null;

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

            bedrijf bedrijfzdb = dbrepOriginal.datacontext.bedrijfs.Where(b => b.bedrijf_nr == dboproject.opdrachtgeverZEEBREGTS_nr).FirstOrDefault();

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

            lblProjectNr.Content = dbrepOriginal.GetProject(project.ProjectIdOrigineel).project_NR.ToString();

            lblActief.Content        = project.Actief == true ? "Ja" : "Nee";
            lblProjectnaam.Content   = dboproject.naam_project;
            lblProjectleider.Content = persoon.voornaam + " " + persoon.tussenvoegsel + " " + persoon.achternaam;
            if (dboadres != null)
            {
                lblPostcode.Content   = dboadres.postcode_cijfers.HasValue ? dboadres.postcode_cijfers.Value.ToString() + dboadres.postcode_letters : "";
                lblHuisnummer.Content = dboadres.huis_postbus_nummer + dboadres.huisnummer_toevoeging;
                lblAdres.Content      = dboadres.straat_1;
            }


            ProjectDagView pdv = new ProjectDagView();

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

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

            tabPlanning.Content = pdv;
        }
Пример #11
0
        public void ToevoegenAanProjecten()
        {
            try
            {
                if (dgProjectenOrigineel.SelectedItem != null)
                {
                    dbRepository         dbrep         = new dbRepository();
                    dbOriginalRepository dbOriginalRep = new dbOriginalRepository();

                    // blijkbaar bestaat er de mogelijkheid dat er zojuist een project 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());



                    MandagenRegistratieDomain.vwProjectAll dboproject = ((MandagenRegistratieDomain.vwProjectAll)dgProjectenOrigineel.SelectedItem);
                    int intProject = -1;

                    if (dboproject != null)
                    {
                        // check of het project al bestaat in MDR
                        MandagenRegistratieDomain.Project project = dbrep.GetProjectByProjectNrOrigineel((int)dboproject.ProjectNrOrigineel);

                        if (project == null)
                        {
                            // bestond nog niet, dus toevoegen
                            MandagenRegistratieDomain.Project projectNew = new MandagenRegistratieDomain.Project();

                            // overige info van het project invullen
                            // weggehaald
                            // projectNew.ProjectIdOrigineel = dboproject.project_ID;
                            // vervangen door
                            projectNew.ProjectNr = dboproject.ProjectNrOrigineel;

                            projectNew.Naam = dboproject.naam_project;

                            // mutatiedatum = now
                            projectNew.Mutatiedatum = DateTime.Now;

                            projectNew.Postcode   = "";
                            projectNew.Huisnummer = "";
                            projectNew.Adres      = "";

                            // projectleiderID is de huidig ingelogde
                            projectNew.ProjectleiderId = ApplicationState.GetValue <int>(ApplicationVariables.intProjectleider);

                            // voeg toe aan database
                            intProject = dbrep.InsertProject(projectNew);
                        }

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

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

                        // WEGGEHAALD VOOR TABBLADENVIEW
                        if (SubRoute)
                        {
                            PageGoBack();
                        }
                        else
                        {
                            MDRproject projectorigineel = dbOriginalRep.GetProject((int)dboproject.ProjectNrOrigineel);
                            Project    pv = new Project(projectorigineel);
                            pv.SelectTab(1);

                            // load the page into the contentcontrol
                            PageGoBack(pv);
                        }


                        //Intro intro = Tools.FindVisualParent<Intro>(this);
                        //intro.OkClick -= ToevoegenAanProjecten;
                        //// intro.CustomActieClick
                        //intro.LoadLijst();
                    }
                    else
                    {
                        //MessageBox.Show("Selecteer aub een project, of klik op annulleer");
                    }
                }
            }
            catch
            {
                MessageBox.Show("Er is een onbekende fout opgetreden, error #801");
            }
        }
Пример #12
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;
        }