Exemple #1
0
 public void ShowCtrlH()
 {
     this.Hide();
     timer1.Enabled = false;
     this.Close();
     Model.OpReceivedTime = TaxiReturn_Process.timerServer;
     //Model.OpAcceptedTime = Model.OpReceivedTime;
     Model.OpReceivedUser = ThongTinDangNhap.USER_ID;
     //Model.OpAcceptedUser = ThongTinDangNhap.USER_ID;
     Model.OpReceived(Model.PK_BooID, Model.OpReceivedUser);
     TaxiReturn_Process.OperationHasReceive(Model.PK_BooID, ThongTinCauHinh.GPS_MaCungXN.To <int>());
     new frmKhachCanXe(true, Model).ShowDialog();
 }
Exemple #2
0
 private void btnHienThi_Click(object sender, System.EventArgs e)
 {
     try
     {
         if (Model == null)
         {
             Close();
             return;
         }
         if (frmKhachCanXe.IsOpenStatic)
         {
             Model.OpReceived(Model.PK_BooID, ThongTinDangNhap.USER_ID);
             TaxiReturn_Process.OperationHasReceive(Model.PK_BooID, ThongTinCauHinh.GPS_MaCungXN.To <int>());
         }
         else
         {
             ShowCtrlH();
         }
     }
     catch (System.Exception ex)
     {
         new Log().WriteLog(ThongTinDangNhap.USER_ID, "btnHienThi_Click", DateTime.Now, ex.Message);
     }
 }
Exemple #3
0
        private void layDuLieuThayDoi_Tick(object sender, EventArgs e)
        {
            _timeXoaDuLieu++;
            try
            {
                if (DuLieu == null)
                {
                    DuLieu = new List <Booking>();
                }
                if (_iSearch > 0)
                {
                    //  _iSearch--;
                }
                else if (_iSearch == 0)
                {
                    shGridControl_Bookings.DataSource = DuLieu;
                    shGridControl_Bookings.RefreshDataSource();
                    _iSearch = -1;
                }
                var data = Booking.Inst.GetByDateTime(ThongTinCauHinh.CacLineCuaTaxiOperation, _thoiDiemTruocLayDuLieu);

                if (data != null && data.Count > 0)
                {
                    TaxiReturn_Process.timerServer = DieuHanhTaxi.GetTimeServer();
                    _thoiDiemTruocLayDuLieu        = TaxiReturn_Process.timerServer;
                    //Kiểm tra là trạng thái chấp nhận,đã đón khách,chờ xử lý thì thêm và cập nhận lại.
                    data.Where(p => !DieuKienXoa(p)).ToList().ForEach(p =>
                    {
                        var dl = DuLieu.FirstOrDefault(pi => pi.PK_BooID == p.PK_BooID);
                        if (dl != null)
                        {
                            dl.CopyPropertyValue(p, p.GetPropertiesName());
                        }
                        else
                        {
                            if (p.FK_TaxiReturn == 0 && p.OpStatus == (int)Enum_Bookings_OpStatus.ChoXuLy)
                            {
                                var control = this.ActiveControl;
                                if (this.ParentForm != null)
                                {
                                    control = this.ParentForm.ActiveControl;
                                }
                                if (!string.IsNullOrEmpty(ThongTinDangNhap.USER_ID) && ThongTinDangNhap.HasPermission(StaxiPermission.GhepXeChieuVe))
                                {
                                    FrmThongTin = new frmInfo();
                                    FrmThongTin.SetModel(p);
                                    FrmThongTin.Show();
                                }
                                bool check = false;
                                foreach (Form item in Application.OpenForms)
                                {
                                    if (item.Visible && item is frmKhachCanXe)
                                    {
                                        item.Focus();
                                        item.Activate();
                                        check = true;
                                    }
                                }
                                if (!check && control != null)
                                {
                                    control.Focus();
                                }
                            }
                            else
                            {
                                if (p.OpReceivedTime == null)
                                {
                                    p.OpReceived(p.PK_BooID, ThongTinDangNhap.USER_ID);
                                    TaxiReturn_Process.OperationHasReceive(p.PK_BooID, ThongTinCauHinh.GPS_MaCungXN.To <int>());
                                }
                            }
                            DuLieu.Insert(0, p);
                        }
                    });
                    //kiểm tra xem đã kết thúc và xóa khỏi lưới.
                    data.Where(DieuKienXoa).ToList().ForEach(p =>
                    {
                        var dl = DuLieu.FirstOrDefault(pi => pi.PK_BooID == p.PK_BooID);
                        if (dl != null)
                        {
                            DuLieu.Remove(dl);
                        }
                    });
                    if (_iSearch == -1)
                    {
                        shGridControl_Bookings.DataSource = DuLieu;
                        shGridControl_Bookings.RefreshDataSource();
                    }
                    //  DuLieu = DuLieu.OrderBy(p => p.CreatedDate).ToList();
                }
                //Duyệt các cuốc xe thời gian đã hết chưa và thực hiện dấu số điện thoại.
                DuLieu.ForEach(p =>
                {
                    if (p.OpStatus == (int)Enum_Bookings_OpStatus.ChapNhan || p.OpStatus == (int)Enum_Bookings_OpStatus.DaDonKhach)
                    {
                        p.Mobile_ThoiGian = p.Mobile;
                    }
                    else if (p.OpStatus == (int)Enum_Bookings_OpStatus.ChoXuLy)
                    {
                        if (IsDieuXe)
                        {
                            if (string.IsNullOrEmpty(p.OpCommand))
                            {
                                var dt = p.OpReceivedTime ?? p.CreatedDate;
                                //Trạng thái số phút còn lại thực hiện
                                int val = ((p.OpReceivedTime == null ? 1 : 5) * 60) - (int)(TaxiReturn_Process.timerServer - dt.Value).TotalSeconds;
                                // nếu hết thời gian sẽ cập nhật là không xử lý.
                                if (val <= 0)
                                {
                                    //p.OpStatus = (int)Enum_Bookings_OpStatus.KhongXuLy;
                                    //p.OpAcceptedUser = ThongTinDangNhap.USER_ID;
                                    //p.OpAcceptedTime = TaxiReturn_Process.timerServer;
                                    p.UpdateStatus(p.PK_BooID, Enum_Bookings_OpStatus.KhongXuLy, ThongTinDangNhap.USER_ID);
                                    DuLieu.Remove(p);
                                }
                                else
                                {
                                    int sophut        = (val / 60);
                                    int soGiay        = val - sophut * 60;
                                    p.Mobile_ThoiGian = string.Format("Còn lại {0}:{1}", sophut, soGiay);
                                }
                            }
                            else
                            {
                                p.Mobile_ThoiGian = string.Empty;
                            }
                        }
                        else
                        {
                            p.Mobile_ThoiGian = string.Empty;
                        }
                    }

                    else
                    {
                        p.Mobile_ThoiGian = string.Empty;
                    }
                });

                if (_timeXoaDuLieu >= 3)
                {
                    _timeXoaDuLieu = 0;
                    if (DuLieu.Count > 0)
                    {
                        string lsId = string.Empty;
                        DuLieu.ForEach(p => lsId += string.Format("{0},", p.PK_BooID));
                        var lsDelete = Booking.Inst.GetDataDelete(lsId);
                        DuLieu.Where(p => lsDelete.Any(pi => pi == p.PK_BooID)).ToList().ForEach(p => {
                            p.OpReceivedTime = DateTime.Now;
                            DuLieu.Remove(p);
                        });
                    }
                    //DuLieu = DuLieu.OrderBy(p => p.CreatedDate).ToList();
                }
                shGridControl_Bookings.RefreshDataSource();
                //int index = gridView_Bookings.FocusedRowHandle;
                //shGridControl_Bookings.DataSource = DuLieu.Where(DieuKienTimKiem).ToList();
                //if (index < gridView_Bookings.RowCount) gridView_Bookings.FocusedRowHandle = index;
            }
            catch (Exception ex)
            {
                new Log().WriteLog(ThongTinDangNhap.USER_ID, "ctrlListBook\\layDuLieuThayDoi_Tick", DateTime.Now, ex.Message);
            }
        }