コード例 #1
0
        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;
                }
            }
        }
コード例 #2
0
        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;
                }
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: CommLister.cs プロジェクト: radtek/EUG
        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;
            }
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: PostmanTBEntryPGInfo.cs プロジェクト: radtek/EUGV2
        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);
                }
            }
        }
コード例 #8
0
ファイル: CustomerTBVerify.cs プロジェクト: radtek/EUGV2
        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);
        }
コード例 #9
0
        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());
            }
        }
コード例 #10
0
 private void GetInfoLogic()
 {
     this.state = this.serverService.GetBroadcastMessage(AboutConfig.GetInstance().GetAbout());
 }