private void timerMain_Tick(object sender, EventArgs e) { ServerCallback3 sc = this.infoCenterLister.State; string info = "欢迎使用德瑞纳智能快递柜,祝您今天生活愉快!"; if (sc == null) { this.labelXInfo.Text = info; labelXInfo.Left = 106; } else { if (sc.Success) { this.labelXInfo.Text = sc.Message; if (labelXInfo.Left > -this.labelXInfo.Width) { labelXInfo.Left = labelXInfo.Left - 3; } else { labelXInfo.Left = this.Width; } } else { this.labelXInfo.Text = info; labelXInfo.Left = 106; } } }
private void InfromationShow() { ServerCallback3 sc = this.infoCenterLister.State; string info = "欢迎使用德瑞纳智能快递柜,祝您今天生活愉快!"; if (sc == null) { this.labelMessage.Text = info; labelMessage.Left = 106; } else { if (sc.Success) { this.labelMessage.Text = sc.Message; if (labelMessage.Left > -this.labelMessage.Width) { labelMessage.Left = labelMessage.Left - 3; } else { labelMessage.Left = this.Width; } } else { this.labelMessage.Text = info; labelMessage.Left = 106; } } }
public ServerCallback3 ServiceShakeHand(About about, IDictionary <string, string> dic) { ServerCallback3 sc = new ServerCallback3(); string loginUrl = about.ServerUrl; Encoding encoding = Encoding.GetEncoding("gb2312"); IDictionary <string, string> parameters = new Dictionary <string, string>(); string datetime = UnixTime.ConvertDateTimeToUnixTime(DateTime.Now).ToString(); string token = CMD5.UserMd5(about.CabinetCode) + CMD5.UserMd5(datetime); parameters.Add("cabinetCode", about.CabinetCode); parameters.Add("datetime", datetime); parameters.Add("c", "Security"); parameters.Add("a", "hiCabinet"); if (dic != null) { StringBuilder cabinetStatus = new StringBuilder(); cabinetStatus.Append("{"); cabinetStatus.Append(dic["camera"]); cabinetStatus.Append(","); cabinetStatus.Append(dic["comcard"]); cabinetStatus.Append("}"); parameters.Add("cabinetStatus", cabinetStatus.ToString()); } try { string result = ""; using (HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, timeoutMSecond, null, encoding, null)) { string cookieString = response.Headers["Set-Cookie"]; using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8)) { result = reader.ReadToEnd(); } } StringReader sr = new StringReader(result); JsonSerializer serializer = new JsonSerializer(); try { sc = (ServerCallback3)serializer.Deserialize(new JsonTextReader(sr), typeof(ServerCallback3)); } catch (Exception e) { CLog4net.LogError(e.ToString()); } CLog4net.LogInfo("服务器连接:" + result); } catch (Exception e) { CLog4net.LogError("ServiceShakeHand" + e); } return(sc); }
private void ServerSateListenLogic() { this.state = this.serverService.ServiceShakeHand(AboutConfig.GetInstance().GetAbout(), GetDevicesStatus()); if (this.state == null || this.state.Success == false) { CemmberData.Instance.IsServerConnectFail = true; } else { CemmberData.Instance.IsServerConnectFail = false; } }
private bool CreatePG() { ServerCallback3 serviceShakeHand = frmMain.serverService.ServiceShakeHand(frmMain.about, null); if (serviceShakeHand.Success == false) { frmMain.ShowSystemPromptMessage("网络或者服务器连接失败,请稍后再试"); frmMain.voiceService.BroadcastOnce("网络或者服务器连接失败,请稍后再试"); CLog4net.LogInfo("网络或者服务器连接异常"); return(false); } //创建包裹 Package p = frmMain.packageManager.CreatePackage(courier.Code, courier.CompanyName, sn, telNum, checkedBox); ServerCallback serverConnect = frmMain.serverService.PackageCreate(p, frmMain.about); if (serverConnect.Success) { //拍照 bool issuccess = frmMain.cameraService.TakePicture(); CLog4net.LogInfo("拍照是否成功:" + issuccess.ToString()); frmMain.boxsManager.UserBox(checkedBox.Code); frmMain.packageManager.CreatePackageSuccess(p); CLog4net.LogInfo("创建包裹成功"); return(true); } else { /** * 包裹发送到服务器失败,该次操作不成功 * */ if (serverConnect.Message != null && serverConnect.Message != "") { frmMain.ShowSystemPromptMessage(serverConnect.Message); frmMain.voiceService.BroadcastOnce(serverConnect.Message); CLog4net.LogInfo(serverConnect.Message); } else { frmMain.ShowSystemPromptMessage("网络或者服务器连接失败,请稍后再试"); frmMain.voiceService.BroadcastOnce("网络或者服务器连接失败,请稍后再试"); CLog4net.LogInfo("包裹发送到服务器失败"); } return(false); } }
public ServerCallback3 ManagerDeletePackage(string boxCode, About about) { ServerCallback3 sc = new ServerCallback3(); string loginUrl = about.ServerUrl; Encoding encoding = Encoding.GetEncoding("gb2312"); IDictionary <string, string> parameters = new Dictionary <string, string>(); string datetime = UnixTime.ConvertDateTimeToUnixTime(DateTime.Now).ToString(); string token = CMD5.UserMd5(boxCode) + CMD5.UserMd5(datetime) + CMD5.UserMd5(CMD5.UserMd5(about.CabinetCode)); parameters.Add("token", CMD5.UserMd5(token)); parameters.Add("box", boxCode); parameters.Add("cabinetCode", about.CabinetCode); parameters.Add("datetime", datetime); parameters.Add("c", "Admin"); parameters.Add("a", "openbox"); try { string result = ""; using (HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, timeoutMSecond, null, encoding, null)) { string cookieString = response.Headers["Set-Cookie"]; using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8)) { result = reader.ReadToEnd(); } } StringReader sr = new StringReader(result); JsonSerializer serializer = new JsonSerializer(); try { sc = (ServerCallback3)serializer.Deserialize(new JsonTextReader(sr), typeof(ServerCallback3)); } catch (Exception e) { sc = null; CLog4net.LogError(e.ToString()); } CLog4net.LogInfo("服务器连接:" + result); } catch (Exception e) { CLog4net.LogError("ManagerDeletePackage " + e); } return(sc); }
private bool PGTakeback() { //快递单号存入数据库(要不要进行检查?) string TrackingNum = this.textPGCode.Text.Trim(); if (TrackingNum.Equals("")) { frmMain.ShowSystemPromptMessage("快递单号不能为空"); CLog4net.LogInfo("快递单号不能为空"); return(false); } else { //与服务器握手检测当前连接状态 ServerCallback3 serviceShakeHand = frmMain.serverService.ServiceShakeHand(frmMain.about, null); if (serviceShakeHand.Success == false) { frmMain.ShowSystemPromptMessage("网络或者服务器连接失败,请稍后再试"); frmMain.voiceService.BroadcastOnce("网络或者服务器连接失败,请稍后再试"); CLog4net.LogInfo("网络或者服务器连接异常"); return(false); } ServerCallback sc = frmMain.serverService.CourierTackBack(TrackingNum, courier, frmMain.about); if (sc.Success) { //拍照 bool issuccess = frmMain.cameraService.TakePicture(); CLog4net.LogInfo("拍照是否成功:" + issuccess.ToString()); int boxcode = -1; try { boxcode = Convert.ToInt32(sc.BoxCode); } catch (Exception err) { CLog4net.LogError("输入快递单号后的事件" + sc.BoxCode + err); } this.box = frmMain.boxsManager.Find(boxcode); if (box.Open()) { frmMain.packageManager.TakePackage(boxcode, 1); frmMain.boxsManager.ClearBox(boxcode); } else { frmMain.voiceService.BroadcastOnce("开柜失败"); frmMain.ShowSystemPromptMessage("如果储物柜无法打开,请联系管理员"); CLog4net.LogInfo("如果储物柜无法打开,请联系管理员"); return(false); } //int sn = Convert.ToInt32(TrackingNum); //查找到包裹 Package p = frmMain.packageManager.FindPackageBySN(TrackingNum); if (p == null) { CLog4net.LogInfo("没有这个包裹,请联系管理员:" + TrackingNum); } else { if (p.Place.Code != box.Code) { CLog4net.LogError("单号" + TrackingNum + ",服务器与客户端查询箱子不一致,服务器boxcode:" + sc.BoxCode + " 客户端boxcode:" + p.Place.Code + " 快递号:" + p.SN); } } //跳转下一页 return(true); } else { if (sc.Message == null) { frmMain.voiceService.BroadcastOnce("网络或者服务器连接失败,请稍后再试"); frmMain.ShowSystemPromptMessage("网络或者服务器连接失败,请稍后再试"); CLog4net.LogInfo("服务器连接异常"); } else { if (sc.Message != "") { frmMain.voiceService.BroadcastOnce(sc.Message); frmMain.ShowSystemPromptMessage(sc.Message); CLog4net.LogInfo(sc.Message); } else { frmMain.voiceService.BroadcastOnce("未找到此包裹,请联系管理员"); frmMain.ShowSystemPromptMessage("没有这个包裹,请联系管理员"); CLog4net.LogInfo("没有这个包裹,请联系管理员"); } } return(false); } } }
private bool PasswordVerify() { //验证密码 string password = this.textBoxPassword.Text.Trim(); //校验不能为空 if (password.Equals("")) { frmMain.ShowSystemPromptMessage("密码不能为空"); } else { ServerCallback3 serviceShakeHand = frmMain.serverService.ServiceShakeHand(frmMain.about, null); if (serviceShakeHand.Success == false) { frmMain.ShowSystemPromptMessage("网络或者服务器连接失败,请稍后再试"); frmMain.voiceService.BroadcastOnce("网络或者服务器连接失败,请稍后再试"); CLog4net.LogInfo("网络或者服务器连接异常"); } ServerCallback callback = frmMain.serverService.RceiverLogin(password, frmMain.about); if (callback.Success) { bool issuccess = frmMain.cameraService.TakePicture(); CLog4net.LogInfo("拍照是否成功:" + issuccess.ToString()); int tempcode = 0; try { tempcode = Convert.ToInt32(callback.BoxCode); } catch (Exception err) { CLog4net.LogError("inputPwdPanel1_confirmEvent callback.BoxCode" + callback.BoxCode + " " + err); } //开箱 this.box = frmMain.boxsManager.Find(tempcode); if (box.Open()) { frmMain.boxsManager.ClearBox(tempcode); CLog4net.LogInfo("取件成功"); Package package = frmMain.packageManager.TakePackage(callback); if (package != null) { //拍照 if (package.Place.Code != box.Code) { CLog4net.LogError("服务器与客户端查询箱子不一致,服务器boxcode:" + callback.BoxCode + " 客户端boxcode:" + package.Place.Code + " 快递号:" + package.SN); } } else { CLog4net.LogInfo("服务器与客户端查询箱子不一致:" + callback.BoxCode); } return(true); } else { frmMain.voiceService.BroadcastOnce("开柜失败"); frmMain.ShowSystemPromptMessage("如果储物柜无法打开,请联系管理员"); CLog4net.LogInfo("如果储物柜无法打开,请联系管理员:" + tempcode); } } else { if (callback.Message == null) { frmMain.ShowSystemPromptMessage("网络或者服务器连接失败,请稍后再试"); frmMain.voiceService.BroadcastOnce("网络或者服务器连接失败,请稍后再试"); CLog4net.LogInfo("网络或者服务器连接异常"); } else { if (callback.Message != "") { frmMain.ShowSystemPromptMessage(callback.Message); frmMain.voiceService.BroadcastOnce(callback.Message); CLog4net.LogInfo(callback.Message); } else { frmMain.ShowSystemPromptMessage("取件密码错误"); frmMain.voiceService.BroadcastOnce("密码错误"); CLog4net.LogInfo("取件密码错误"); } } } } return(false); }
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { int code = (int)dataGridView1.Rows[e.RowIndex].Cells["code"].Value; //openbox if (e.ColumnIndex == 5) { bool issuccess = bm.Find(code).Open(); UpdateData(); CLog4net.LogInfo("管理员开箱:" + code); } //删包裹 if (e.ColumnIndex == 6) { DataGridViewDisableButtonCell btnCell = (DataGridViewDisableButtonCell)dataGridView1.Rows[e.RowIndex].Cells[deletePackageColName]; if (btnCell.Enabled) { DialogResult dr = MessageBox.Show("确认操作", "Information", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); if (dr == DialogResult.Cancel) { return; } BoxsManager.GetInstance().ClearBox(code); //MessageBox.Show(issuccess.ToString()); UpdateData(); bool issuccess = pm.TakePackage(code, 2); CLog4net.LogInfo("管理员删除包裹:" + code + " success:" + issuccess); ServerCallback3 sc = serverService.ManagerDeletePackage(code.ToString(), AboutConfig.GetInstance().GetAbout()); if (!sc.Success) { CLog4net.LogInfo("管理员删除包裹失败:" + code + " 服务器信息:" + sc.Message); //return; //如果是因为服务器找不到需要删除的包裹,删包裹失败返回,那么客户端箱子将永远不能清空; } } } //disable box if (e.ColumnIndex == 7) { DialogResult dr = MessageBox.Show("确认操作", "Information", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); if (dr == DialogResult.Cancel) { return; } //DataGridViewDisableButtonCell btnCell = (DataGridViewDisableButtonCell)dataGridView1.Rows[e.RowIndex].Cells["open"]; if (bm.Find(code).CurrentState == Box.State.Fault) { bm.EnableBox(code); //btnCell.Enabled = true; UpdateData(); CLog4net.LogInfo("管理员启用箱子:" + code); } else { bm.DisableBox(code); UpdateData(); CLog4net.LogInfo("管理员停用箱子:" + code); } } } catch (Exception ex) { CLog4net.LogError("管理员操作异常:" + ex.ToString()); } }
private void GetInfoLogic() { this.state = this.serverService.GetBroadcastMessage(AboutConfig.GetInstance().GetAbout()); }