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));
        }
예제 #2
0
        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);
        }
예제 #4
0
        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);
        }