public ActionResult <IEnumerable <EffectieveDienst> > GetEffectievieDienstenVanChauffeur(string jaar, string week, string busChauffeurId) { BusChauffeur bc = _busChauffeurRepository.GetBy(busChauffeurId); if (bc == null) { return(BadRequest("De buschauffeur met opgegeven id kon niet worden gevonden.")); } var uitvoer = _effectieveDienstRepository.GetAllVan(bc, jaar, week).ToList(); return(uitvoer); }
public IEnumerable <EffectieveDienst> GetAllVan(BusChauffeur bc, String jaar, String week) { //get weeknummer CultureInfo myCI = new CultureInfo("nl-BE"); Calendar myCal = myCI.Calendar; CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule; DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek; int jaartal = Int32.Parse(jaar); int weekNummer = Int32.Parse(week); var uitvoer = this.GetAllVan(bc); uitvoer = uitvoer.Where(t => myCal.GetWeekOfYear(t.Start, myCWR, myFirstDOW) == weekNummer && t.Start.Year == jaartal).ToList(); return(uitvoer); }
public ActionResult <Dienst> VoegDienstToe(DienstDTO dto) { Dienst dienst = new Dienst(); dienst.StartUur = dto.StartUur; dienst.EindUur = dto.EindUur; dienst.Naam = dto.Naam; dienst.StartDag = dto.StartDag; dienst.EindDag = dto.EindDag; dienst.TotaalAantalMinutenStationnement = dto.TotaalAantalMinutenStationnement; BusChauffeur bc = _busChauffeurRepository.GetBy(dto.BusChauffeurId); if (bc == null) { BadRequest("De bus chauffeur met opgegeven id kon niet worden gevonden."); } dienst.BusChauffeur = bc; string validatie = _dienstRepository.ValidateDienst(dienst); if (validatie != null) { return(BadRequest(validatie)); } string request = null; dto.Onderbrekingen.ForEach(onderbreking => { request = this._dienstRepository.ValidateOnderbrekingMetDienst(dienst, onderbreking); if (request != null) { return; } }); if (request != null) { return(BadRequest(request)); } dienst.Onderbrekingen.ForEach(t => t.Id = null); dienst.Onderbrekingen.AddRange(dto.Onderbrekingen); dienst.Onderbrekingen = dto.Onderbrekingen; _dienstRepository.Add(dienst); bc.Diensten.Add(dienst); _busChauffeurRepository.Update(bc); _dienstRepository.SaveChanges(); return(dienst); }
public ActionResult <BusChauffeur> VoegBusChauffeurToe(BusChauffeurDTO dto) { try { BusChauffeur bc = new BusChauffeur(); bc.Voornaam = dto.Voornaam; bc.Achternaam = dto.Achternaam; bc.Uurloon = dto.Uurloon; bc.GeboorteDatum = dto.GeboorteDatum; bc.Email = dto.Email; _busChauffeurRepository.Add(bc); _busChauffeurRepository.SaveChanges(); return(bc); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IEnumerable <EffectieveDienst> DeleteAllVan(BusChauffeur bc, String jaar, String week) { var toDelete = this.GetAllVan(bc, jaar, week).ToList(); toDelete.ForEach(t => { if (this.GetBy(t.Id) != null) { var gerelateerd = t.GerelateerdeDienst; t.GerelateerdeDienst = null; this.Update(t); this.SaveChanges(); this.Delete(t); this.SaveChanges(); if (gerelateerd != null) { this.Delete(gerelateerd); this.SaveChanges(); } } }); return(toDelete); }
public ActionResult <BusChauffeur> PutItem(string id, BusChauffeurDTO dto) { try { if (!dto.Id.Equals(id)) { return(BadRequest("Id's komen niet overeen!")); } BusChauffeur bc = _busChauffeurRepository.GetBy(id); bc.Voornaam = dto.Voornaam; bc.Achternaam = dto.Achternaam; bc.Uurloon = dto.Uurloon; bc.GeboorteDatum = dto.GeboorteDatum; bc.Email = dto.Email; _busChauffeurRepository.Update(bc); _busChauffeurRepository.SaveChanges(); return(bc); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <Dienst> PutItem(string id, DienstDTO dto) { var that = this; if (!dto.Id.Equals(id)) { return(BadRequest("id's komen niet overeen!")); } Dienst dienst = _dienstRepository.GetBy(id); dienst.StartUur = dto.StartUur; dienst.EindUur = dto.EindUur; dienst.Naam = dto.Naam; dienst.StartDag = dto.StartDag; dienst.EindDag = dto.EindDag; dienst.TotaalAantalMinutenStationnement = dto.TotaalAantalMinutenStationnement; if (dienst.BusChauffeur != null) { if (dienst.BusChauffeur.Id != dto.BusChauffeurId) { BusChauffeur OudeBc = _busChauffeurRepository.GetBy(dienst.BusChauffeur.Id); OudeBc.Diensten.Remove(OudeBc.Diensten.SingleOrDefault(d => d.Id == dienst.Id)); _busChauffeurRepository.Update(dienst.BusChauffeur); _dienstRepository.SaveChanges(); BusChauffeur NieuweBc = _busChauffeurRepository.GetBy(dto.BusChauffeurId); dienst.BusChauffeur = NieuweBc; NieuweBc.Diensten.Add(dienst); _busChauffeurRepository.Update(NieuweBc); } } else { BusChauffeur NieuweBc = _busChauffeurRepository.GetBy(dto.BusChauffeurId); dienst.BusChauffeur = NieuweBc; NieuweBc.Diensten.Add(dienst); _busChauffeurRepository.Update(NieuweBc); } string validatie = _dienstRepository.ValidateDienst(dienst); if (validatie != null) { return(BadRequest(validatie)); } string request = null; dto.Onderbrekingen.ForEach(onderbreking => { request = this._dienstRepository.ValidateOnderbrekingMetDienst(dienst, onderbreking); if (request != null) { return; } }); if (request != null) { return(BadRequest(request)); } _onderbrekingRepository.DeleteRange(dienst.Onderbrekingen); _onderbrekingRepository.SaveChanges(); _onderbrekingRepository.AddRange(dto.Onderbrekingen); _onderbrekingRepository.SaveChanges(); dienst.Onderbrekingen = dto.Onderbrekingen; _dienstRepository.Update(dienst); _dienstRepository.SaveChanges(); return(dienst); }
public void Update(BusChauffeur bc) { _context.Update(bc); }
public void Delete(BusChauffeur bc) { //_GebruikerItems.RemoveRange(_GebruikerItems.Where(t => t.Item.Id == Item.Id).ToList()); _busChauffeurs.Remove(bc); }
public void Add(BusChauffeur bc) { _busChauffeurs.Add(bc); }
public IEnumerable <EffectieveDienst> GetAllVan(BusChauffeur bc) { return(_effectieveDiensten.OrderBy(t => t.DagVanToevoegen).Where(t => t.BusChauffeur == bc).Include(t => t.BusChauffeur).Include(t => t.Onderbrekingen).Include(t => t.GerelateerdeDienst).ToList()); }
public ActionResult <IEnumerable <EffectieveDienst> > PostEffectieveDiensten(List <EffectieveDienstDTO> ed, string jaar, string week, string busChauffeurId) { string request = null; BusChauffeur bc = _busChauffeurRepository.GetBy(busChauffeurId); if (bc == null) { return(BadRequest("De buschauffeur met opgegeven id kon niet worden gevonden.")); } string req = ""; TimeSpan span = new TimeSpan(1, 0, 0, 0); ed.ForEach(d => { if (d.Start > d.Einde) { req = "De start van de dienst '" + d.Naam + "' valt voor het einde!"; } if ((d.Einde - d.Start) > span) { req = "De dienst '" + d.Naam + "' duurt te lang!"; } }); if (req != "") { return(BadRequest(req)); } _effectieveDienstRepository.DeleteAllVan(bc, jaar, week).ToList(); var effectieveDienstenToUpload = new List <EffectieveDienst>(); ed.ForEach(dienst => { EffectieveDienst hoofdDienst = new EffectieveDienst(); hoofdDienst.BusChauffeur = bc; hoofdDienst.TotaalAantalMinutenStationnement = dienst.TotaalAantalMinutenStationnement; hoofdDienst.Naam = dienst.Naam; hoofdDienst.AndereMinuten = dienst.AndereMinuten; if (dienst.Start.DayOfWeek == dienst.Einde.DayOfWeek) { hoofdDienst.Start = dienst.Start; hoofdDienst.Einde = dienst.Einde; effectieveDienstenToUpload.Add(hoofdDienst); } else { EffectieveDienst gerelateerdeDienst = new EffectieveDienst(); hoofdDienst.Start = dienst.Start; hoofdDienst.Einde = dienst.Start.AddHours(-dienst.Start.Hour).AddMinutes(-dienst.Start.Minute).AddDays(1); gerelateerdeDienst.BusChauffeur = bc; gerelateerdeDienst.Naam = dienst.Naam; gerelateerdeDienst.Start = dienst.Einde.AddHours(-dienst.Einde.Hour).AddMinutes(-dienst.Einde.Minute); gerelateerdeDienst.Einde = dienst.Einde; _effectieveDienstRepository.Add(gerelateerdeDienst); hoofdDienst.GerelateerdeDienst = gerelateerdeDienst; _effectieveDienstRepository.Add(hoofdDienst); _effectieveDienstRepository.SaveChanges(); gerelateerdeDienst.GerelateerdeDienst = hoofdDienst; _effectieveDienstRepository.Update(gerelateerdeDienst); } dienst.Onderbrekingen.ForEach(onderbreking => { request = _effectieveDienstRepository.ValidateOnderbrekingMetEffectieveDienst(hoofdDienst, onderbreking); if (request != null) { return; } var stass = _onderbrekingsRepository.GetBy(onderbreking.Id); if (stass != null) { _onderbrekingsRepository.Delete(stass); } onderbreking.Id = null; hoofdDienst.Onderbrekingen.Add(onderbreking); }); if (request != null) { return; } hoofdDienst.Onderbrekingen = dienst.Onderbrekingen; }); if (request != null) { return(BadRequest(request)); } _effectieveDienstRepository.AddRange(effectieveDienstenToUpload); _effectieveDienstRepository.SaveChanges(); if (req != "") { return(BadRequest(req)); } return(effectieveDienstenToUpload); }
public ActionResult <IEnumerable <EffectieveDienst> > GetEffectievieDienstenNullZetDienstenNaarEffectieveDienstenOm(string jaar, string week, string busChauffeurId) { //eerste dag van week berekenen DateTime jan1 = new DateTime(Int32.Parse(jaar), 1, 1); int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek; DateTime firstThursday = jan1.AddDays(daysOffset); var cal = CultureInfo.CurrentCulture.Calendar; int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); var weekNum = Int32.Parse(week); if (firstWeek == 1) { weekNum -= 1; } var result = firstThursday.AddDays(weekNum * 7); var eersteDagVanWeek = result.AddDays(-3); BusChauffeur bc = _busChauffeurRepository.GetBy(busChauffeurId); if (bc == null) { return(BadRequest("De buschauffeur met opgegeven id kon niet worden gevonden.")); } List <EffectieveDienst> i = _effectieveDienstRepository.GetAllVan(bc, jaar, week).ToList(); if (i.Count == 0) { bc.Diensten.ForEach(dienst => { if (dienst.StartDag == dienst.EindDag) { EffectieveDienst ed = new EffectieveDienst(); ed.BusChauffeur = bc; ed.Naam = dienst.Naam; ed.AndereMinuten = 0; dienst.Onderbrekingen.ForEach(ondTemplate => { Onderbreking ondEffectief = new Onderbreking() { Id = null, EffectieveStart = eersteDagVanWeek.AddDays(ondTemplate.StartDag.GetHashCode() == 0 ? 6 : ondTemplate.StartDag.GetHashCode() - 1).AddHours(ondTemplate.StartUur.Hour).AddMinutes(ondTemplate.StartUur.Minute), EffectiefEinde = eersteDagVanWeek.AddDays(ondTemplate.EindDag.GetHashCode() == 0 ? 6 : ondTemplate.EindDag.GetHashCode() - 1).AddHours(ondTemplate.EindUur.Hour).AddMinutes(ondTemplate.EindUur.Minute) }; ed.Onderbrekingen.Add(ondEffectief); }); ed.TotaalAantalMinutenStationnement = dienst.TotaalAantalMinutenStationnement; ed.Start = eersteDagVanWeek.AddDays(dienst.StartDag.GetHashCode() == 0 ? 6 : dienst.StartDag.GetHashCode() - 1).AddHours(dienst.StartUur.Hour).AddMinutes(dienst.StartUur.Minute); ed.Einde = eersteDagVanWeek.AddDays(dienst.EindDag.GetHashCode() == 0 ? 6 : dienst.EindDag.GetHashCode() - 1).AddHours(dienst.EindUur.Hour).AddMinutes(dienst.EindUur.Minute); _effectieveDienstRepository.Add(ed); } else { EffectieveDienst edStart = new EffectieveDienst(); EffectieveDienst edEind = new EffectieveDienst(); edStart.BusChauffeur = bc; edStart.Naam = dienst.Naam; edStart.AndereMinuten = 0; dienst.Onderbrekingen.ForEach(ondTemplate => { Onderbreking ondEffectief = new Onderbreking() { Id = null, EffectieveStart = eersteDagVanWeek.AddDays(ondTemplate.StartDag.GetHashCode() == 0 ? 6 : ondTemplate.StartDag.GetHashCode() - 1).AddHours(ondTemplate.StartUur.Hour).AddMinutes(ondTemplate.StartUur.Minute), EffectiefEinde = eersteDagVanWeek.AddDays(ondTemplate.EindDag.GetHashCode() == 0 ? 6 : ondTemplate.EindDag.GetHashCode() - 1).AddHours(ondTemplate.EindUur.Hour).AddMinutes(ondTemplate.EindUur.Minute) }; edStart.Onderbrekingen.Add(ondEffectief); edEind.Onderbrekingen.Add(ondEffectief); }); edStart.TotaalAantalMinutenStationnement = dienst.TotaalAantalMinutenStationnement; var startDag = dienst.StartDag.GetHashCode(); var eindDag = dienst.EindDag.GetHashCode(); if (startDag == 0) { eindDag = 7; startDag = 6; } else if (startDag == 6) { eindDag = 6; startDag = startDag - 1; } else { startDag = startDag - 1; eindDag = eindDag - 1; } edStart.Start = eersteDagVanWeek.AddDays(startDag).AddHours(dienst.StartUur.Hour).AddMinutes(dienst.StartUur.Minute); edStart.Einde = eersteDagVanWeek.AddDays(startDag).AddDays(1); edEind.BusChauffeur = bc; edEind.Naam = dienst.Naam; edEind.Start = eersteDagVanWeek.AddDays(eindDag); edEind.Einde = eersteDagVanWeek.AddDays(eindDag).AddHours(dienst.EindUur.Hour).AddMinutes(dienst.EindUur.Minute); _effectieveDienstRepository.Add(edEind); edStart.GerelateerdeDienst = edEind; _effectieveDienstRepository.Add(edStart); _effectieveDienstRepository.SaveChanges(); edEind.GerelateerdeDienst = edStart; _effectieveDienstRepository.Update(edEind); } }); _effectieveDienstRepository.SaveChanges(); var uitvoer = _effectieveDienstRepository.GetAllVan(bc, jaar, week).ToList(); return(uitvoer); } else { return(i); } }