Esempio n. 1
0
        private void onExamCarChangeMessage(ExamCarChangeMessage message)
        {
            var examCar = message.ExamCar;
            var control = GetCarExamControl(examCar.Position);

            control.Position = examCar.Position;
            control.IDCard   = examCar.ExamStudent.IdCard;
            //把这个车辆位置信息更新到内存中

            if (lstPosition.Where(s => s.Key == examCar.Position).Count() >= 0)
            {
                var Item = lstPosition.Where(s => s.Key == examCar.Position).FirstOrDefault();
                lstPosition.Remove(Item);
                var newItem = new KeyValuePair <int, string>(examCar.Position, examCar.ExamStudent.IdCard);
                lstPosition.Add(newItem);
            }
            else
            {
                var newItem = new KeyValuePair <int, string>(examCar.Position, examCar.ExamStudent.IdCard);
                lstPosition.Add(newItem);
            }



            control.updateExamCarInfo(message);
        }
Esempio n. 2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            //同一个人不能绑定两个车
            var IdCard = cmbExamStudent.Text.Split(',')[1];

            var examCarID        = Convert.ToInt32(txtID.Text);
            var otherCarEntities = examCarRepository.LoadEntities(s => s.Id != examCarID && s.ExamStudent.IdCard == IdCard);

            if (otherCarEntities.Count() > 0)
            {
                foreach (var item in otherCarEntities)
                {
                    item.ExamStudentId = null;
                    examCarRepository.UpdateEntity(item);
                }
            }
            var examstudent = examStudentRepository.LoadEntitiy(s => s.IdCard == IdCard);
            // 其实还需要一个ID
            ExamCar examCar = examCarRepository.LoadEntitiy(s => s.Id == examCarID);

            examCar.Ip            = txtIP.Text.ToString();
            examCar.Port          = Convert.ToInt32(txtPort.Text);
            examCar.ExamStudentId = examstudent.Id;
            examCar.LicensePlate  = txtLicensePlate.Text;
            examCarRepository.UpdateEntity(examCar);

            message = new ExamCarChangeMessage(examCar);
            //发送消息
            Messenger.Send <ExamCarChangeMessage>(message);
            //更新之后刷新列表
            //发送消息
            BindExamCar();

            MessageBox.Show("修改成功", "车辆管理");
        }
Esempio n. 3
0
        //IP 地址201 620A
        private void btnSave_Click(object sender, EventArgs e)
        {
            //要不直接执行Sql 更新?
            //不在使用EF更新?
            //同一个人不能绑定两个车
            var IdCard = cmbExamStudent.Text.Split(',')[1];

            var examCarID       = Convert.ToInt32(txtID.Text);
            var otherCarEntitiy = examCarRepository.LoadEntities(s => s.Id != examCarID && s.ExamStudent.IdCard == IdCard).FirstOrDefault();;

            //todo:设计Bug
            //如果这个学员有绑定其他车辆 那么这个学员 怎么办?
            //如果我删除关系会怎么样?
            //如果这个人选中路
            //todo:bug 在这点
            //可以这样添加一个学员车辆关系表
            //这样就可以知道学员那辆车了
            //其实我只要解决了更新头像Bug就可以了
            //这样还是会更新下//
            if (otherCarEntitiy != null)
            {
                otherCarEntitiy.ExamStudentId = null;
                examCarRepository.UpdateEntity(otherCarEntitiy);
            }



            //其实这点不需要取查询了
            var examstudent = examStudentRepository.LoadEntitiy(s => s.IdCard == IdCard);
            // 其实还需要一个ID
            // 如果我不执行更新操作 //会怎么样?
            ExamCar examCar = examCarRepository.LoadEntitiy(s => s.Id == examCarID);

            examCar.Ip            = txtIP.Text.ToString();
            examCar.Port          = Convert.ToInt32(txtPort.Text);
            examCar.ExamStudentId = examstudent.Id;
            examCar.LicensePlate  = txtLicensePlate.Text;
            examCar.ExamStudent   = examstudent;
            examCarRepository.UpdateEntity(examCar);

            message = new ExamCarChangeMessage(examCar);
            //发送消息
            Messenger.Send <ExamCarChangeMessage>(message);
            //更新之后刷新列表
            //发送消息
            BindExamCar();

            MessageBox.Show("修改成功", "车辆管理");
        }
Esempio n. 4
0
        private void onExamCarChangeMessage(ExamCarChangeMessage message)
        {
            var examCar = message.ExamCar;
            var control = GetCarExamControl(examCar.Position);

            control.Position     = examCar.Position;
            control.LicensePlate = examCar.LicensePlate;
            control.IDCard       = examCar.ExamStudent.IdCard;
            //把这个车辆位置信息更新到内存中
            if (lstPosition.Where(s => s.Key == examCar.Position).Count() >= 0)
            {
                var Item = lstPosition.Where(s => s.Key == examCar.Position).FirstOrDefault();
                lstPosition.Remove(Item);
            }
            var newItem = new KeyValuePair <int, string>(examCar.Position, examCar.ExamStudent.IdCard);

            lstPosition.Add(newItem);
            carSignal.CreateSendSocket(examCar.Ip, examCar.Port, examCar.Position);
            //如果主程需收到消息 //就需要更新
            control.updateExamCarInfo(message);
        }
Esempio n. 5
0
        /// <summary>
        /// 接收到考试车辆发送改变消息
        /// </summary>
        /// <param name="message"></param>
        public void updateExamCarInfo(ExamCarChangeMessage message)
        {
            CurrentExamCar = message.ExamCar;
            var examStudent = message.ExamCar.ExamStudent;

            lblNameStatusScore.Text     = string.Format("姓名:{0}   状态:初考   成绩:100分", examStudent.Name);
            lblIdCard.Text              = string.Format("身份证号码:{0}", examStudent.IdCard);
            lblLicensePlateUseTime.Text = string.Format("车牌:{0}  用时:00:00:00 ", message.ExamCar.LicensePlate);
            lblSensor.Text              = "车速:0 Km/h 转速:0Rpm 卫星:0 精度:0 纬度:0 里程:0米";
            IDCard       = examStudent.IdCard;
            LicensePlate = message.ExamCar.LicensePlate;

            if (examStudent.IDCardImage != null)
            {
                var Image = BytesToImage(examStudent.IDCardImage);
                PictureBoxIDCard.Image = Image;
            }

            //更新头像

            Init();
        }
Esempio n. 6
0
        /// <summary>
        /// 接收到考试车辆发送改变消息
        /// </summary>
        /// <param name="message"></param>
        public void updateExamCarInfo(ExamCarChangeMessage message)
        {
            var examStudent = message.ExamCar.ExamStudent;

            updateExamCarInfo(examStudent, message.ExamCar);
        }