Exemple #1
0
    public void updateRunData(string guid, runData data)
    {
        using (SqlCommand cmd = new SqlCommand("updateRunData", _sqlConn))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@uKey", SqlDbType.NChar).Value       = guid;
            cmd.Parameters.Add("@gender", SqlDbType.TinyInt).Value   = data.gender;
            cmd.Parameters.Add("@group", SqlDbType.TinyInt).Value    = data.group;
            cmd.Parameters.Add("@carType", SqlDbType.TinyInt).Value  = data.carType;
            cmd.Parameters.Add("@area", SqlDbType.TinyInt).Value     = data.area;
            cmd.Parameters.Add("@coin", SqlDbType.SmallInt).Value    = data.coin;
            cmd.Parameters.Add("@dist", SqlDbType.SmallInt).Value    = data.dist;
            cmd.Parameters.Add("@runTime", SqlDbType.Float).Value    = data.runTime;
            cmd.Parameters.Add("@score", SqlDbType.SmallInt).Value   = data.score;
            cmd.Parameters.Add("@umbrella", SqlDbType.TinyInt).Value = data.umbrella;
            cmd.Parameters.Add("@sItem", SqlDbType.TinyInt).Value    = data.specialItem;

            try
            {
                _sqlConn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex.GetBaseException();
            }
            finally
            {
                _sqlConn.Close();
                cmd.Dispose();
            }
        }
    }
Exemple #2
0
    public runData getUserRunData(string guid, int store)
    {
        if (guid == "")
        {
            return(null);
        }

        runData rData = new runData();

        using (SqlCommand cmd = new SqlCommand("getUserRunData", _sqlConn))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@uKey", SqlDbType.NChar).Value    = guid;
            cmd.Parameters.Add("@store", SqlDbType.TinyInt).Value = store;
            try
            {
                _sqlConn.Open();
                using (var data = cmd.ExecuteReader())
                {
                    if (data.HasRows)
                    {
                        data.Read();
                        rData.coin        = Convert.ToInt32(data["coin"]);
                        rData.dist        = Convert.ToInt32(data["dist"]);
                        rData.specialItem = Convert.ToInt32(data["specialItem"]);
                        rData.umbrella    = Convert.ToInt32(data["umbrella"]);
                        rData.runTime     = (float)Convert.ToDouble(data["runTime"]);
                        rData.carType     = Convert.ToInt32(data["carType"]); //TODO;

                        rData.score = rData.coin * 10 + rData.dist;           //TODO
                    }
                    else
                    {
                        rData = null;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex.GetBaseException();
            }
            finally
            {
                _sqlConn.Close();
                cmd.Dispose();
            }
        }
        return(rData);
    }
Exemple #3
0
    private bool checkShare(string uKey, ref string imgData, int store)
    {
        bool result = true;

        if (!File.Exists(Server.MapPath("~/s/shareImg/" + uKey + ".jpg")))
        {
            runData data = _dbMgr.getUserRunData(uKey, store);
            if (data != null)
            {
                createImage(uKey, ref data, ref imgData);
                createSharePage(uKey, data.runTime, data.carType - 1); //TODO
            }
            else
            {
                result = false;
            }
        }
        return(result);
    }
Exemple #4
0
    private void createImage(string uKey, ref runData data, ref string imgData)
    {
        byte[] bytes             = Convert.FromBase64String(imgData);
        System.IO.MemoryStream m = new System.IO.MemoryStream(bytes);
        m.Position = 0;

        Bitmap bg     = (Bitmap)System.Drawing.Image.FromFile(Server.MapPath("~/s/assets/mobile_image_fb.png"));
        Bitmap button = (Bitmap)System.Drawing.Image.FromFile(Server.MapPath("~/s/assets/btnPlay.png"));
        Bitmap c      = (Bitmap)Bitmap.FromStream(m);

        Font       font1 = new Font("華康儷粗黑", 44, FontStyle.Bold);
        Font       font2 = new Font("華康儷粗黑", 33, FontStyle.Regular);
        SolidBrush brush = new SolidBrush(Color.White);

        using (Graphics gfx = Graphics.FromImage(bg))
        {
            gfx.Flush();
            gfx.DrawString(data.score.ToString("0000"), font1, brush, new PointF(93, 169));
            gfx.DrawString(data.specialItem.ToString("0000"), font2, brush, new PointF(137, 261));
            gfx.DrawString(data.dist.ToString("0000"), font2, brush, new PointF(137, 335));
            gfx.DrawString(data.umbrella.ToString("0000"), font2, brush, new PointF(137, 406));
            gfx.DrawString(data.coin.ToString("0000"), font2, brush, new PointF(137, 480));


            gfx.DrawImage(c, 498, 77, 204, 553);
            gfx.DrawImage(button, 490, 253, 220, 220);
        }

        var path = Server.MapPath("~/s/shareImg/" + uKey + ".jpg");

        bg.Save(Server.MapPath("~/s/shareImg/" + uKey + ".jpg"), ImageFormat.Jpeg);
        bg.Dispose();
        c.Dispose();
        m.Close();
        m     = null;
        bytes = null;
    }