public AdsAndCats ReadAdvertisementsData() { AdsAndCats result = new AdsAndCats(); result.Ads = (from c in MTOContext.Advertisements orderby c.Id select c).Take(pageSize).ToList(); result.Cats = (from c in MTOContext.Categories orderby c.Name where c.ParentId == null select c).ToList(); Category backItem = new Category(); backItem.Name = "همه آگهی ها"; backItem.Id = -1; result.Cats.Insert(0, backItem); return(result); }
public AdsAndCats ReadBookByCategory(Dictionary <String, Object> data) { AdsAndCats result = new AdsAndCats(); Category deserializedCategory = JsonConvert.DeserializeObject <Category>(data["category"].ToString()); short pageIndex; int?category = deserializedCategory.Id; if (category == 0) { category = null; } try { pageIndex = deserializedCategory.Status.Value; if (pageIndex > 0) { if (category == null) { result.Ads = (from c in MTOContext.Advertisements orderby c.Id select c).Skip(pageIndex).Take(pageSize).ToList(); return(result); } Category selectedCat = (from c in MTOContext.Categories where c.Id == category.Value select c).FirstOrDefault(); var catIds = FindAllSubCats(selectedCat); result.Ads = (from c in MTOContext.Advertisements orderby c.Id where catIds.Contains(c.CategoryId) select c).Skip(pageIndex).Take(pageSize).ToList(); return(result); } } catch { pageIndex = 0; } result.Cats = (from c in MTOContext.Categories orderby c.Id where c.ParentId == category select c).ToList(); if (category != null && result.Cats.Count > 0) { Category backItem = new Category(); backItem.Name = "بازگشت"; backItem.Id = deserializedCategory.ParentId != null ? deserializedCategory.ParentId.Value : 0; result.Cats.Insert(0, backItem); Category selectedCat = (from c in MTOContext.Categories where c.Id == category.Value select c).FirstOrDefault(); var catIds = FindAllSubCats(selectedCat); result.Ads = (from c in MTOContext.Advertisements orderby c.Id where catIds.Contains(c.CategoryId) select c).Take(pageSize).ToList(); } else { if (category == null) { Category backItem = new Category(); backItem.Name = "همه آگهی ها"; backItem.Id = -1; result.Cats.Insert(0, backItem); result.Ads = (from c in MTOContext.Advertisements orderby c.Id select c).Take(pageSize).ToList(); } else { result.Ads = (from c in MTOContext.Advertisements orderby c.Id where c.CategoryId == category select c).Take(pageSize).ToList(); } } return(result); }