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); } }
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); } }
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); } }
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; } } }
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(); } } }
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); } }
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); } }
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 { } }