public async Task <IActionResult> Details(int?id) { DienstDTO dienstDTO = null; if (id.HasValue) { dienstDTO = await _dienstRepository.GetByIdAsync(id.Value); } else { return(NotFound()); } return(View(dienstDTO)); }
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 async Task Detail_ReturnsAViewResult_WithADienstDTO() { //Arrange int dienstID = 1; DienstDTO dienst = (GetDiensten().FirstOrDefault(c => c.DienstID == dienstID)); _dienstRepository.Setup(repo => repo.GetByIdAsync(dienstID)).Returns(Task.FromResult(dienst)); var controller = new DienstController(_unitOfWork.Object, _dienstRepository.Object); //Act var result = await controller.Details(dienstID); //Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsType <DienstDTO>( viewResult.ViewData.Model); Assert.Equal(1, model.DienstID); }
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); }