コード例 #1
0
ファイル: Default2.aspx.cs プロジェクト: lfrese/GameApp
    protected void Page_Load(object sender, EventArgs e)
    {
        allimages = "[";
        List <PrizeController.Prize> prizelist = PrizeController.GetPrizes();
        List <string> imglist = new List <string>();

        foreach (PrizeController.Prize prize in prizelist)
        {
            if (prize.isnonprize)
            {
                allimages += "'" + prize.image1 + "',";
            }
            else
            {
                allimages += "'" + prize.image1 + "',";
                allimages += "'" + prize.image2 + "',";
            }
        }
        allimages = allimages.TrimEnd(',') + "]";

        //load settings
        PrizeController.Settings settings = PrizeController.GetSettings();
        playtime        = (Convert.ToInt32(settings.playtime) * 1000).ToString();
        gamespeed       = settings.gamespeed;
        buildtime       = settings.buildtime;
        idletimeouttime = (Convert.ToInt32(settings.idletimeouttime) * 1000).ToString();
        idletiptime     = (Convert.ToInt32(settings.idletiptime) * 1000).ToString();
    }
コード例 #2
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
    //reset all current amounts to original amounts
    protected void ResetAll_OnClick(Object sender, EventArgs e)
    {
        List <PrizeController.Prize> prizelist = PrizeController.GetPrizes();

        foreach (PrizeController.Prize prize in prizelist)
        {
            prize.currentquantity = prize.originalquantity;
            prize.ratio           = "100";
        }
        string output = JsonConvert.SerializeObject(prizelist);

        try
        {
            File.WriteAllText(prizespath, output);
            lblChangesSuccess.Text = "Changes successful";
        }
        catch (Exception ex)
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(errorpath, true))
            {
                file.WriteLine(DateTime.Now.ToString() + " Error in Admin.aspx.cs in method ResetAll_OnClick: " + ex.Message);
            }
        }
        LoadPrizeDataTable();
    }
コード例 #3
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
    //*****************************************************************//
    //***************Handle JSON data**********************************//
    //*****************************************************************//


    /// <summary>
    /// Loades the list of prizes from the JSON db, puts into a datatable , gridview
    /// </summary>
    public void LoadPrizeDataTable()
    {
        List <PrizeController.Prize> prizelist = PrizeController.GetPrizes().OrderBy(x => Convert.ToInt32(x.id)).ToList();

        DataTable dt = new DataTable();
        DataRow   dr = null;

        dt.Columns.Add("ID", System.Type.GetType("System.String"));
        dt.Columns.Add("ProductName", System.Type.GetType("System.String"));
        dt.Columns.Add("CurrentAmount", System.Type.GetType("System.String"));
        dt.Columns.Add("OriginalAmount", System.Type.GetType("System.String"));
        dt.Columns.Add("IsNonPrize", System.Type.GetType("System.String"));

        foreach (PrizeController.Prize prize in prizelist)
        {
            dr                   = dt.NewRow();
            dr["ID"]             = prize.id;
            dr["ProductName"]    = prize.name;
            dr["CurrentAmount"]  = prize.currentquantity;
            dr["OriginalAmount"] = prize.originalquantity;
            dr["IsNonPrize"]     = prize.isnonprize;
            dt.Rows.Add(dr);
        }
        dt.AcceptChanges();
        gvPrizeList.DataSource = dt;
        gvPrizeList.DataBind();
    }
コード例 #4
0
        public void TestValidatePrize_EmptyInput()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();

            //Act
            IPrize valid = prizeController.ValidatePrize("", "");

            //Assert
            Assert.IsNull(valid);
        }
コード例 #5
0
        public override void ExtendedUpdate()
        {
            tick -= Time.deltaTime;
            if (tick < 0)
            {
                tick = 1.0f;

                end_cat_show_timer -= 1;
                if (end_cat_show_timer > 24 * 3600)
                {
                    cat_show_timer.text = TextManager.getText("cs_catshow_end_show_text")
                                          + end_cat_show_timer / 86400 + TextManager.getText("cs_catshow_end_show_day_text")
                                          + (end_cat_show_timer % 86400) / 3600 + TextManager.getText("cs_catshow_end_show_hours_text")
                                          + ((end_cat_show_timer % 86400) % 3600) / 60 + TextManager.getText("cs_catshow_end_show_minutes_text")
                                          + (((end_cat_show_timer % 86400) % 3600) % 60) + TextManager.getText("cs_catshow_end_show_seconds_text");
                }
                else if (end_cat_show_timer > 3600)
                {
                    cat_show_timer.text = TextManager.getText("cs_catshow_end_show_text")
                                          + end_cat_show_timer / 3600 + TextManager.getText("cs_catshow_end_show_hours_text")
                                          + (end_cat_show_timer % 3600) / 60 + TextManager.getText("cs_catshow_end_show_minutes_text")
                                          + ((end_cat_show_timer % 3600) % 60) + TextManager.getText("cs_catshow_end_show_seconds_text");
                }
                else if (end_cat_show_timer > 60)
                {
                    cat_show_timer.text = TextManager.getText("cs_catshow_end_show_text")
                                          + end_cat_show_timer / 60 + TextManager.getText("cs_catshow_end_show_minutes_text")
                                          + ((end_cat_show_timer % 3600) % 60) + TextManager.getText("cs_catshow_end_show_seconds_text");
                }
                else
                {
                    cat_show_timer.text = TextManager.getText("cs_catshow_end_show_text")
                                          + end_cat_show_timer + TextManager.getText("cs_catshow_end_show_seconds_text");
                }
            }

            if (end_cat_show_timer < 0 &&
                !tutorCatShow.data.content.done && !DialogController.GetController().DialogWindow.activeSelf)
            {
                tutorCatShow.data.content.done = true;
                tutorCatShow.data.Store();

                DataController.instance.catsPurse.Beauty = 0;

                ServeredData.PrizeAnswer answ = new ServeredData.PrizeAnswer();
                answ.data       = new ServeredData.PrizeAnswer.Data();
                answ.data.cnt   = 100;
                answ.data.place = tutorCatShow.data.content.cur_place;
                answ.data.value = tutorCatShow.data.content.cur_value;

                PrizeController.GetController().set_value = true;
                PrizeController.GetController().answer    = answ;
            }
        }
コード例 #6
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
 protected void Page_Load(object sender, EventArgs e)
 {
     if (isLoggedIn)
     {
         //get settings & populate
         PrizeController.Settings settings = PrizeController.GetSettings();
         tbPlayTime.Text    = settings.playtime;
         tbPlaySpeed.Text   = settings.gamespeed;
         tbBuildTime.Text   = settings.buildtime;
         tbTimeOutTime.Text = settings.idletimeouttime;
         tbTipTime.Text     = settings.idletiptime;
     }
 }
コード例 #7
0
        public void TestValidatePrize_Numbers_Spaces_Symbols()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Test-Prize-Name 123456789 &%$#@.";
            String          inPercentage    = "12%";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNotNull(valid);
        }
コード例 #8
0
        public void TestValidatePrize_NullInput()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = null;
            String          inPercentage    = null;

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNull(valid);
        }
コード例 #9
0
        public void TestValidatePrize_PrizeNameWithNumbersAndSpaces()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Test Prize Name 123456789";
            String          inPercentage    = "12%";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNotNull(valid);
        }
コード例 #10
0
        public void TestValidatePrize_DoublePercentAbove100() //Should we allow over 100% Input?
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Test-Prize-Name";
            String          inPercentage    = "120.55%";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNull(valid);
        }
コード例 #11
0
        public void TestValidatePrize_PercentWithCharacters()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Test-Prize-Name";
            String          inPercentage    = "12xxxx%";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNull(valid);
        }
コード例 #12
0
        public void TestValidatePrize_DoublePercent()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Test-Prize-Name";
            String          inPercentage    = "12.55%";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNotNull(valid);
        }
コード例 #13
0
        public void TestValidatePrize_NoPercentSignDoubleAndSpaces()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Test-Prize-Name";
            String          inPercentage    = "10.99 ";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNotNull(valid);
        }
コード例 #14
0
        public void TestValidatePrize_DefaultInput()
        {
            //Arrange
            PrizeController prizeController = new PrizeController();
            String          name            = "Champion, runner-up, etc...";
            String          inPercentage    = "ex) .25, .5, .33, etc...";

            //Act
            IPrize valid = prizeController.ValidatePrize(name, inPercentage);

            //Assert
            Assert.IsNull(valid);
        }
コード例 #15
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
 /// <summary>
 /// Handles command when user clicks Edit prize on prize table, or when user clicks New Prize button
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void gvPrizeList_RowCommand(object sender, CommandEventArgs e)
 {
     if (e.CommandName == "EditPrize")
     {
         string productname = e.CommandArgument.ToString();
         List <PrizeController.Prize> prizelist = PrizeController.GetPrizes();
         PrizeController.Prize        prize     = prizelist.Find(x => x.name == productname);
         mvMulti.ActiveViewIndex = 2;
         tbName.Text             = prize.name;
         lblPrizeID.Text         = prize.id;
         tbOriginalAmount.Text   = prize.originalquantity;
         tbCurrentAmount.Text    = prize.currentquantity;
         tbTip.Text           = prize.tip;
         cbIsNonPrize.Checked = Convert.ToBoolean(prize.isnonprize);
         lblImg1.Text         = prize.image1;
         lblImg2.Text         = prize.image2;
         //lblImg3.Text = prize.image3;
         imgImage1.ImageUrl = prize.image1;
         imgImage2.ImageUrl = prize.image2;
         //imgImage3.ImageUrl = prize.image3;
         btnAddNewPrize.Visible = false;
         btnDeletePrize.Visible = true;
         btnEditPrize.Visible   = true;
     }
     if (e.CommandName == "NewPrize")
     {
         mvMulti.ActiveViewIndex = 2;
         btnAddNewPrize.Visible  = true;
         btnDeletePrize.Visible  = false;
         tbName.Text             = "";
         lblPrizeID.Text         = "";
         tbTip.Text            = "";
         tbOriginalAmount.Text = "";
         tbCurrentAmount.Text  = "";
         cbIsNonPrize.Checked  = false;
         lblImg1.Text          = "";
         lblImg2.Text          = "";
         //lblImg3.Text = "";
         imgImage1.ImageUrl = "";
         imgImage2.ImageUrl = "";
         //imgImage3.ImageUrl = "";
         btnEditPrize.Visible = false;
     }
 }
コード例 #16
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
 //*****************************************************************//
 //***************Handle button clicks******************************//
 //*****************************************************************//
 /// <summary>
 /// Logs user into admin
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void LoginBtn_OnClick(Object sender, EventArgs e)
 {
     PrizeController.Settings settings = PrizeController.GetSettings();
     if (tbUser.Text == settings.username && tbPass.Text == settings.pass)
     {
         isLoggedIn              = true;
         btnLogout.Visible       = true;
         mvMulti.ActiveViewIndex = 1;
         tbPlayTime.Text         = settings.playtime;
         tbPlaySpeed.Text        = settings.gamespeed;
         tbBuildTime.Text        = settings.buildtime;
         tbTimeOutTime.Text      = settings.idletimeouttime;
         tbTipTime.Text          = settings.idletiptime;
         LoadPrizeDataTable();
     }
     else
     {
         lblError.Text = "Please enter the correct username & password";
     }
 }
コード例 #17
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
 /// <summary>
 /// Handles when user clicks button to save edited settings
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnChangeSettings_OnClick(Object sender, EventArgs e)
 {
     try
     {
         PrizeController.Settings settings = PrizeController.GetSettings();
         settings.playtime        = tbPlayTime.Text;
         settings.gamespeed       = tbPlaySpeed.Text;
         settings.buildtime       = tbBuildTime.Text;
         settings.idletimeouttime = tbTimeOutTime.Text;
         settings.idletiptime     = tbTipTime.Text;
         string output = JsonConvert.SerializeObject(settings);
         File.WriteAllText(settingspath, output);
         LoadPrizeDataTable();
         lblChangesSuccess.Text = "Changes successful";
     }
     catch (Exception ex)
     {
         using (System.IO.StreamWriter file = new System.IO.StreamWriter(errorpath, true))
         {
             file.WriteLine(DateTime.Now.ToString() + " Error in Admin.aspx.cs Method btnChangeSettings_OnClick: " + ex.Message);
         }
         lblChangesSuccess.Text = "Changes not successful";
     }
 }
コード例 #18
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
    /// <summary>
    /// Handles when user clicks edit button to make changes to an existing prize or creates a new prize if there is no
    /// ID associated
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void EditPrize_OnClick(Object sender, EventArgs e)
    {
        //lets just delete existing and add new
        List <PrizeController.Prize> prizelist = PrizeController.GetPrizes();

        PrizeController.Prize newprize = new PrizeController.Prize();

        int    numprizes = prizelist.Count;
        string prizeid   = "";

        if (lblPrizeID.Text == "")
        {
            prizeid = (numprizes + 1).ToString();
        }
        else
        {
            prizeid = lblPrizeID.Text;
        }
        //save the images
        bool   isValid = true;
        string img1    = "";
        string img2    = "";

        //string img3 = "";
        try
        {
            if (fuImg1.HasFile)
            {
                string ext1 = System.IO.Path.GetExtension(fuImg1.PostedFile.FileName);
                if (ValidateImage(ext1))
                {
                    img1 = "Images/" + SaveFile(fuImg1.PostedFile, prizeid);
                }
                else
                {
                    lblChanges.Text = "Please choose only .jpg, .png and .gif image types!";
                    isValid         = false;
                }
            }
            if (fuImg2.HasFile)
            {
                string ext2 = System.IO.Path.GetExtension(fuImg2.PostedFile.FileName);
                if (ValidateImage(ext2))
                {
                    img2 = "Images/" + SaveFile(fuImg2.PostedFile, prizeid);
                }
                else
                {
                    lblChanges.Text = "Please choose only .jpg, .png and .gif image types!";
                    isValid         = false;
                }
            }
        }
        catch (Exception ex) {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(errorpath, true))
            {
                file.WriteLine(DateTime.Now.ToString() + " Error: " + ex.Message);
                isValid = false;
            }
        }

        if (isValid)
        {
            string qtygiven = "0";

            newprize.name = tbName.Text;
            //if current qty is greater than original set original to current
            if (tbCurrentAmount.Text.Trim() != "" && tbOriginalAmount.Text.Trim() != "")
            {
                if (Convert.ToInt32(tbCurrentAmount.Text) > Convert.ToInt32(tbOriginalAmount.Text))
                {
                    newprize.originalquantity = tbCurrentAmount.Text;
                    newprize.currentquantity  = tbCurrentAmount.Text;
                }
                else
                {
                    newprize.originalquantity = tbOriginalAmount.Text;
                    newprize.currentquantity  = tbCurrentAmount.Text;
                }
            }
            else
            {
                newprize.originalquantity = tbOriginalAmount.Text;
                newprize.currentquantity  = tbCurrentAmount.Text;
            }
            //if its a new prize
            if (lblPrizeID.Text == "")
            {
                newprize.id    = prizeid;
                newprize.ratio = "100";
            }
            else //if its an existing one being edited
            {
                newprize.id = prizeid;
                PrizeController.Prize oldprize = prizelist.Find(x => x.id == lblPrizeID.Text);
                //if we are changing an existing prize, but the images were not changed
                //need to keep the exising images
                if (img1 == "")
                {
                    img1 = oldprize.image1;
                }
                if (img2 == "")
                {
                    img2 = oldprize.image2;
                }
                //if (img3 == "")
                //{
                //    img3 = oldprize.image3;
                //}
                qtygiven = oldprize.quantitygiven;
                //out with the old
                prizelist.Remove(oldprize);
                //calculate the ratio of current vs original
                if (tbOriginalAmount.Text.Trim() == "" || tbOriginalAmount.Text.Trim() == "0")
                {
                    newprize.ratio = "0";
                }
                if (tbCurrentAmount.Text.Trim() == "" || tbCurrentAmount.Text.Trim() == "0")
                {
                    newprize.ratio = "0";
                }
                else
                {
                    newprize.ratio = ((Convert.ToDouble(tbCurrentAmount.Text) / Convert.ToDouble(tbOriginalAmount.Text)) * 100).ToString();
                }
            }


            newprize.isnonprize = cbIsNonPrize.Checked;
            newprize.image1     = img1;
            newprize.image2     = img2;
            //newprize.image3 = img3;
            newprize.quantitygiven = qtygiven;
            newprize.tip           = tbTip.Text;
            //in with the new
            prizelist.Add(newprize);
            string output = JsonConvert.SerializeObject(prizelist);
            try
            {
                File.WriteAllText(prizespath, output);
                mvMulti.ActiveViewIndex = 1;
                lblChangesSuccess.Text  = "Changes successful";
            }
            catch (Exception ex)
            {
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(errorpath, true))
                {
                    file.WriteLine(DateTime.Now.ToString() + " Error in Admin.aspx.cs Method EditPrize_OnClick: " + ex.Message);
                }
            }
            LoadPrizeDataTable();
        }
    }
コード例 #19
0
ファイル: Admin.aspx.cs プロジェクト: lfrese/GameApp
    /// <summary>
    /// Handles when user clicks delete button to delete a prize from the json db
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void DeletePrize_OnClick(Object sender, EventArgs e)
    {
        List <PrizeController.Prize> prizelist = PrizeController.GetPrizes();

        DeletePrize(prizelist, lblPrizeID.Text);
    }