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 ZoekResultaten() { Mouse.OverrideCursor = Cursors.Wait; // zet de geselecteerde dag op de eerste dag van de week (van de datum die momenteel geselecteerd is/was) if (!blnRememberSelectedDay) { ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, Tools.CalculateWeekstart(DateTime.Now)); } // ApplicationState.SetValue(ApplicationVariables.dtSelectedDay, Tools.CalculateWeekstart(ApplicationState.GetValue<DateTime>(ApplicationVariables.dtSelectedDay))); if (txtSearch != null) { dbRepository dbrep = new dbRepository(); if (string.IsNullOrEmpty(txtSearch.Text)) { listViewVakmannen = dbrep.GetViewVakmannenAll().Where(v => !listVakmannen.Contains(v.VakmanId)).OrderBy(vv => vv.bedrijfnaam).ThenBy(vv => vv.voornaam).ThenBy(vv => vv.achternaam).ToList(); dgVakmannen.ItemsSource = listViewVakmannen; dgVakmannen.InvalidateMeasure(); dgVakmannen.InvalidateArrange(); } else { listViewVakmannen = dbrep.GetViewVakmannen(txtSearch.Text.Split(' ')).Where(v => !listVakmannen.Contains(v.VakmanId)).OrderBy(vv => vv.bedrijfnaam).ThenBy(vv => vv.voornaam).ThenBy(vv => vv.achternaam).ToList(); dgVakmannen.ItemsSource = listViewVakmannen; dgVakmannen.InvalidateMeasure(); dgVakmannen.InvalidateArrange(); // probeer de eerste te selecteren vwVakman firstItem = listViewVakmannen.FirstOrDefault(); if (firstItem != null) { SelectItem(firstItem.VakmanId); } } // set de focus op de zoek textbox txtSearch.Focus(); } Keyboard.Focus(txtSearch); Mouse.OverrideCursor = null; }
public void Save() { vwVakman vm = ApplicationState.GetValue <vwVakman>(ApplicationVariables.objVakman); dbRepository dbrep = new dbRepository(); Vakman vakman = dbrep.GetVakman(vm.VakmanId); vakman.Bsn = txtBsn.Text; vakman.Postcode = txtPostcode.Text; vakman.Huisnummer = txtHuisnummer.Text; vakman.Adres = txtAdres.Text; //vakman.Ophaalpostcode = listTextboxes[3].Text; //vakman.Ophaalhuisnummer = listTextboxes[4].Text; //vakman.Ophaaladres = listTextboxes[5].Text; vakman.Ma = Convert.ToInt32(txtMa.Text); vakman.Di = Convert.ToInt32(txtDi.Text); vakman.Wo = Convert.ToInt32(txtWo.Text); vakman.Do = Convert.ToInt32(txtDo.Text); vakman.Vr = Convert.ToInt32(txtVr.Text); vakman.Za = Convert.ToInt32(txtZa.Text); vakman.Zo = Convert.ToInt32(txtZo.Text); vakman.Werkweek = Convert.ToInt32(lblVakmanWerkweek.Content); string strUur = ddlDefaultBeginuur.Text; vakman.DefaultBeginuur = strUur.ToInt(); string strMinuut = ddlDefaultBeginminuut.Text; vakman.DefaultBeginminuut = strMinuut.ToInt(); dbrep.datacontext.SubmitChanges(); //ApplicationState.SetValue(ApplicationVariables.objVakman, vakman); ApplicationState.SetValue(ApplicationVariables.intVakmanId, vakman.VakmanId); // na het saven terug in history PageGoBack(); }
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"); }