Exemple #1
0
        public static void Logout(string driverNo)
        {
            Fleet_DriverQueueList obj = General.GetObject <Fleet_DriverQueueList>(c => c.DriverId != null && c.Fleet_Driver.DriverNo == driverNo && c.Status == true);

            if (obj != null)
            {
                General.LogoutDriver(obj.Id);
            }
        }
Exemple #2
0
        private void CustomEarning(int DriverId)
        {
            try
            {
                TimeSpan tillTime = TimeSpan.Zero;
                TimeSpan.TryParse("23:59:59", out tillTime);
                obj = General.GetObject <Fleet_DriverQueueList>(c => c.DriverId == DriverId);
                if (obj != null)
                {
                    // loginDateTime = obj.LoginDateTime;
                    int driverType = obj.Fleet_Driver.DefaultIfEmpty().DriverTypeId.ToInt();

                    int?driverId = obj.DriverId.ToIntorNull();

                    decimal TotalEarning = 0;

                    var list = (from a in General.GetQueryable <Booking>(c => (c.PickupDateTime != null && c.PickupDateTime >= dtpFrom.Value.ToDate() && c.PickupDateTime <= dtpTill.Value.ToDate() + tillTime) && (c.DriverId == driverId || c.ReturnDriverId == driverId) &&
                                                                         c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED && c.Fleet_Driver.DriverTypeId == driverType)
                                select new
                    {
                        FareRate = a.FareRate
                    }).ToList();



                    foreach (var item in list)
                    {
                        TotalEarning += item.FareRate.ToDecimal();
                    }
                    lblCustomEarned.Text = "£ " + TotalEarning;
                    lblCustomJobs.Text   = list.Count().ToStr();
                    if (lblCustomEarned.Text.Contains(".") == false)
                    {
                        lblCustomEarned.Text = "£ " + TotalEarning + ".00";
                    }
                    gpbCustomEarning.Text = "Earning From : " + string.Format("{0:dd/MM/yyyy}", dtpFrom.Value) + " to " + string.Format("{0:dd/MM/yyyy}", dtpTill.Value);
                }
                else
                {
                    lblCustomEarned.Text = "£ 0.00";
                    lblCustomJobs.Text   = "0";
                }
            }
            catch (Exception ex)
            {
                ENUtils.ShowMessage(ex.Message);
            }
        }
Exemple #3
0
        private void btnViewWeeklyJobs_Click(object sender, EventArgs e)
        {
            try
            {
                int      DriverId      = 0;
                DateTime?loginDateTime = null;
                DateTime dtFrom        = DateTime.Now.AddDays(-7).ToDate();
                DateTime dtToday       = DateTime.Now.ToDate();
                TimeSpan tillTime      = TimeSpan.Zero;
                TimeSpan.TryParse("23:59:59", out tillTime);
                string DriverNo = string.Empty;
                DriverId = ddlDriver.SelectedValue.ToInt();
                if (DriverId == 0)
                {
                    ENUtils.ShowMessage("Required : Driver");
                    return;
                }
                obj = General.GetObject <Fleet_DriverQueueList>(c => c.DriverId == DriverId);
                if (obj != null)
                {
                    loginDateTime = obj.LoginDateTime;
                    int driverType = obj.Fleet_Driver.DefaultIfEmpty().DriverTypeId.ToInt();

                    int?driverId = obj.DriverId.ToIntorNull();
                    DriverNo = obj.Fleet_Driver.DriverNo;

                    var list = General.GetQueryable <Booking>(c => c.PickupDateTime >= dtFrom && c.PickupDateTime <= dtToday.ToDate() + tillTime &&
                                                              (c.DriverId == driverId || c.ReturnDriverId == driverId) &&
                                                              c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED).ToList();
                    if (list.Count > 0)
                    {
                        frmDriverJobs frmDrvJobs = new frmDriverJobs(list, DriverNo);
                        frmDrvJobs.StartPosition = FormStartPosition.CenterScreen;
                        frmDrvJobs.ShowDialog();
                        frmDrvJobs.Dispose();
                    }
                }
            }
            catch (Exception ex)
            {
                ENUtils.ShowMessage(ex.Message);
            }
        }
Exemple #4
0
        private void ddl_Driver_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (IsFormLoaded == false)
            {
                return;
            }

            int?driverId = ddl_Driver.SelectedValue.ToIntorNull();

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


                if (objPlottedDriver != null)
                {
                    ddlVehicle.SelectedValue = objPlottedDriver.FleetMasterId;

                    ddlZone.SelectedValue = General.GetObject <Fleet_Driver_Location>(c => c.DriverId == driverId).DefaultIfEmpty().ZoneId;
                }
            }
        }
Exemple #5
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);
                }
            }
        }
        public void DespatchJob()
        {
            List <string> listofErrors = new List <string>();

            bool IsDespatched = OnDespatching(ref listofErrors);

            if (IsDespatched)
            {
                try
                {
                    (new TaxiDataContext()).stp_DespatchedJob(this.JobId, ObjDriver.Id, false, false, false, false, AppVars.LoginObj.LoginName.ToStr(), Enums.BOOKINGSTATUS.DISPATCHED);

                    if (chkCompleteJob.Checked == false)
                    {
                        bool autoDespatch = objBooking.AutoDespatch.ToBool();
                        if ((!this.IsAutoDespatchActivity || !autoDespatch))
                        {
                            int?driverId = ObjDriver.Id.ToIntorNull();

                            Fleet_DriverQueueList driverCurrent = General.GetQueryable <Fleet_DriverQueueList>(c => c.Status == true && c.DriverId == driverId)
                                                                  .OrderByDescending(c => c.Id).FirstOrDefault();

                            if (driverCurrent != null)
                            {
                                General.OnDespatchUpdateDriverQueue(driverCurrent.Id, objBooking.Id, General.GetPostCodeMatch(objBooking.ToAddress.ToStr().Trim()));
                                RefreshBookingList();
                            }



                            SuccessDespatched = true;



                            RadDesktopAlert alert = new RadDesktopAlert();
                            alert.AutoCloseDelay    = 5;
                            alert.FadeAnimationType = FadeAnimationType.None;

                            alert.CaptionText = "Job No : " + objBooking.BookingNo.ToStr() + " Despatch Successfully";
                            alert.ContentText = "Driver : " + ObjDriver.DriverName;

                            alert.ContentText += Environment.NewLine + "Pickup Date-Time : "
                                                 + string.Format("{0:dd/MM/yyyy hh:mm tt}", objBooking.PickupDateTime);

                            alert.Show();
                        }
                    }


                    if (!this.IsAutoDespatchActivity)
                    {
                        new BroadcasterData().BroadCastToAll(RefreshTypes.REFRESH_ONLY_DASHBOARD);
                    }

                    this.Close();
                }
                catch (Exception ex)
                {
                    ENUtils.ShowMessage(ex.Message);
                }
            }
            else
            {
                lblNocMessage.Text      = "Job Despatch Failed..";
                lblNocMessage.ForeColor = Color.Red;
                lblNocMessage.Visible   = true;

                int cnt = listofErrors.Count;
                if (cnt == 1)
                {
                    lblSmsError1.Visible = true;
                    lblSmsError1.Text    = listofErrors[0].ToStr();
                }

                if (cnt == 2)
                {
                    lblSmsError1.Visible = true;
                    lblSmsError1.Text    = listofErrors[0].ToStr();

                    lblSMSError2.Visible = true;
                    lblSMSError2.Text    = listofErrors[1].ToStr();
                }
            }
        }
Exemple #7
0
        private void ViewCurrentJobsDetail()
        {
            try
            {
                int      DriverId      = ddlDriver.SelectedValue.ToInt();
                DateTime?loginDateTime = null;
                DateTime dtFrom        = DateTime.Now.AddDays(-7).ToDate();
                DateTime dtToday       = DateTime.Now.ToDate();
                TimeSpan tillTime      = TimeSpan.Zero;
                TimeSpan.TryParse("23:59:59", out tillTime);
                string DriverNo = string.Empty;


                obj = General.GetObject <Fleet_DriverQueueList>(c => c.DriverId == DriverId && c.Status == true);
                if (obj != null)
                {
                    loginDateTime = obj.LoginDateTime;
                    int driverType = obj.Fleet_Driver.DefaultIfEmpty().DriverTypeId.ToInt();

                    int?driverId = obj.DriverId.ToIntorNull();
                    DriverNo = obj.Fleet_Driver.DriverNo;

                    var list = (from a in General.GetQueryable <Booking>(c => c.PickupDateTime >= obj.LoginDateTime &&
                                                                         (c.DriverId == driverId || c.ReturnDriverId == driverId) &&
                                                                         c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED)
                                select new
                    {
                        Id = a.Id,
                        RefNo = a.BookingNo,
                        PickupDateTime = a.PickupDateTime,
                        PickupPoint = a.FromAddress,
                        Destination = a.ToAddress,
                        Fare = a.FareRate,
                        WaitingCharges = a.MeetAndGreetCharges,
                        Parking = a.CongtionCharges
                    }).ToList();
                    //grdCurrentEarning.DataSource = list;

                    grdCurrentEarning.Rows.Clear();
                    if (list.Count > 0)
                    {
                        grdCurrentEarning.RowCount = list.Count;

                        if (grdCurrentEarning.RowCount < 15)
                        {
                            grdCurrentEarning.RowCount = (15 - grdCurrentEarning.RowCount) + list.Count;
                        }

                        for (int i = 0; i < list.Count; i++)
                        {
                            grdCurrentEarning.Rows[i].Cells["curId"].Value             = list[i].Id;
                            grdCurrentEarning.Rows[i].Cells["curRefNo"].Value          = list[i].RefNo;
                            grdCurrentEarning.Rows[i].Cells["curPickupDateTime"].Value = string.Format("{0:dd/MM/yyyy HH:mm}", list[i].PickupDateTime);
                            grdCurrentEarning.Rows[i].Cells["curPickupPoint"].Value    = list[i].PickupPoint;
                            grdCurrentEarning.Rows[i].Cells["curDestination"].Value    = list[i].Destination;
                            grdCurrentEarning.Rows[i].Cells["curFare"].Value           = list[i].Fare.ToDecimal();
                            grdCurrentEarning.Rows[i].Cells["curWaiting"].Value        = list[i].WaitingCharges.ToDecimal();
                            grdCurrentEarning.Rows[i].Cells["curParking"].Value        = list[i].Parking.ToDecimal();
                        }
                        lblCurrentEarned.Text = "£ " + list.Sum(c => c.Fare + c.WaitingCharges);

                        txtCurParking.Text = "£ " + string.Format("{0:##0.##}", list.Sum(c => c.Parking));

                        lblCurrentJobs.Text = list.Count().ToStr();
                        if (lblCurrentEarned.Text.Contains(".") == false)
                        {
                            lblCurrentEarned.Text = "£ " + list.Sum(c => c.Fare + c.WaitingCharges) + ".00";
                        }
                        lblCurrentJobsHeader.Text = "From: " + string.Format("{0:dd/MM/yyyy HH:mm}", loginDateTime);;
                    }
                    else
                    {
                        grdCurrentEarning.Rows.Clear();
                        lblCurrentEarned.Text     = "£ 0.00";
                        lblCurrentJobsHeader.Text = "From";
                        lblCurrentJobs.Text       = "0";
                    }



                    //for (int i = 0; i < list.Count; i++)
                    //{
                    //    dataGridView1.Rows[i].Cells["Id"].Value = list[i].Id;
                    //    dataGridView1.Rows[i].Cells["RefNo"].Value = list[i].BookingNo;
                    //    dataGridView1.Rows[i].Cells["PickupDateTime"].Value = string.Format("{0:dd/MM/yyyy HH:mm}", list[i].PickupDateTime);
                    //    dataGridView1.Rows[i].Cells["PickupPoint"].Value = list[i].FromAddress;
                    //    dataGridView1.Rows[i].Cells["Destination"].Value = list[i].ToAddress;
                    //    dataGridView1.Rows[i].Cells["Fare"].Value = list[i].FareRate.ToDecimal();
                    //}
                    //if (list.Count > 0)
                    //{
                    //    frmDriverJobs frmDrvJobs = new frmDriverJobs(list, DriverNo);
                    //    frmDrvJobs.StartPosition = FormStartPosition.CenterScreen;
                    //    frmDrvJobs.ShowDialog();
                    //    frmDrvJobs.Dispose();
                    //}
                }
            }
            catch (Exception ex)
            {
                ENUtils.ShowMessage(ex.Message);
            }
        }
Exemple #8
0
        private void DefaultEarning(int DriverId)
        {
            try
            {
                DateTime?loginDateTime = null;
                DateTime dtFrom        = DateTime.Now.AddDays(-7).ToDate();
                DateTime dtToday       = DateTime.Now.ToDate();
                TimeSpan tillTime      = TimeSpan.Zero;
                TimeSpan.TryParse("23:59:59", out tillTime);

                obj = General.GetObject <Fleet_DriverQueueList>(c => c.DriverId == DriverId && c.Status == true);
                if (obj != null)
                {
                    //  string vehicleNo = obj.FleetMasterId != null ? obj.Fleet_Master.Fleet_VehicleType.VehicleType + " - " + obj.Fleet_Master.Plateno.ToStr() : "";


                    loginDateTime = obj.LoginDateTime;
                    int driverType = obj.Fleet_Driver.DefaultIfEmpty().DriverTypeId.ToInt();

                    int?driverId = obj.DriverId.ToIntorNull();

                    decimal TotalEarning = 0;

                    var list = (from a in General.GetQueryable <Booking>(c => (c.PickupDateTime != null && c.PickupDateTime >= loginDateTime) && (c.DriverId == driverId || c.ReturnDriverId == driverId) &&
                                                                         c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED && c.Fleet_Driver.DriverTypeId == driverType)
                                select new
                    {
                        FareRate = a.FareRate
                    }).ToList();
                    foreach (var item in list)
                    {
                        if (item.FareRate != null)
                        {
                            TotalEarning += item.FareRate.ToDecimal();
                        }
                    }
                    lblCurrentEarned.Text = "£ " + TotalEarning;

                    lblCurrentJobs.Text = list.Count().ToStr();
                    if (lblCurrentEarned.Text.Contains(".") == false)
                    {
                        lblCurrentEarned.Text = "£ " + TotalEarning + ".00";
                    }
                }
                else
                {
                    lblCurrentEarned.Text = "£ 0.00";

                    lblCurrentJobs.Text = "0";
                }


                obj = General.GetObject <Fleet_DriverQueueList>(c => c.DriverId == DriverId);


                if (obj != null)
                {
                    loginDateTime = obj.LoginDateTime;
                    int driverType = obj.Fleet_Driver.DefaultIfEmpty().DriverTypeId.ToInt();

                    int?driverId = obj.DriverId.ToIntorNull();

                    var listWeekly = (from a in General.GetQueryable <Booking>(c => (c.PickupDateTime != null && c.PickupDateTime >= dtFrom && c.PickupDateTime <= dtToday.ToDate() + tillTime) && (c.DriverId == driverId || c.ReturnDriverId == driverId) &&
                                                                               c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED && c.Fleet_Driver.DriverTypeId == driverType)
                                      select new
                    {
                        FareRate = a.FareRate
                    }).ToList();
                    lblWeeklyJobs.Text = listWeekly.Count().ToStr();
                    decimal WeeklyEarning = 0;
                    foreach (var item in listWeekly)
                    {
                        if (item.FareRate != null)
                        {
                            WeeklyEarning += item.FareRate.ToDecimal();
                        }
                    }
                    lblWeeklyEarned.Text = "£ " + WeeklyEarning;
                    if (lblWeeklyEarned.Text.Contains(".") == false)
                    {
                        lblWeeklyEarned.Text = "£ " + WeeklyEarning + ".00";
                    }

                    var listToday = (from a in General.GetQueryable <Booking>(c => (c.PickupDateTime != null && c.PickupDateTime >= dtToday && c.PickupDateTime <= dtToday.ToDate() + tillTime) && (c.DriverId == driverId || c.ReturnDriverId == driverId) &&
                                                                              c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED && c.Fleet_Driver.DriverTypeId == driverType)
                                     select new
                    {
                        FareRate = a.FareRate
                    }).ToList();
                    decimal TodayEarning = 0;
                    foreach (var item in listToday)
                    {
                        if (item.FareRate != null)
                        {
                            TodayEarning += item.FareRate.ToDecimal();
                        }
                    }
                    lblTodayJobs.Text   = listToday.Count().ToStr();
                    lblTodayEarned.Text = "£ " + TodayEarning;
                    if (lblTodayEarned.Text.Contains(".") == false)
                    {
                        lblTodayEarned.Text = "£ " + TodayEarning + ".00";
                    }
                }
                else
                {
                    lblWeeklyJobs.Text   = "0";
                    lblWeeklyEarned.Text = "£ 0.00";
                    lblTodayJobs.Text    = "0";
                    lblTodayEarned.Text  = "£ 0.00";
                }
            }

            catch (Exception ex)
            {
                ENUtils.ShowMessage(ex.Message);
            }
        }
Exemple #9
0
        private void ReCallJob()
        {
            if (ddl_Driver.SelectedValue == null)
            {
                return;
            }
            try
            {
                int driverId = ddl_Driver.SelectedValue.ToInt();

                int    statusId = 0;
                long   jobId    = 0;
                string driverNO = string.Empty;
                using (TaxiDataContext db = new TaxiDataContext())
                {
                    Fleet_DriverQueueList objLogin = db.Fleet_DriverQueueLists.FirstOrDefault(c => c.Status == true && c.DriverId == driverId);

                    if (objLogin != null)
                    {
                        statusId = objLogin.DriverWorkStatusId.ToInt();
                        jobId    = objLogin.CurrentJobId.ToLong();
                        driverNO = objLogin.Fleet_Driver.DriverNo.ToStr();
                    }
                }


                if (jobId == 0)
                {
                    MessageBox.Show("No Current Job Found");
                    return;
                }
                else
                {
                    if (statusId == Enums.Driver_WORKINGSTATUS.NOTAVAILABLE || statusId == Enums.Driver_WORKINGSTATUS.SOONTOCLEAR)
                    {
                        MessageBox.Show("Job cannot be Re-Call as driver is on " + "POB or STC Status.");
                        return;
                    }
                }


                if (DialogResult.Yes == RadMessageBox.Show("Are you sure you want to Re-Call a Booking ? ", "", MessageBoxButtons.YesNo, RadMessageIcon.Question))
                {
                    new Thread(delegate()
                    {
                        int loopCnt  = 1;
                        bool success = false;
                        while (loopCnt < 3)
                        {
                            success = General.ReCallBooking(jobId, driverId);

                            if (success)
                            {
                                break;
                            }
                            else
                            {
                                loopCnt++;
                            }
                        }
                    }).Start();


                    using (TaxiDataContext dbX = new TaxiDataContext())
                    {
                        dbX.stp_BookingLog(jobId, AppVars.LoginObj.UserName.ToStr(), "Recall Job from Driver (" + driverNO + ")");
                    }

                    // new BroadcasterData().BroadCastToAll(RefreshTypes.REFRESH_DASHBOARD);
                }
            }
            catch
            {
            }
        }