public NavigationViewModel GetNavModel(int navigationId, params CategoriesInformation.CategoriesEnum[] _categoriesEnum) { var articles = new List <ArticleDataModel> [4]; var categories = new string[4]; if (_categoriesEnum.Length < 4) { for (int i = 0; i < 4; i++) { try { categories[i] = GetStringCategoryFromEnum(_categoriesEnum[i]); } catch (IndexOutOfRangeException) { categories[i] = ""; } } } else { for (int i = 0; i < 4; i++) { categories[i] = GetStringCategoryFromEnum(_categoriesEnum[i]); } } for (int i = 0; i < categories.Length; i++) { var tmp = categories[i]; var additional = CategoriesInformation.CheckAndGetAdditional(tmp); articles[i] = context.Articles .Where(a => a.Category == tmp || a.Category == additional) .OrderByDescending(o => o.UploadDate) .Take(10) .ToList(); } var returns = new IEnumerable <ArticlePreviewModel> [4]; for (int i = 0; i < categories.Length; i++) { returns[i] = MapArticles(articles[i]); } return(new NavigationViewModel() { NavigationId = navigationId, DummyOneCategory = categories[0], DummyTwoCategory = categories[1], DummyThreeCategory = categories[2], DummyFourCategory = categories[3], DummyOne = returns[0], DummyTwo = returns[1], DummyThree = returns[2], DummyFour = returns[3], }); }
public CategoryArticleViewModel GetCategoryArticleModel(CategoriesInformation.CategoriesEnum category) { var converted = GetStringCategoryFromEnum(category); var model = new CategoryArticleViewModel(); var additionalInfo = CategoriesInformation.GetAdditionalInformation(converted); model.PreviewModels = PreviewArticleModels(converted); model.SortBar = new SortBindingModel(); model.SortBar.SortByValues = new string[] { "Most recent", "Price (ascending)", "Price (descending)" }; var passArr = new string[] { "Any" }; if (additionalInfo != null) { Array.Resize(ref passArr, additionalInfo.Length + 1); Array.Copy(additionalInfo, 0, passArr, 1, additionalInfo.Length); } model.SortBar.TypeDropDownValues = passArr; return(model); }
public string[] JsonString(int?itemInfo) { return(CategoriesInformation.GetAdditionalInformation((int)itemInfo)); }