public void LoadScheduleDataTest()
        {
            PerformanceScheduleDTO actualPerformanceScheduleDTO = performanceScheduleService.LoadScheduleData(expectedPerformanceId);

            cacheProvider.Verify((z => z.GetAndSave(It.Is <Func <string> >(x => x() == $"Performance_{expectedPerformanceId}"), It.Is <Func <PerformanceScheduleDataModel> >(x => x().PerformanceId == expectedPerformanceScheduleModel.PerformanceId))), Times.AtLeastOnce);
            performanceScheduleRepository.Verify(a => a.GetPerfomanceScheduleInfo(It.Is <int>(x => x == expectedPerformanceId)), Times.AtLeastOnce);

            Assert.AreEqual(expectedPerformanceScheduleModel.Title, actualPerformanceScheduleDTO.Title);
            Assert.AreEqual(expectedPerformanceScheduleModel.Duration, actualPerformanceScheduleDTO.Duration);
            Assert.AreEqual(expectedPerformanceScheduleModel.Age, actualPerformanceScheduleDTO.Age);
            Assert.AreEqual(expectedPerformanceScheduleModel.ScheduleList, actualPerformanceScheduleDTO.ScheduleList);
        }
        public ActionResult <PerformanceScheduleDTO> Get(int id)
        {
            try
            {
                PerformanceScheduleDTO performanceSchedule = performanceScheduleService.LoadScheduleData(id);

                if (performanceSchedule == null)
                {
                    return(NotFound());
                }

                return(StatusCode(200, performanceSchedule));
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
Beispiel #3
0
        public PerformanceScheduleDTO LoadScheduleData(int performanceId)
        {
            PerformanceScheduleDTO performanceScheduleRequest = null;

            var scheduleDataModel = cacheProvider.GetAndSave(() => GetMemoryCacheKey(performanceId), () => performanceScheduleRepository.GetPerfomanceScheduleInfo(performanceId).Result);

            performanceScheduleRequest = new PerformanceScheduleDTO()
            {
                PerformanceId = scheduleDataModel.PerformanceId,
                Title         = scheduleDataModel.Title,
                MainImage     = scheduleDataModel.MainImage,
                ScheduleList  = scheduleDataModel.ScheduleList,
                Age           = scheduleDataModel.Age,
                Duration      = scheduleDataModel.Duration,
                Price         = scheduleDataModel.Price,
            };

            return(performanceScheduleRequest);
        }