private void Button_Click(object sender, RoutedEventArgs e) { if (nameTb.Text == "" || idTb.Text == "" || pwPb.Password == "") { MessageBox.Show("칸을 모두 채워주세요.", "알림", MessageBoxButton.OK, MessageBoxImage.Error); return; } var MyRead = MysqlConn.ExecuteQuery("select id from user where id='" + idTb.Text + "'"); if (MyRead.Read()) { MessageBox.Show("이미 존재하는 아이디입니다.", "알림", MessageBoxButton.OK, MessageBoxImage.Error); return; } int a = MysqlConn.ExecuteNonQuery("insert into user value('" + nameTb.Text + "', '" + idTb.Text + "', '" + MainWindow.Sha512Hash(pwPb.Password) + "')"); if (a == 1) { MessageBox.Show("회원가입 성공", "알림", MessageBoxButton.OK); this.Visibility = Visibility.Collapsed; } else { MessageBox.Show("회원가입 실패", "알림", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void LoginBtn_Click(object sender, RoutedEventArgs e) { if (idTb.Text == "" || pwPb.Password == "") { MessageBox.Show("아이디 또는 비밀번호를 입력하세요.", "알림", MessageBoxButton.OK, MessageBoxImage.Error); } var MyRead = MysqlConn.ExecuteQuery("select name from user where id='" + idTb.Text + "' and pw='" + Sha512Hash(pwPb.Password.ToString()) + "'"); if (MyRead.Read()) { userName = MyRead["name"].ToString(); MessageBox.Show(userName + "님 환영합니다!", "알림", MessageBoxButton.OK); MyRead.Close(); ShowMealCtrl.Visibility = Visibility.Visible; //로그인 성공 이후 로직 구현. InitData(); } else { MessageBox.Show("로그인에 실패하였습니다.", "알림", MessageBoxButton.OK, MessageBoxImage.Error); MyRead.Close(); return; } }
private void GetMenu(int mealType) { var myRead = MysqlConn.ExecuteQuery("select * from meal natural join food where meal_date = '" + DateTime.Now.ToShortDateString() + "' and meal_type=" + mealType + ";"); string menuString = ""; while (myRead.Read()) { menuString += myRead["food_info"] + "\n"; } if (menuString == "") { return; } switch (mealType) { case 1: type1Tb.Text = menuString; break; case 2: type2Tb.Text = menuString; break; case 3: type3Tb.Text = menuString; break; } return; }
public override void Save(JToken jObject, string path) { foreach (JObject j in jObject) { Dictionary <string, string> selectWhere = new Dictionary <string, string>(); selectWhere.Add("addr", j["address"].ToString()); DataTable dt = MysqlConn.ExecuteDataSet("address", selectWhere).Tables[0]; if (dt.Rows.Count != 0) { Dictionary <string, string> dirs = new Dictionary <string, string>(); dirs.Add("lastuse", Helper.blockTime.ToString()); dirs.Add("txcount", (int.Parse(dt.Rows[0]["txcount"].ToString()) + 1) + ""); Dictionary <string, string> where = new Dictionary <string, string>(); where.Add("addr", dt.Rows[0]["addr"].ToString()); MysqlConn.Update("address", dirs, where); } else { JObject result = new JObject(); result["addr"] = j["address"]; result["firstuse"] = Helper.blockTime; result["lastuse"] = Helper.blockTime; result["txcount"] = 1; List <string> slist = new List <string>(); slist.Add(j["address"].ToString()); slist.Add(Helper.blockTime.ToString()); slist.Add(Helper.blockTime.ToString()); slist.Add("1"); MysqlConn.ExecuteDataInsert("address", slist); } } }
private void Button_Click_1(object sender, RoutedEventArgs e) { int mealIdx = 0; int a = MysqlConn.ExecuteNonQuery("insert into meal(meal_date, meal_type) values('" + DateTime.Now.ToShortDateString() + "', " + mealType + ");"); //mealIdx 찾아서 insert var myRead = MysqlConn.ExecuteQuery("select meal_idx from meal where meal_date ='" + DateTime.Now.ToShortDateString() + "' and meal_type = " + mealType + ";"); if (myRead.Read()) { mealIdx = Int32.Parse(myRead["meal_idx"].ToString()); } if (mealIdx == 0) { //에러 MessageBox.Show("알수없는 에러.", "알림", MessageBoxButton.OK, MessageBoxImage.Error); return; } string[] temp = tempTb.Text.ToString().Split(','); for (int i = 0; i < temp.Length; i++) { int b = MysqlConn.ExecuteNonQuery("insert into food(food_info, meal_idx) values('" + temp[i] + "', " + mealIdx + ");"); } MessageBox.Show("급식이 등록되었습니다.", "알림", MessageBoxButton.OK); tempTb.Text = ""; UpdateMeal?.Invoke(mealType); this.Visibility = Visibility.Collapsed; }
public JsonResult Practice_example(long pqid) { var dbq = db.paper_ques.Find(pqid); var back = dbq.question.qbase_chapter.background; DataSet[] res = null; if (back.db == "Kingbase") { var kingbaseconn = new KingbaseConn(); res = kingbaseconn.ShowBackGround(back.name); kingbaseconn.Dispose(); } else if (back.db == "Mysql") { var mysqlconn = new MysqlConn(); res = mysqlconn.ShowBackGround(back.name); mysqlconn.Dispose(); } else if (back.db == "MSSQL") { var mssqlconn = new MSSQLConn(); res = mssqlconn.ShowBackGround(back.name); mssqlconn.Dispose(); } else { res = new DataSet[0]; } int count = res.Count(); var tname = new List <string>(); var datas = new List <object[]>(); string[][] colnames = new string[count][]; for (int i = 0; i < count; i++) { var ds = res[i]; var colcount = ds.Tables[0].Columns.Count; tname.Add(ds.DataSetName); colnames[i] = new string[colcount]; int j = 0; foreach (DataColumn col in ds.Tables[0].Columns) { colnames[i][j] = new string(col.ColumnName.ToCharArray()); //colnames[i][j] += $"({col.GetType().ToString()})"; j++; } var data = ds.Tables[0].Rows[0].ItemArray; datas.Add(data); } var json = new { count, tname, datas, colnames }; return(Json(json, JsonRequestBehavior.AllowGet)); }
public override void Save(JToken jObject, string path) { JObject result = new JObject(); result["txid"] = jObject["txid"]; result["size"] = jObject["size"]; result["type"] = jObject["type"]; result["version"] = jObject["version"]; result["attributes"] = jObject["attributes"]; result["vin"] = jObject["vin"]; result["vout"] = jObject["vout"]; result["sys_fee"] = jObject["sys_fee"]; result["net_fee"] = jObject["net_fee"]; result["scripts"] = jObject["scripts"]; result["nonce"] = jObject["nonce"]; result["blockindex"] = Helper.blockHeight; List <string> slist = new List <string>(); slist.Add(result["txid"].ToString()); slist.Add(result["size"].ToString()); slist.Add(result["type"].ToString()); slist.Add(result["version"].ToString()); slist.Add(result["attributes"].ToString()); slist.Add(result["vin"].ToString()); slist.Add(result["vout"].ToString()); slist.Add(result["sys_fee"].ToString()); slist.Add(result["net_fee"].ToString()); slist.Add(result["scripts"].ToString()); slist.Add(result["nonce"].ToString()); slist.Add(Helper.blockHeight.ToString()); MysqlConn.ExecuteDataInsert("tx", slist); //File.Delete(path); //File.WriteAllText(path, result.ToString(), Encoding.UTF8); SaveAddress.getInstance().Save(result["vout"], null); SaveUTXO.getInstance().Save(result, null); var addressTransactionPath = "addressTransaction" + Path.DirectorySeparatorChar + result["txid"] + ".txt"; SaveAddressTransaction.getInstance().Save(result, addressTransactionPath); if (result["type"].ToString() == "RegisterTransaction") { var assetPath = "asset" + Path.DirectorySeparatorChar + result["txid"] + ".txt"; saveAsset(jObject, assetPath); } else if (result["type"].ToString() == "InvocationTransaction") { SaveNotify.getInstance().Save(result, null); } }
public Tuple <double, string> Judge_sql(question q, background back, string ans) { string username = (string)Session["account"]; ans = ans.ToUpper(); if (ans == "") { return(new Tuple <double, string>(0, "空字符")); } if (ans.Last() == ';') { ans = ans.Remove(ans.Length - 1); } string back_name = back.name; var res = new Tuple <string, bool>("暂不支持该数据库", false); if (back.db == "Kingbase") { KingbaseConn conn = new KingbaseConn(); res = conn.JudgeSql(username, q, ans, back_name); conn.Dispose(); } else if (back.db == "Mysql") { MysqlConn conn = new MysqlConn(username); res = conn.JudgeSql($"Student_{username}", q, ans, back_name); conn.Dispose(); } else if (back.db == "MSSQL") { MSSQLConn conn = new MSSQLConn(username); res = conn.JudgeSql($"Student_{username}", q, ans, back_name); conn.Dispose(); } double score = 0; string exc = ""; if (res.Item2 == true) { score = q.totvalue; exc = "congratulations!!"; score = 10; } else { ans += "&exit"; exc = res.Item1; var Dic = Server.MapPath("/flex"); var path = Server.MapPath($"/flex/exe/question{q.id}.exe"); score = double.Parse(tf.RunFlex(path, ans, Dic, username)); } return(new Tuple <double, string>(score, exc)); }
public override void Save(JToken jToken, string path) { string contract = jToken["assetid"].ToString(); Dictionary <string, string> where = new Dictionary <string, string>(); where.Add("assetid", contract); DataTable dt = MysqlConn.ExecuteDataSet("nep5asset", where).Tables[0]; if (dt.Rows.Count == 0) { Start(contract); } }
public override void Save(JToken jToken, string path) { List <string> slist = new List <string>(); slist.Add(jToken["blockindex"].ToString()); slist.Add(jToken["txid"].ToString()); slist.Add(jToken["n"].ToString()); slist.Add(jToken["asset"].ToString()); slist.Add(jToken["from"].ToString()); slist.Add(jToken["to"].ToString()); slist.Add(jToken["value"].ToString()); MysqlConn.ExecuteDataInsert("nep5transfer", slist); }
public JsonResult Sub_Ans(string ans, long pqid, long cost, string ecid) { ans = ans.Replace("\r\n", " "); ans = ans.Replace("###", "select"); ans = ans.Replace("!!!", "delete"); long id = (long)Session["id"]; string account = (string)Session["account"]; long ec_id = long.Parse(ecid); string username = (string)Session["account"]; var dbq = db.paper_ques.Find(pqid); var q = dbq.question; var back = q.qbase_chapter.background; string back_name = back.name; var log = new stu_ans_log(); var res = new Tuple <string, bool>("", false); if (back.db == "Kingbase") { KingbaseConn conn = new KingbaseConn(); res = conn.JudgeSql(username, q, ans, back_name); conn.Dispose(); } else if (back.db == "Mysql") { MysqlConn conn = new MysqlConn(username); res = conn.JudgeSql($"Student_{username}", q, ans, back_name); conn.Dispose(); } else if (back.db == "MSSQL") { MSSQLConn conn = new MSSQLConn(username); res = conn.JudgeSql($"Student_{username}", q, ans, back_name); conn.Dispose(); } log.ans = ans; log.paper_ques = dbq; log.stu_info = db.stu_info.Find(id); log.wronginfo = res.Item1; log.cost = new TimeSpan(cost); log.exam_class = db.exam_class.Find(ec_id); Save_Ans(ans, pqid, res.Item2); db.stu_ans_log.Add(log); db.SaveChanges(); var json = new { message = res.Item1, judge = res.Item2 }; return(Json(json, JsonRequestBehavior.AllowGet)); }
public void ChangeUTXO(string txid, string voutNum) { Dictionary <string, string> dirs = new Dictionary <string, string>(); dirs.Add("used", "1"); dirs.Add("useHeight", Helper.blockHeight.ToString()); Dictionary <string, string> where = new Dictionary <string, string>(); where.Add("txid", txid); where.Add("n", voutNum); MysqlConn.Update("utxo", dirs, where); //JObject result = JObject.Parse(File.ReadAllText(path, Encoding.UTF8)); //result["used"] = 1; //result["useHeight"] = Helper.blockHeight; //File.WriteAllText(path, result.ToString(), Encoding.UTF8); }
public async Task getNEP5Asset(Hash160 Contract) { ScriptBuilder sb = new ScriptBuilder(); MyJson.JsonNode_Array array = new MyJson.JsonNode_Array(); sb.EmitParamJson(array); sb.EmitPushString("totalSupply"); sb.EmitAppCall(Contract); sb.EmitParamJson(array); sb.EmitPushString("name"); sb.EmitAppCall(Contract); sb.EmitParamJson(array); sb.EmitPushString("symbol"); sb.EmitAppCall(Contract); sb.EmitParamJson(array); sb.EmitPushString("decimals"); sb.EmitAppCall(Contract); string scriptPublish = ThinNeo.Helper.Bytes2HexString(sb.ToArray()); byte[] postdata; var url = Helper.MakeRpcUrlPost(Helper.url, "invokescript", out postdata, new MyJson.JsonNode_ValueString(scriptPublish)); var result = await Helper.HttpPost(url, postdata); JObject jObject = JObject.Parse(result); JArray results = jObject["result"]["stack"] as JArray; string totalSupply = Encoding.UTF8.GetString(ThinNeo.Helper.HexString2Bytes(results[0]["value"].ToString())); string name = Encoding.UTF8.GetString(ThinNeo.Helper.HexString2Bytes(results[1]["value"].ToString())); string symbol = Encoding.UTF8.GetString(ThinNeo.Helper.HexString2Bytes(results[2]["value"].ToString())); string decimals = Encoding.UTF8.GetString(ThinNeo.Helper.HexString2Bytes(results[3]["value"].ToString())); List <string> slist = new List <string>(); slist.Add(Contract.ToString()); slist.Add(totalSupply); slist.Add(name); slist.Add(symbol); slist.Add(decimals); MysqlConn.ExecuteDataInsert("nep5asset", slist); }
public override void Save(JToken jObject, string path) { //JObject result = new JObject(); //result["txid"] = jObject["txid"]; //result["blockindex"] = Helper.blockHeight; //result["blocktime"] = Helper.blockTime; foreach (JObject vout in jObject["vout"]) { List <string> slist = new List <string>(); slist.Add(vout["address"].ToString()); slist.Add(jObject["txid"].ToString()); slist.Add(Helper.blockHeight.ToString()); slist.Add(Helper.blockTime.ToString()); MysqlConn.ExecuteDataInsert("address_tx", slist); } //File.Delete(path); //File.WriteAllText(path, result.ToString(), Encoding.UTF8); }
public override void Save(JToken jObject, string path) { JObject result = new JObject(); result["hash"] = jObject["hash"]; result["size"] = jObject["size"]; result["version"] = jObject["version"]; result["previousblockhash"] = jObject["previousblockhash"]; result["merkleroot"] = jObject["merkleroot"]; result["time"] = jObject["time"]; result["index"] = jObject["index"]; result["nonce"] = jObject["nonce"]; result["nextconsensus"] = jObject["nextconsensus"]; result["script"] = jObject["script"]; List <string> slist = new List <string>(); slist.Add(jObject["hash"].ToString()); slist.Add(jObject["size"].ToString()); slist.Add(jObject["version"].ToString()); slist.Add(jObject["previousblockhash"].ToString()); slist.Add(jObject["merkleroot"].ToString()); slist.Add(jObject["time"].ToString()); slist.Add(jObject["index"].ToString()); slist.Add(jObject["nonce"].ToString()); slist.Add(jObject["nextconsensus"].ToString()); slist.Add(jObject["script"].ToString()); slist.Add(jObject["tx"].ToString()); MysqlConn.ExecuteDataInsert("block", slist); Helper.blockTime = int.Parse(result["time"].ToString()); foreach (var tx in jObject["tx"]) { SaveTransaction.getInstance().Save(tx as JObject, null); } }
private void saveAsset(JToken jObject, string path) { JObject result = new JObject(); result["version"] = jObject["version"]; result["id"] = jObject["txid"]; result["type"] = jObject["asset"]["type"]; result["name"] = jObject["asset"]["name"]; result["amount"] = jObject["asset"]["amount"]; result["available"] = 1; result["precision"] = jObject["asset"]["precision"]; result["owner"] = jObject["asset"]["owner"]; result["admin"] = jObject["asset"]["admin"]; result["issuer"] = 1; result["expiration"] = 0; result["frozen"] = 0; List <string> slist = new List <string>(); slist.Add(result["version"].ToString()); slist.Add(result["id"].ToString()); slist.Add(result["type"].ToString()); slist.Add(result["name"].ToString()); slist.Add(result["amount"].ToString()); slist.Add(result["available"].ToString()); slist.Add(result["precision"].ToString()); slist.Add(result["owner"].ToString()); slist.Add(result["admin"].ToString()); slist.Add(result["issuer"].ToString()); slist.Add(result["expiration"].ToString()); slist.Add(result["frozen"].ToString()); MysqlConn.ExecuteDataInsert("asset", slist); //File.Delete(path); //File.WriteAllText(path, result.ToString(), Encoding.UTF8); }
public override void Save(JToken jObject, string path) { foreach (JObject vout in jObject["vout"]) { JObject result = new JObject(); result["addr"] = vout["address"]; result["txid"] = jObject["txid"]; result["n"] = vout["n"]; result["asset"] = vout["asset"]; result["value"] = vout["value"]; result["createHeight"] = Helper.blockHeight; result["used"] = 0; result["useHeight"] = 0; result["claimed"] = ""; List <string> slist = new List <string>(); slist.Add(result["addr"].ToString()); slist.Add(result["txid"].ToString()); slist.Add(result["n"].ToString()); slist.Add(result["asset"].ToString()); slist.Add(result["value"].ToString()); slist.Add(result["createHeight"].ToString()); slist.Add(result["used"].ToString()); slist.Add(result["useHeight"].ToString()); slist.Add(result["claimed"].ToString()); MysqlConn.ExecuteDataInsert("utxo", slist); //var utxoPath = "utxo" + Path.DirectorySeparatorChar + result["txid"] + "_" + result["n"] + "_" + result["addr"] + ".txt"; //File.Delete(utxoPath); //File.WriteAllText(utxoPath, result.ToString(), Encoding.UTF8); } foreach (JObject vin in jObject["vin"]) { ChangeUTXO(vin["txid"].ToString(), vin["vout"].ToString()); } }
public override void Save(JToken jToken, string path) { JToken result = null; try { var getUrl = Helper.url + "?jsonrpc=2.0&id=1&method=getapplicationlog¶ms=[" + jToken["txid"] + "]"; var info = wc.DownloadString(getUrl); var json = JObject.Parse(info); result = json["result"]; } catch (Exception e) { LogHelper.printLog("txid " + jToken["txid"] + " has 500"); } if (result != null) { JObject jObject = new JObject(); jObject["txid"] = jToken["txid"]; jObject["vmstate"] = result["vmstate"]; jObject["gas_consumed"] = result["gas_consumed"]; jObject["stack"] = result["stack"]; jObject["notifications"] = result["notifications"]; jObject["blockindex"] = Helper.blockHeight; List <string> slist = new List <string>(); slist.Add(jToken["txid"].ToString()); slist.Add(result["vmstate"].ToString()); slist.Add(result["gas_consumed"].ToString()); slist.Add(result["stack"].ToString()); slist.Add(result["notifications"].ToString()); slist.Add(Helper.blockHeight.ToString()); MysqlConn.ExecuteDataInsert("notify", slist); var notifyPath = "notify" + Path.DirectorySeparatorChar + result["txid"] + "_" + result["n"] + ".txt"; File.Delete(notifyPath); File.WriteAllText(notifyPath, jObject.ToString(), Encoding.UTF8); foreach (JObject notify in jObject["notifications"]) { if (notify["state"]["value"][0]["type"].ToString() == "ByteArray") { string transfer = Encoding.UTF8.GetString(Helper.HexString2Bytes(notify["state"]["value"][0]["value"].ToString())); string contract = notify["contract"].ToString(); if (transfer == "transfer") { JObject nep5 = new JObject(); nep5["assetid"] = contract; SaveNEP5Asset.getInstance().Save(nep5, null); //存储Nep5Transfer内容 JObject tx = new JObject(); tx["blockindex"] = Helper.blockHeight; tx["txid"] = jToken["txid"].ToString(); tx["n"] = 0; tx["asset"] = contract; tx["from"] = Encoding.UTF8.GetString(Helper.HexString2Bytes(notify["state"]["value"][1]["value"].ToString())); tx["to"] = Encoding.UTF8.GetString(Helper.HexString2Bytes(notify["state"]["value"][2]["value"].ToString())); tx["value"] = Encoding.UTF8.GetString(Helper.HexString2Bytes(notify["state"]["value"][3]["value"].ToString())); SaveNEP5Transfer.getInstance().Save(tx, null); } } } } }