public ActionResult Index(string page, string sort)
        {
            EducationItemList model = new EducationItemList();

            int pageVal = this.GetPage(page);

            EducationItemSort sortVal = EducationItemSort.Type;

            Enum.TryParse <EducationItemSort>(sort, out sortVal);

            model.Sort = sortVal;

            EducationItemsResult result = this.DashboardRepository.Education.GetEducationItems("", "", EducationItemType.Unknown, pageVal, EducationItemsPerPage, sortVal);

            if (!result.Success)
            {
                this.Error(result.Message);
            }
            else
            {
                if (result.EducationItems.Count == 0)
                {
                    result = this.DashboardRepository.Education.LoadDefaults();

                    if (result.Success)
                    {
                        result = this.DashboardRepository.Education.GetEducationItems("", "", EducationItemType.Unknown, pageVal, EducationItemsPerPage, sortVal);
                    }
                }

                model.EducationItems = result.EducationItems;

                model.Paging.SetPagingData(EducationItemsPerPage, pageVal, result.TotalResults);

                model.Paging.BaseUrl = Url.Action("Index", new { page = "", sort = (int)sortVal });
            }

            return(View(model));
        }
        public EducationItemsResult GetEducationItems(string ien, string category, EducationItemType itemType, int page, int pageSize, EducationItemSort sort)
        {
            EducationItemsResult result = new EducationItemsResult();

            if (this.broker != null)
            {
                DsioGetEducationItemsCommand command = new DsioGetEducationItemsCommand(this.broker);

                string dsioItemType = GetDsioItemType(itemType);

                command.AddCommandArguments(ien, category, dsioItemType, page, pageSize, (int)sort);

                RpcResponse response = command.Execute();

                result.SetResult(response.Status == RpcResponseStatus.Success, response.InformationalMessage);

                if (result.Success)
                {
                    if (command.EducationItems != null)
                    {
                        if (command.EducationItems.Count > 0)
                        {
                            foreach (DsioEducationItem dsioItem in command.EducationItems)
                            {
                                EducationItem item = GetItem(dsioItem);

                                result.EducationItems.Add(item);
                            }

                            result.TotalResults = command.TotalResults;
                        }
                    }
                }
            }

            return(result);
        }