コード例 #1
0
        string PurchaseResponse(HttpListenerRequest request)
        {
            //return string.Format("<HTML><BODY>My web page.<br>{0}<br>{1}<br>{2}</BODY></HTML>", DateTime.Now, request.QueryString["uid"], request.QueryString["pid"]);

            System.Diagnostics.Debug.WriteLine(request.RawUrl);
            GlobalProduct prod = Marketplace.Instance.GetProduct(request.QueryString["pid"]);

            if (prod == null)
            {
                return("<HTML><BODY>Invalid Product</BODY></HTML>");
            }

            string html = LoadPurchaseHtml();

            html = html.Replace("CLIENT_AUTH_TOKEN", BraintreeManager.GetClientToken(request.QueryString["uid"]));
            html = html.Replace("PAYPAL_AMOUNT_TOKEN", prod.USD.ToString());
            html = html.Replace("PAYPAL_CURRENCY_TOKEN", "USD");

            html = html.Replace("COIN_AMMOUNT", prod.Coins.ToString());
            html = html.Replace("VIP_AMMOUNT", prod.VIP.ToString());
            html = html.Replace("USD_AMMOUNT", prod.USD.ToString());

            html = html.Replace("USER_ID", request.QueryString["uid"]);
            html = html.Replace("PRODUCT_ID", request.QueryString["pid"]);

#if DEBUG
            html = html.Replace("BRAINTREE_PREFIX", "");
#else
            html = html.Replace("BRAINTREE_PREFIX", "http://www.ronzgames.com/braintree");
#endif

            return(html);
        }
コード例 #2
0
        public ProductDisplay(GlobalProduct p, int left, int width)
        {
            m_iProductID = p.ProductId;
            m_iLeft      = left;
            m_iWidth     = width;

            m_fHeight      = (Assets.HelpFont.MeasureString("qQ").Y * 4);
            m_fCoinsHeight = (Assets.DialogFont.MeasureString("qQ").Y * 0.5f);
            float center = m_fHeight * 0.5f;

            int iconSize = (int)(Constants.ProductDisplay_CoinSize * Happiness.Game.ScreenWidth);
            int iconLeft = (int)(Constants.ProductDisplay_CoinLeft * Happiness.Game.ScreenWidth);

            m_rIcon = new Rectangle(m_iLeft + iconLeft, (int)(center - (iconSize >> 1)), iconSize, iconSize);

            int coinsLeft = m_rIcon.Right + iconLeft;

            m_Coins      = new UILabel(p.Coins.ToString(), coinsLeft, 0, Color.Goldenrod, Assets.DialogFont, UILabel.XMode.Left);
            m_CoinsLabel = new UILabel("Coins", 0, 0, Color.White, Assets.HelpFont, UILabel.XMode.Left);

            m_VIP      = new UILabel(p.VIP.ToString(), m_iLeft + (width >> 1), 0, Color.Bisque, Assets.DialogFont, UILabel.XMode.Left);
            m_VIPLabel = new UILabel("VIP Points", 0, 0, Color.White, Assets.HelpFont, UILabel.XMode.Left);

            int right        = left + width;
            int buttonWidth  = (int)(Constants.ProductDisplay_ButtonWidth * Happiness.Game.ScreenWidth);
            int buttonHeight = (int)(Constants.ProductDisplay_ButtonHeight * Happiness.Game.ScreenHeight);

            m_Purchase = new UIButton(0, "$" + p.USD.ToString("N2"), Assets.HelpFont, new Rectangle(right - iconLeft - buttonWidth, (int)center - (buttonHeight >> 1), buttonWidth, buttonHeight), Assets.ScrollBar);
        }
コード例 #3
0
 // DELETE
 public void Delete(GlobalProduct obj)
 {
     try
     {
         DB.GlobalProduct.Remove(obj);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #4
0
 // DELETE
 public async Task Delete(GlobalProduct obj)
 {
     try
     {
         repository.Delete(obj);
         await DB.SaveChangesAsync();
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #5
0
 // UPDATE
 public void Update(GlobalProduct obj)
 {
     try
     {
         obj.ArtikelCode = obj.ArtikelCode.ToUpper();
         DB.GlobalProduct.Update(obj);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #6
0
 // CREATE
 public async Task Create(GlobalProduct obj)
 {
     try
     {
         // Save Tot DB
         repository.Create(obj);
         await DB.SaveChangesAsync();
     }
     catch (Exception ex)
     {
         throw;
     }
 }
コード例 #7
0
        public void FinalizeProductPurchase(string uid, string pid, string transactionJson)
        {
            int user = -1;

            if (int.TryParse(uid, out user))
            {
                GlobalProduct p = GetProduct(pid);

                GlobalTask gt = new GlobalTask(GlobalTask.GlobalType.Purchase_Product);
                gt.Args = new object[] { user, p.ProductId, p.Coins, p.VIP, p.USD, 0 /*braintree*/, transactionJson.Replace('\"', '\'') };

                _server.TaskProcessor.AddTask(gt);
            }
        }
コード例 #8
0
        // READ
        public async Task <GlobalProduct> GetFromArtikelCode(string artikelCode)
        {
            try
            {
                GlobalProduct tmpResult = await repository.GetFromArtikelCode(artikelCode);

                // Sorteren van onderliggende eigenschappen
                tmpResult.Eigenschappen = tmpResult.Eigenschappen.OrderBy(x => x.Naam).ToList();

                return(tmpResult);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #9
0
        public async Task CopyFrom(GlobalProduct obj, string _artikelCode)
        // Copieren van Global Product en alle onderliggende eigenschappen
        {
            try
            {
                // Inlezen van origineel van DB
                GlobalProduct gbp = await this.GetFromArtikelCode(obj.ArtikelCode);

                if (gbp == null)
                {
                    throw new Exception("Geen bron artikel gevonden in database");
                }

                // Maak nieuw object
                GlobalProduct newGbp = new GlobalProduct();
                newGbp.ArtikelCode   = _artikelCode;
                newGbp.Naam          = gbp.Naam;
                newGbp.Omschrijving  = gbp.Omschrijving;
                newGbp.Eigenschappen = new List <GlobalProductEigenschap>();

                // Vul object met onderliggende eigenschappen
                foreach (GlobalProductEigenschap item in gbp.Eigenschappen)
                {
                    GlobalProductEigenschap gbpe = new GlobalProductEigenschap();
                    gbpe.Id           = 0;
                    gbpe.ArtikelCode  = newGbp.ArtikelCode == null ? "" : _artikelCode;
                    gbpe.Sort         = item.Sort;
                    gbpe.Naam         = item.Naam == null ? "" : item.Naam;
                    gbpe.Omschrijving = item.Omschrijving == null ? "" : item.Omschrijving;
                    gbpe.DataType     = item.DataType == null ? "" : item.DataType;
                    gbpe.Waarde       = item.Waarde == null ? "" : item.Waarde;

                    // Toevoegen van eigenschap aan parent
                    newGbp.Eigenschappen.Add(gbpe);
                }

                await this.Create(newGbp);
            }
            catch (Exception ex)
            {
                throw;
            }
        }