public ActionResult <DayActivity> AddActivity(DateTime date, DayActivityDTO model)
        {
            CustomDay customDayToEdit = _customDayRepository.GetByDate(date);

            if (customDayToEdit == null)
            {
                return(NotFound());
            }
            else
            {
                Activity activity = _activityRepository.GetById(model.ActivityId);
                if (activity == null)
                {
                    return(NotFound());
                }
                else
                {
                    try
                    {
                        DayActivity dayActivityToAdd = new DayActivity(customDayToEdit, activity, model.TimeOfDay);
                        customDayToEdit.AddDayActivity(dayActivityToAdd);
                        _customDayRepository.SaveChanges();
                        return(Ok(dayActivityToAdd));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
            }
        }
Exemple #2
0
        public void AddActivityToCustomDay_WrongDate_ReturnsNotFound()
        {
            DateTime       date           = new DateTime(1945, 1, 1);
            DayActivityDTO dayActivityDTO = new DayActivityDTO()
            {
                ActivityId  = 2,
                TimeOfDay   = TimeOfDay.VOORMIDDAG,
                Attendances = null
            };

            _customDayRepository.Setup(c => c.GetByDate(DateTime.Today)).Returns(_dummyDBContext.CustomDay1);

            ActionResult <DayActivity> actionResult = _controller.AddActivity(date, dayActivityDTO);

            Assert.IsType <NotFoundResult>(actionResult?.Result);
            _customDayRepository.Verify(a => a.SaveChanges(), Times.Never);
        }
Exemple #3
0
        public void AddActivityToDay_Succeeds()
        {
            DateTime date = DateTime.Today;

            DayActivityDTO dayActivityDTO = new DayActivityDTO()
            {
                ActivityId  = 2,
                TimeOfDay   = TimeOfDay.VOORMIDDAG,
                Attendances = null
            };

            _customDayRepository.Setup(c => c.GetByDate(date)).Returns(_dummyDBContext.CustomDay1);
            _activityRepository.Setup(a => a.GetById(dayActivityDTO.ActivityId)).Returns(_dummyDBContext.Activity2);

            ActionResult <DayActivity> actionResult = _controller.AddActivity(date, dayActivityDTO);
            var         response    = actionResult?.Result as OkObjectResult;
            DayActivity dayActivity = response?.Value as DayActivity;

            Assert.Equal(TimeOfDay.VOORMIDDAG, dayActivity.TimeOfDay);

            _customDayRepository.Verify(a => a.SaveChanges(), Times.Once);
        }
Exemple #4
0
        public void AddActivity_Succeeds()
        {
            string templateName = "eerste_week_eerste_dag";
            int    weekNr       = 1;
            int    dayNr        = 1;

            DayActivityDTO dayActivityDTO = new DayActivityDTO()
            {
                DayId       = 1,
                ActivityId  = 1,
                TimeOfDay   = TimeOfDay.VOLLEDIG,
                Attendances = null
            };

            _dayRepository.Setup(d => d.GetByWeekAndDay(templateName, weekNr, dayNr)).Returns(_dummyDBContext.Day1);
            _activityRepository.Setup(d => d.GetById(dayActivityDTO.ActivityId)).Returns(_dummyDBContext.Activity1);

            ActionResult <DayActivity> actionResult = _controller.AddActivity(templateName, weekNr, dayNr, dayActivityDTO);

            Assert.Equal(TimeOfDay.VOLLEDIG, actionResult.Value.TimeOfDay);
            _dayRepository.Verify(d => d.SaveChanges(), Times.Once());
        }
Exemple #5
0
        public ActionResult <DayActivity> AddActivity(string templateName, int weekNr, int dayNr, DayActivityDTO model)
        {
            Day         dayToEdit        = _dayRepository.GetByWeekAndDay(templateName, weekNr, dayNr);
            Activity    activity         = _activityRepository.GetById(model.ActivityId);
            DayActivity dayActivityToAdd = new DayActivity(dayToEdit, activity, model.TimeOfDay);

            dayToEdit.AddDayActivity(dayActivityToAdd);
            _dayRepository.SaveChanges();
            return(dayActivityToAdd);
        }