public IActionResult Index(SetViewModel model) { try { var setCode = model.Set.code; var cards = new List <Card>(); if (setCode == "KLD" || setCode == "kld") { using (StreamReader r = System.IO.File.OpenText(@"wwwroot/js/KLD.json")) { string json = r.ReadToEnd(); var cardDTO = JsonConvert.DeserializeObject <CardDTO>(json); cards = cardDTO.Cards; } } else { cards = MTGAPI.GetCardsBySetCode(setCode); } var rarityFilter = model.RarityFilter; var colorFilter = model.ColorFilter; var rarityPredicate = GetRarityFilter(rarityFilter); var colorPredicate = GetColorFilter(colorFilter); cards = cards .Where(c => !c.type.Contains("Basic Land")) .Where(rarityPredicate) .Where(colorPredicate) .OrderBy(c => c.number, new CardComparer()) .ToList(); var userGrades = new CardListViewModel(); foreach (var card in cards) { var cvm = new CardViewModel() { Card = card, Grade = new Grade() { CardName = card.name, MultiverseID = card.multiverseid ?? -1, Value = GradeEnum.None } }; userGrades.CardViewModels.Add(cvm); } return(PartialView("EditorTemplates/CardListViewModel", userGrades)); } catch (Exception ex) { return(RedirectToAction("Index", model.Set.code)); } }
public IActionResult Index(HomeViewModel model) { var sets = MTGAPI.GetAllSets(); sets.Add(new Set() { name = "Kaladesh", code = "KLD", releaseDate = "2016-09-30" }); if (!string.IsNullOrEmpty(model.SearchString)) { sets = sets.Where(s => s.name.IndexOf(model.SearchString.Trim(), StringComparison.OrdinalIgnoreCase) >= 0).ToList(); } return(PartialView("Sets", sets.OrderByDescending(s => s.releaseDate).ToList())); }
public IActionResult Index() { var sets = MTGAPI.GetAllSets(); sets.Add(new Set() { name = "Kaladesh", code = "KLD", releaseDate = "2016-09-30", LRReviewID = 1 }); return(View(new HomeViewModel() { Sets = sets.OrderByDescending(s => s.releaseDate).ToList(), SearchString = "" })); }
public IActionResult Index(string id = "") { var set = new Set(); var cards = new List <Card>(); if (id == "KLD" || id == "kld") { set = new Set() { name = "Kaladesh", code = "KLD", releaseDate = "2016-09-30" }; using (StreamReader r = System.IO.File.OpenText(@"wwwroot/js/KLD.json")) { string json = r.ReadToEnd(); var cardDTO = JsonConvert.DeserializeObject <CardDTO>(json); cards = cardDTO.Cards; } } else { set = MTGAPI.GetSetBySetCode(id); cards = MTGAPI.GetCardsBySetCode(id); } var lrSetReviewQuery = db.SetReviews .Where(sr => sr.SetCode.Equals(id, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); var lrSetReview = (lrSetReviewQuery == null) ? new List <Grade>() : lrSetReviewQuery.Grades; var rarityFilter = new Dictionary <string, bool>() { { "Common", false }, { "Uncommon", false }, { "Rare", false }, { "Mythic Rare", false }, }; var colorFilter = new Dictionary <string, bool>() { { "White", false }, { "Blue", false }, { "Black", false }, { "Red", false }, { "Green", false }, { "Colorless", false } }; cards = cards .Where(c => !c.type.Contains("Basic Land")) .OrderBy(c => c.number, new CardComparer()) .ToList(); var userGrades = new CardListViewModel(); foreach (var card in cards) { var cvm = new CardViewModel() { Card = card, Grade = new Grade() { CardName = card.name, MultiverseID = card.multiverseid ?? -1, Value = GradeEnum.None } }; userGrades.CardViewModels.Add(cvm); } return(View(new SetViewModel() { RarityFilter = rarityFilter, ColorFilter = colorFilter, Set = set, Cards = cards, UserGrades = userGrades })); }