Exemplo n.º 1
0
        public DeckDetailsModel Validate(ref DeckDetailsModel model)
        {
            if (DeckDetailsModel.IsEmpty(model))
            {
                model = Session["DeckDetailsModel"] as DeckDetailsModel;
                if (DeckDetailsModel.IsEmpty(model))
                {
                    model = new DeckDetailsModel();
                }
            }

            return(model);
        }
Exemplo n.º 2
0
        public ActionResult EditDeck(DeckModel model, int id, string search, string next, string prev, string save)
        {
            SearchModel      searchModel      = model.SearchModel;
            DeckDetailsModel deckDetailsModel = model.DeckDetails;

            Validate(ref searchModel);
            Validate(ref deckDetailsModel);

            if (id > 0)
            {
                DeckDetailsModel deckDetails = Session["DeckDetailsModel"] as DeckDetailsModel;
                if (DeckDetailsModel.IsEmpty(deckDetails))
                {
                    var tuple = DataManager.LoadDeck(id);
                    var deck  = tuple.Item1;
                    var cards = tuple.Item2;

                    deckDetails = new DeckDetailsModel()
                    {
                        DeckName        = deck.DeckName,
                        DeckDescription = deck.DeckDescription,
                        CardItems       = cards.Select(x => new CardItem()
                        {
                            CardID = x.CardId, Quantity = x.CardQuantity, Name = x.CardName
                        }).ToList()
                    };

                    deckDetailsModel = deckDetails;
                }
            }
            else
            {
                deckDetailsModel.CardItems = Session["CardItems"] as List <CardItem>;
            }

            if (!string.IsNullOrWhiteSpace(next))
            {
                searchModel = Session["SearchModel"] as SearchModel;

                if (searchModel.Data.HasMore.HasValue)
                {
                    if (searchModel.Data.HasMore.Value)
                    {
                        if (searchModel.Page <= 1)
                        {
                            searchModel.Page = 1;
                        }
                        searchModel.Page++;
                    }
                }
            }
            if (!string.IsNullOrWhiteSpace(prev))
            {
                searchModel = Session["SearchModel"] as SearchModel;

                if (searchModel.Page <= 1)
                {
                    searchModel.Page = 1;
                }

                searchModel.Page--;
            }
            if (!string.IsNullOrWhiteSpace(search))
            {
            }
            if (!string.IsNullOrWhiteSpace(save))
            {
                deckDetailsModel.CardItems = Session["CardItems"] as List <CardItem>;

                if (id == 0)
                {
                    id = DataManager.CreateDeck(model.DeckDetails.DeckName, model.DeckDetails.DeckDescription, deckDetailsModel.CardItems);
                    ClearSession();
                    return(RedirectToAction("Edit", "Decks", id));
                }
                else if (id >= 0)
                {
                    DataManager.SaveDeck(id, model.DeckDetails.DeckName, model.DeckDetails.DeckDescription, deckDetailsModel.CardItems);
                    ClearSession();
                    return(RedirectToAction("Edit", "Decks", id));
                }
            }

            searchModel.Search();

            Session["SearchModel"]      = searchModel;
            Session["DeckDetailsModel"] = deckDetailsModel;
            Session["CardItems"]        = deckDetailsModel.CardItems;

            model.DeckDetails = deckDetailsModel;
            model.SearchModel = searchModel;

            SetImages(searchModel.Data);

            return(View("Edit", model));
        }