示例#1
0
        void frmPlotDriver_Shown(object sender, EventArgs e)
        {
            if (IsPlotting)
            {
                if (AppVars.objPolicyConfiguration.EnablePDA.ToBool())
                {
                    ComboFunctions.FillFreezePlottedDriverNoCombo(ddl_Driver);
                }
                else
                {
                    ComboFunctions.FillDriverNoCombo(ddl_Driver);
                }

                ComboFunctions.FillZonesPlottedCombo(ddlZone);
                ComboFunctions.FillVehicleCombo(ddlVehicle);
            }
            else
            {
                Pg_Ordering.Item.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
                Pg_Main.Text = "Un-Plot";

                ddlZone.Enabled    = false;
                ddlVehicle.Enabled = false;
                lblZone.Enabled    = false;

                var list1 = General.GetQueryable <Fleet_DriverQueueList>(a => a.DriverId != null && a.Status == true);

                var query = from a in list1

                            orderby a.QueueDateTime
                            select new
                {
                    Id       = a.Id,
                    DriverNo = a.Fleet_Driver.DriverNo + " - " + a.Fleet_Driver.DriverName,
                };

                ComboFunctions.FillCombo(query.ToList(), ddl_Driver, "DriverNo", "Id");
            }

            ddl_Driver.RootElement.Focus();
            ddl_Driver.RootElement.Children[0].Focus();

            IsFormLoaded = true;


            if (DriverId != 0)
            {
                DriverQueueBO objMaster = new DriverQueueBO();
                objMaster.GetByPrimaryKey(DriverId);

                ddl_Driver.SelectedValue = objMaster.Current.DriverId.ToInt();
                ddlZone.SelectedValue    = objMaster.Current.ZoneId.ToInt();
                ddlVehicle.SelectedValue = objMaster.Current.FleetMasterId.ToInt();
            }
        }
示例#2
0
        private void btnSaveOrder_Click(object sender, EventArgs e)
        {
            DriverQueueBO objBO = new DriverQueueBO();

            objBO.CheckDataValidation = false;
            try
            {
                int cnt = 0;
                foreach (RadListDataItem item in lstOrderedDrvs.Items)
                {
                    objBO.GetByPrimaryKey(item.Value);

                    if (objBO.Current != null)
                    {
                        cnt += 10;

                        objBO.Current.QueueDateTime = DateTime.Now.AddMilliseconds(cnt);

                        objBO.Save();
                    }
                }

                //  General.RefreshWaitingDrivers();

                CloseForm();
            }
            catch (Exception ex)
            {
                if (objBO.Errors.Count > 0)
                {
                    ENUtils.ShowMessage(objBO.ShowErrors());
                }
                else
                {
                    ENUtils.ShowMessage(ex.Message);
                }
            }
        }
        private bool Logout(long id, int?driverId)
        {
            bool rtn = false;

            try
            {
                DriverQueueBO objMaster = new DriverQueueBO();
                objMaster.GetByPrimaryKey(id);

                if (objMaster.Current != null)
                {
                    objMaster.Current.LogoutDateTime = DateTime.Now;
                    objMaster.Current.Status         = false;

                    objMaster.Save();

                    rtn = true;

                    if (objMaster.Current.Fleet_Driver.HasPDA.ToBool())
                    {
                        new Thread(delegate()
                        {
                            General.SendMessageToPDA("request force logout=" + objMaster.Current.Fleet_Driver.DriverNo + "=" + driverId);
                        }).Start();

                        //  SendMessage("request force logout=" + objMaster.Current.Fleet_Driver.DriverNo);
                    }
                }
            }
            catch (Exception ex)
            {
                //ENUtils.ShowMessage(ex.Message);
            }


            return(rtn);
        }
示例#4
0
        private void PlotDriver(int?driverId, int?zoneId, int?FleetId)
        {
            DriverQueueBO objMaster = null;

            try
            {
                Fleet_DriverQueueList objPlottedDriver = General.GetObject <Fleet_DriverQueueList>(c => c.Status == true && c.DriverId == driverId);

                objMaster = new DriverQueueBO();
                if (objPlottedDriver == null)
                {
                    objMaster.New();
                    objMaster.Current.LoginDateTime = DateTime.Now;
                }
                else
                {
                    objMaster.GetByPrimaryKey(objPlottedDriver.Id);
                }

                objMaster.Current.FleetMasterId = FleetId;
                objMaster.Current.ZoneId        = zoneId;
                objMaster.Current.DriverId      = driverId;
                objMaster.Current.Status        = true;


                if (objMaster.Current.Fleet_Driver == null || objMaster.Current.Fleet_Driver.HasPDA.ToBool() == false)
                {
                    objMaster.Current.QueueDateTime = DateTime.Now;
                }

                objMaster.Save();

                if (objMaster.Current.Fleet_Driver.HasPDA.ToBool())
                {
                    if (zoneId != null)
                    {
                        string zoneName = ddlZone.Text.ToUpper().Trim();


                        if (objMaster.Current.CurrentJobId != null)
                        {
                            string msg         = string.Empty;
                            string pickUpPlot  = string.Empty;
                            string dropOffPlot = string.Empty;

                            if (AppVars.objPolicyConfiguration.DefaultClientId.ToStr() == "AbbeyCarsleeds")
                            {
                                pickUpPlot = objMaster.Current.ZoneId != null ? "<<<" + objMaster.Current.Booking.Gen_Zone1.ZoneName.ToStr() : "";

                                if (zoneName.Contains("("))
                                {
                                    zoneName = zoneName.Remove(zoneName.IndexOf("("));
                                }

                                if (zoneName.Contains("."))
                                {
                                    zoneName = zoneName.Substring(zoneName.IndexOf(".") + 1);
                                }

                                dropOffPlot = objMaster.Current.Booking.DropOffZoneId != null ? "<<<" + zoneName.Trim() : "";
                            }

                            string mobNo = objMaster.Current.Booking.CustomerMobileNo;
                            if (string.IsNullOrEmpty(mobNo))
                            {
                                mobNo = " ";
                            }


                            msg = (!string.IsNullOrEmpty(objMaster.Current.Booking.FromDoorNo) ? objMaster.Current.Booking.FromDoorNo + "-" + objMaster.Current.Booking.FromAddress + pickUpPlot : objMaster.Current.Booking.FromAddress + pickUpPlot) +
                                  ">>" +
                                  (!string.IsNullOrEmpty(objMaster.Current.Booking.ToDoorNo) ? objMaster.Current.Booking.ToDoorNo + "-" + objMaster.Current.Booking.ToAddress + dropOffPlot : objMaster.Current.Booking.ToAddress + dropOffPlot) +
                                  ">>" +
                                  string.Format("{0:dd/MM/yyyy   HH:mm}", objMaster.Current.Booking.PickupDateTime) +
                                  ">>" +
                                  objMaster.Current.Booking.CustomerName +
                                  ">>" +
                                  mobNo;


                            // For TCP Connection
                            if (AppVars.objPolicyConfiguration.IsListenAll.ToBool() && !string.IsNullOrEmpty(AppVars.objPolicyConfiguration.ListenerIP.ToStr().Trim()))
                            {
                                new Thread(delegate()
                                {
                                    General.SendMessageToPDA("request pda=" + driverId + "=" + objMaster.Current.CurrentJobId + "=" + "Update Job>>" + driverId + ">>" + objMaster.Current.CurrentJobId + ">>" + msg + "=8");
                                }).Start();
                            }

                            new TaxiDataContext().stp_UpdateJobDropOffPlot(objMaster.Current.CurrentJobId, driverId, zoneId);

                            new BroadcasterData().BroadCastToAll(RefreshTypes.REFRESH_DASHBOARD_DRIVER);
                        }
                    }
                }
                else
                {
                    General.RefreshListWithoutSelected <frmDriverLoginList>("frmDriverLoginList1");
                    //  General.RefreshWaitingDrivers();
                }


                this.PlottedDriverId = driverId;
                this.Plotted         = true;

                this.Close();
            }

            catch (Exception ex)
            {
                if (objMaster.Errors.Count > 0)
                {
                    ENUtils.ShowMessage(objMaster.ShowErrors());
                }
                else
                {
                    ENUtils.ShowMessage(ex.Message);
                }
            }
        }
        private void LoginDriver()
        {
            try
            {
                bool IsValidate = false;

                List <int?> ids = grdDrivers.Rows.Where(c => c.Cells["colChk"].Value.ToBool()).Select(c => c.Cells["colId"].Value.ToIntorNull()).ToList();

                if (ids.Count == 0)
                {
                    IsValidate = true;
                    ENUtils.ShowMessage("Please select a Driver");
                    return;
                }

                //  List<int?> ids = lstDriver.SelectedItems.Select(c => c.Value.ToIntorNull()).ToList();

                using (TaxiDataContext db = new TaxiDataContext())
                {
                    if (db.Fleet_DriverQueueLists.Count(c => ids.Contains(c.DriverId) && c.Status == true) > 0)
                    {
                        ENUtils.ShowMessage("Some Selected Driver(s)  already in the Login List..");
                        IsValidate = true;
                        grdDrivers.Focus();
                        // lstDriver.Focus();
                        return;
                    }
                }

                //if (totalFleets> 0 &&  grdDrivers.Rows.Where(c=>c.Cells["colChk"].Value.ToBool().Any(c => c.Cells["colVeh"].Value.ToIntorNull()==null))
                //{
                //    ENUtils.ShowMessage("Required Vehicle");
                //    return;


                //}



                DriverQueueBO objMaster = null;
                int?          driverId  = null;
                string        driverNos = "";
                foreach (GridViewRowInfo row in grdDrivers.Rows.Where(c => c.Cells["colChk"].Value.ToBool()))
                {
                    driverId = row.Cells["colId"].Value.ToIntorNull();

                    objMaster = new DriverQueueBO();
                    objMaster.New();

                    objMaster.Current.DriverId      = driverId;
                    objMaster.Current.FleetMasterId = row.Cells["colVeh"].Value.ToIntorNull();

                    objMaster.Current.IsManualLogin = true;


                    if (objMaster.Current.FleetMasterId == null)
                    {
                        using (TaxiDataContext db = new TaxiDataContext())
                        {
                            int cnt = db.Fleet_Driver_PDASettings.Where(c => c.DriverId == objMaster.Current.DriverId && (c.HasCompanyCars != null && c.HasCompanyCars == true)).Count();


                            if (cnt > 0)
                            {
                                IsValidate = true;
                                ENUtils.ShowMessage("Required Vehicle");
                                break;
                            }
                        }
                    }
                    else
                    {
                        using (TaxiDataContext db = new TaxiDataContext())
                        {
                            int cnt = db.Fleet_DriverQueueLists.Where(c => c.Status == true && c.FleetMasterId == objMaster.Current.FleetMasterId).Count();


                            if (cnt > 0)
                            {
                                IsValidate = true;
                                ENUtils.ShowMessage("Driver is already loggedIn with this Vehicle");
                                break;
                            }
                        }
                    }


                    objMaster.Current.Status        = true;
                    objMaster.Current.LoginDateTime = DateTime.Now;
                    objMaster.Current.QueueDateTime = DateTime.Now;
                    objMaster.Current.WaitSinceOn   = DateTime.Now;


                    DateTime nowDate = DateTime.Now.ToDate();
                    TimeSpan TimeNow = DateTime.Now.TimeOfDay;
                    int?     LoginID = AppVars.LoginObj.LgroupId.ToInt();

                    bool manualuntickHasPda = true;
                    //     bool manualuntickHasPda = AppVars.listUserRights.Count(c => c.functionId == "DISABLE HASPDA ON MANUAL LOGIN DRIVER") > 0;


                    var data1 = General.GetQueryable <Fleet_Driver>(c => c.Id == driverId).AsEnumerable();
                    var data2 = General.GetQueryable <Fleet_Driver_Shift>(c => c.DriverId == driverId);
                    var query = (from a in data1
                                 join b in data2 on a.Id equals b.DriverId
                                 select new
                    {
                        DriverNo = a.DriverNo,
                        ShiftName = b.Driver_Shift.ShiftName,
                        FTime = b.FromTime.Value.TimeOfDay,
                        TTime = b.ToTime.Value.TimeOfDay,
                    }).AsQueryable();
                    DataTable dt     = query.ToDataTable();
                    string    ShiftN = "";

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        ShiftN += dt.Rows[i]["ShiftName"].ToStr() + " " + dt.Rows[i]["FTime"].ToStr().Substring(0, 5) + " to " + dt.Rows[i]["TTime"].ToStr().Substring(0, 5) + " ";
                    }



                    Fleet_Driver obj      = General.GetObject <Fleet_Driver>(c => c.Id == driverId);
                    string       DriverNo = obj.DriverNo.ToStr();

                    if (General.GetQueryable <Fleet_Driver_Shift>(c => c.DriverId == driverId && c.Driver_Shift_ID == 7).Count() > 0)
                    {
                        if (General.GetQueryable <Fleet_Driver>(c => c.Id == driverId && c.MOTExpiryDate < nowDate || c.MOTExpiryDate == null && c.MOT2ExpiryDate < nowDate || c.MOT2ExpiryDate == null && c.DrivingLicenseExpiryDate < nowDate || c.DrivingLicenseExpiryDate == null && c.PCODriverExpiryDate < nowDate || c.PCODriverExpiryDate == null && c.PCOVehicleExpiryDate < nowDate || c.PCOVehicleExpiryDate == null).Count(c => ids.Contains(c.Id)) > 0)
                        {
                            if (LoginID == 2)
                            {
                                IsValidate = true;
                                ENUtils.ShowMessage("Driver License Is Expire Driver Not Login..");
                                return;
                            }
                        }
                        driverNos += "," + row.Cells["DriverNo"].Value.ToStr();


                        objMaster.IsManualLoggedInUnTickHasPDA = manualuntickHasPda;

                        objMaster.Save();
                    }
                    else
                    {
                        if (General.GetQueryable <Fleet_Driver_Shift>(c => c.DriverId == driverId && c.FromTime.Value.TimeOfDay < TimeNow && c.ToTime.Value.TimeOfDay > TimeNow).Count() > 0)
                        {
                            if (General.GetQueryable <Fleet_Driver>(c => c.Id == driverId && c.MOTExpiryDate < nowDate || c.MOTExpiryDate == null && c.MOT2ExpiryDate < nowDate || c.MOT2ExpiryDate == null && c.DrivingLicenseExpiryDate < nowDate || c.DrivingLicenseExpiryDate == null && c.PCODriverExpiryDate < nowDate || c.PCODriverExpiryDate == null && c.PCOVehicleExpiryDate < nowDate || c.PCOVehicleExpiryDate == null).Count(c => ids.Contains(c.Id)) > 0)
                            {
                                if (LoginID == 2)
                                {
                                    IsValidate = true;
                                    ENUtils.ShowMessage("Driver License Is Expire Driver Not Login..");
                                    return;
                                }
                            }
                            driverNos += "," + row.Cells["DriverNo"].Value.ToStr();

                            objMaster.IsManualLoggedInUnTickHasPDA = manualuntickHasPda;
                            objMaster.Save();
                        }
                        else
                        {
                            IsValidate = true;
                            ENUtils.ShowMessage("Driver " + DriverNo + " not available \n Driver Shift: " + ShiftN);
                        }
                    }
                }

                General.RefreshListWithoutSelected <frmDriverLoginList>("frmDriverLoginList1");

                General.BroadCastRefreshWaitingDrivers();

                if (IsValidate == false)
                {
                    try
                    {
                        if (driverNos.ToStr().StartsWith(","))
                        {
                            driverNos = driverNos.Remove(0, 1);
                        }

                        if (driverNos.ToStr().EndsWith(","))
                        {
                            driverNos = driverNos.Remove(driverNos.Length - 1);
                        }

                        //GridViewComboBoxColumn comboBoxColumn = this.radGridView1.Columns["column"] as GridViewComboBoxColumn;
                        //object value = this.radGridView1.Rows[0].Cells["SupplierColumn"].Value;
                        //string text = (string)comboBoxColumn.GetLookupValue(value);
                    }
                    catch
                    {
                    }

                    General.AddUserLog("Driver(s) (" + driverNos + ") Manually Login Controller", 3);



                    this.Close();
                }
            }
            catch (Exception ex)
            {
                ENUtils.ShowMessage(ex.Message);
            }
        }