public static FUTListItem GetMostMatchingListItem(int assetID, int revID, int style, string pos)
        {
            FUTListItem listItem = ItemListManager.GetFUTListItems().FirstOrDefault(x => x.AssetID == assetID && x.RevisionID == revID);

            var specific1 = ItemListManager.GetFUTListItems()
                            .FirstOrDefault(x => x.AssetID == assetID && x.RevisionID == revID && pos == x.Position);

            if (specific1 != null)
            {
                listItem = specific1;
            }
            var specific2 = ItemListManager.GetFUTListItems()
                            .FirstOrDefault(x => x.AssetID == assetID && x.RevisionID == revID &&
                                            style == (int)x.ChemistryStyle);

            if (specific2 != null)
            {
                listItem = specific2;
            }
            var specific3 = ItemListManager.GetFUTListItems()
                            .FirstOrDefault(x => x.AssetID == assetID && x.RevisionID == revID &&
                                            style == (int)x.ChemistryStyle && pos == x.Position);

            if (specific3 != null)
            {
                listItem = specific3;
            }
            return(listItem);
        }
 public static void InsertFUTListItem(FUTListItem item)
 {
     using (var context = new FUTSettingsDatabase())
     {
         context.FUTListItems.Add(item);
         context.SaveChanges();
     }
 }
 public static void AdjustVariableBuyPercent(FUTListItem listItem)
 {
     using (var context = new FUTSettingsDatabase())
     {
         var item = context.FUTListItems.FirstOrDefault(x => x.ID == listItem.ID);
         if (item != null)
         {
             item.VariableBuyPercent = item.StaticBuyPercent - item.BuyPercentStep;
             context.SaveChanges();
         }
     }
 }
 public static void UpdateFUTListItem(FUTListItem item)
 {
     using (var context = new FUTSettingsDatabase())
     {
         var savedItem = context.FUTListItems.FirstOrDefault(x => x.ID == item.ID);
         if (savedItem == null)
         {
             InsertFUTListItem(item);
         }
         else
         {
             context.Entry(savedItem).CurrentValues.SetValues(item);
             context.SaveChanges();
         }
     }
 }
Beispiel #5
0
        public ManageList()
        {
            this.RequiresAuthentication();
            Get("/managelist", args =>
            {
                var model = new ManageListModel();


                var itemsInList = ItemListManager.GetFUTListItems();

                model.FutListItems = itemsInList;
                return(View["ManageList", model]);
            });

            Post("/resetpricecheck", args =>
            {
                var body       = new StreamReader(Request.Body).ReadToEnd();
                var parameters = HttpUtility.ParseQueryString(body);

                var databaseID = int.Parse(parameters["item"]);

                var itemsMatching = ItemListManager.GetFUTListItems().FirstOrDefault(x => x.ID == databaseID);
                if (itemsMatching != null)
                {
                    itemsMatching.LastPriceCheck = 0;
                    itemsMatching.PriceChecking  = false;
                    itemsMatching.SaveChanges();
                }

                var itemsMatchingNew = ItemListManager.GetFUTListItems().FirstOrDefault(x => x.ID == databaseID);
                var itemsJson        = JsonConvert.SerializeObject(itemsMatchingNew);

                return(itemsJson);
            });

            Post("/removeitemfromlist", args =>
            {
                var body       = new StreamReader(Request.Body).ReadToEnd();
                var parameters = HttpUtility.ParseQueryString(body);

                var databaseId = int.Parse(parameters["item"]);

                ItemListManager.RemoveFUTListItem(databaseId);

                return(Response.AsRedirect("/managelist"));
            });

            Post("/saveitem", args =>
            {
                var body       = new StreamReader(Request.Body).ReadToEnd();
                body           = HttpUtility.UrlDecode(body);
                var parameters = HttpUtility.ParseQueryString(body);


                var databaseId = int.Parse(parameters["itemDatabaseID"]);

                var item = ItemListManager.GetFUTListItems().FirstOrDefault(x => x.ID == databaseId);
                if (item != null)
                {
                    item.StaticBuyPercent   = int.Parse(parameters["staticBuyPercent"]);
                    item.VariableBuyPercent = int.Parse(parameters["variableBuyPercent"]);
                    item.BuyPercentStep     = int.Parse(parameters["buyPercentStep"]);
                    item.SellPercent        = int.Parse(parameters["sellPercent"]);
                    item.Counter            = int.Parse(parameters["counter"]);
                    item.BuyPrice           = int.Parse(parameters["buyPrice"]);
                    item.SellPrice          = int.Parse(parameters["sellPrice"]);
                    item.IgnorePriceCheck   = parameters["ignorePriceCheck"] != "false";
                    item.BuyItem            = parameters["buyItem"] != "false";
                    item.Discard            = parameters["discardItem"] != "false";
                    item.SaveChanges();
                }


                var itemJson = JsonConvert.SerializeObject(item);

                return(itemJson);
            });

            Post("/searchforitem", args =>
            {
                var body       = new StreamReader(Request.Body).ReadToEnd();
                var parameters = HttpUtility.ParseQueryString(body);

                var item = parameters["item"];

                var items = FUTItemManager.GetMatchingItems(item);

                var userFriendlyItems = items.Select(p => new UserFriendlyItemObject
                {
                    AssetID = p.id, Rating = p.r, Name = p.GetName(), RevisionID = p.RevisionID, Type = p.Type
                }).ToList();

                var itemsJson = JsonConvert.SerializeObject(userFriendlyItems);

                return(itemsJson);
            });

            Post("/additem", args =>
            {
                var body       = new StreamReader(Request.Body).ReadToEnd();
                var parameters = HttpUtility.ParseQueryString(body);

                var assetId   = int.Parse(parameters["addAssetID"]);
                var revId     = int.Parse(parameters["revID"]);
                var itemType  = int.Parse(parameters["itemType"]);
                var position  = parameters["pos"];
                var playStyle = (ChemistryStyle)int.Parse(parameters["playStyle"]);

                if (ItemListManager.ItemExistsInList(assetId, revId, position, playStyle))
                {
                    return(Response.AsRedirect("/managelist?error=1"));
                }

                var newPlayerObject = new FUTListItem(assetId)
                {
                    RevisionID         = revId,
                    Type               = (FUTSearchParameterType)itemType,
                    BuyPercentStep     = 0,
                    StaticBuyPercent   = FUTSettings.Instance.BuyPercent,
                    VariableBuyPercent = FUTSettings.Instance.BuyPercent,
                    SellPercent        = FUTSettings.Instance.SellPercent,
                    Counter            = 10,
                    BuyItem            = false,
                    IgnorePriceCheck   = true,
                    Position           = position,
                    ChemistryStyle     = playStyle
                };

                ItemListManager.InsertFUTListItem(newPlayerObject);

                return(Response.AsRedirect("/managelist"));
            });
        }