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