Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
        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()));
        }
Beispiel #3
0
        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 = ""
            }));
        }
Beispiel #4
0
        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
            }));
        }