/// <summary> /// Vul detailregel (Alle 'maandagen' bij elkaar opgeteld voor de hele periode) /// </summary> /// <param name="selxMANDAGEN"></param> /// <param name="DitProject"></param> /// <param name="_ArbeidsRelatieVW"></param> /// <param name="poortViewVakman"></param> /// <param name="_AllArbeidsrelaties"></param> private string Vul_DetailRegel(List <PoortViewMandagen> selxMANDAGEN, PoortViewProject DitProject, PoortViewVakman poortViewVakman, ref string tabel) { // Om de 3 regels de kleur van de kleur van de detailregel omwisselen string regel = DetailRegel.Replace("Detailregel", "DetailregelColor" + ((Detailregels++ % 6) / 3).ToString()); //regel = regel.Replace("{Relatie}", _Ketenpartner); regel = regel.Replace("{BSN}", poortViewVakman.BSNLandcode + " " + poortViewVakman.Bsn); regel = regel.Replace("{Naam}", poortViewVakman.Naam); DateTime EenWillekeurigeMaandag = new DateTime(2013, 10, 21).Date; int TOTAAL = 0; for (int Weekdag = 0; Weekdag <= 6; Weekdag++) { var DagNR = EenWillekeurigeMaandag.AddDays(Weekdag).DayOfWeek; int totaal = selxMANDAGEN .Where(x => x.ProjectId == DitProject.ProjectId && x.VakmanId == poortViewVakman.VakmanId && x.Begintijd.DayOfWeek == DagNR) .Select(x => x.Uren * 60 + x.Minuten).Sum(); TOTAAL += totaal; regel = regel.Replace("{" + DagNR.ToString() + "}", Uurformaat(totaal)); } return(TOTAAL > 0 ? regel.Replace("{Totaal}", Uurformaat(TOTAAL)) : ""); }
/// <summary> /// Vul Detailregel (Losse dagen binnen één week) /// </summary> /// <param name="selxMANDAGEN"></param> /// <param name="DitProject"></param> /// <param name="_ArbeidsRelatieVW"></param> /// <param name="poortViewVakman"></param> /// <param name="_AllArbeidsrelaties"></param> /// <param name="pStartDatum"></param> /// <param name="pEindDatum"></param> private string Vul_DetailRegel(List <PoortViewMandagen> selxMANDAGEN, PoortViewProject DitProject, PoortViewVakman poortViewVakman, DateTime pStartDatum, DateTime pEindDatum, ref string tabel) { // Om de 3 regels de kleur van de kleur van de detailregel omwisselen string regel = DetailRegel.Replace("Detailregel", "DetailregelColor" + ((Detailregels++ % 6) / 3).ToString()); if (DetailregelsLeft-- == 3) // Neem nu extra grote rowspan om vorige rowspans waar deze rij in zit soort van te 'overrulen' { regel = regel.Replace("</tr>", "<td rowspan=\"100\" style=\"page-break-inside:avoid\" > </td></tr>"); } //regel = regel.Replace("{Relatie}", _Ketenpartner ); regel = regel.Replace("{BSN}", poortViewVakman.BSNLandcode + " " + poortViewVakman.Bsn); regel = regel.Replace("{Naam}", poortViewVakman.Naam); int TOTAAL = 0; for (DateTime dag = pStartDatum; dag < pEindDatum; dag = dag.AddDays(1)) { int totaal = selxMANDAGEN .Where(x => x.ProjectId == DitProject.ProjectId && x.VakmanId == poortViewVakman.VakmanId && x.Begintijd.Date == dag.Date) .Select(x => x.Uren * 60 + x.Minuten).Sum(); TOTAAL += totaal; regel = regel.Replace("{" + dag.DayOfWeek + "}", Uurformaat(totaal)); } return(TOTAAL > 0 ? (regel.Replace("{Totaal}", Uurformaat(TOTAAL))) : ""); }
private string Vul_VakmanRegel(string _RelatieNaam, PoortViewVakman DezeVakman, int _ArbeidsRelatie, List <PoortViewBedrijf> Bedrijven, List <PoortViewMandagen> Mandagen) { var _ZijnBedrijf = Bedrijven.Where(x => x.bedrijf_nr == DezeVakman.bedrijf_nr).FirstOrDefault(); int _ZijnMinuten = Mandagen.Where(x => x.ArbeidsrelatieVW == _ArbeidsRelatie).Select(x => x.Uren * 60 + x.Minuten).Sum(); BTotaal += _ZijnMinuten; // Sla naam vd vakman op als gegevens ontbreken if ((_ZijnBedrijf == null || _ZijnBedrijf.naam.Length < 1) && !VakmannenWithNoBedrijf.Contains(DezeVakman.Naam)) { VakmannenWithNoBedrijf += (VakmannenWithNoBedrijf.Length > 0 ? ", " : "") + DezeVakman.Naam; } if ((DezeVakman.Bsn == null || DezeVakman.Bsn.Length < 1) && !VakmannenWithNoBsn.Contains(DezeVakman.Naam)) { VakmannenWithNoBsn += (VakmannenWithNoBsn.Length > 0 ? ", " : "") + DezeVakman.Naam; } if (DezeVakman.geboortedatum == null && !VakmannenWithNoGeboortedatum.Contains(DezeVakman.Naam)) { VakmannenWithNoGeboortedatum += (VakmannenWithNoGeboortedatum.Length > 0 ? ", " : "") + DezeVakman.Naam; } // Check if ID ongeldig of verlopen if (DezeVakman.SoortID == null || DezeVakman.IDstring == null || DezeVakman.GeldigTot == null || DezeVakman.IDstring.Length < 1) { if (!VakmannenWithNoID.Contains(DezeVakman.Naam)) { VakmannenWithNoID += (VakmannenWithNoID.Length > 0 ? ", " : "") + DezeVakman.Naam; } DezeVakman.IDstring = string.Empty; } else { if (DezeVakman.GeldigTot < DezeVakman.LastDate) { if (!VakmannenWithVerlopenID.Contains(DezeVakman.Naam)) { VakmannenWithVerlopenID += (VakmannenWithVerlopenID.Length > 0 ? ", " : "") + DezeVakman.Naam; } //DezeVakman.IDstring += string.Format("{0} \n(geldig tot {1:d MMMM yyy})",DezeVakman.IDstring,DezeVakman.GeldigTot); DezeVakman.IDstring = string.Empty; } } string regel = VakmanRegel; regel = regel.Replace("{Nr}", (++VakmanNr).ToString()); regel = regel.Replace("{Vakman}", DezeVakman.Naam); regel = regel.Replace("{Bsn}", DezeVakman.BSNLandcode + " " + DezeVakman.Bsn ?? ""); regel = regel.Replace("{GebDatum}", string.Format("{0:dd-MM-yyyy}", DezeVakman.geboortedatum)); if (DezeVakman.IDstring.Length < 2) { regel = regel.Replace("{IDNummer}", ""); } else { regel = regel.Replace("{IDNummer}", string.Format("{0} {1} {2}", DezeVakman.SoortID ?? "", DezeVakman.IDstring == null ? "" : "nr:", DezeVakman.IDstring ?? "")); } regel = regel.Replace("{BedrijfsAdres}", _ZijnBedrijf == null ? "" : _ZijnBedrijf.straat);// DezeVakman.Adres); string pc = _ZijnBedrijf == null || _ZijnBedrijf.postcode == null ? "" : _ZijnBedrijf.postcode.Trim().ToUpper(); regel = regel.Replace("{BedrijfsAdresPostcode}", pc.Length == 6 ? pc.Substring(0, 4) + " " + pc.Substring(4, 2) : pc); regel = regel.Replace("{BedrijfsAdresPlaats}", _ZijnBedrijf == null ? "" : _ZijnBedrijf.plaats); regel = regel.Replace("{BedrijfsLand}", _ZijnBedrijf == null ? "" : _ZijnBedrijf.land); string bedrijfsnaam = _ZijnBedrijf == null || _ZijnBedrijf.naam == null ? "<Geen Bedrijf geregistreerd>" : _ZijnBedrijf.naam; regel = regel.Replace("{T}", Uurformaat(_ZijnMinuten, true)); switch (_ArbeidsRelatie) { case 1: // Intern regel = regel.Replace("{Dienstverband}", "In loondienst bij:"); regel = regel.Replace("{Bedrijf}", bedrijfsnaam); regel = regel.Replace("{G}", Uurformaat(_ZijnMinuten, true)); GTotaal += _ZijnMinuten; break; case 2: //ZZP regel = regel.Replace("{Dienstverband}", "ZZP'er"); regel = regel.Replace("{Bedrijf}", bedrijfsnaam); regel = regel.Replace("{G}", "0:00"); break; //case 3: // Uitzendkracht // regel = regel.Replace("{Dienstverband}", "Ingeleende uitzendkrecht of zo"); // regel = regel.Replace("{Bedrijf}", bedrijfsnaam); // regel = regel.Replace("{G}", Uurformaat( _ZijnMinuten,true )); // GTotaal += _ZijnMinuten; // break; default: regel = regel.Replace("{Dienstverband}", "Arbeidsrelatie onbekend"); regel = regel.Replace("{Bedrijf}", bedrijfsnaam); regel = regel.Replace("{G}", "??:??"); break; } return(regel); }