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(); } } }
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); }
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); }
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; }