Beispiel #1
0
        /// <summary>
        ///     Mediator pattern is overkill in this instance, but here as an example to return response codes to a controller, and
        ///     keep the controller dumb as a result
        /// </summary>
        /// <returns>A mediator response with the result of the view model instantiation</returns>
        public MediatorResponse <HeaderViewModel> RequestHeaderViewModel()
        {
            var HeaderItemDataSource = _HeaderService.GetHeaderItems();

            if (HeaderItemDataSource == null)
            {
                return(_mediatorService.GetMediatorResponse <HeaderViewModel>(MediatorCodes.HeaderResponse.DataSourceError));
            }
            var viewModel =
                _HeaderViewModelFactory.CreateHeaderViewModel(HeaderItemDataSource, _HeaderService.IsExperienceEditor);

            if (viewModel == null)
            {
                return(_mediatorService.GetMediatorResponse <HeaderViewModel>(MediatorCodes.HeaderResponse.ViewModelError));
            }
            return(_mediatorService.GetMediatorResponse(MediatorCodes.HeaderResponse.Ok, viewModel));
        }