private void TurnPrintStripButton_Click(object sender, EventArgs e) { try { HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory LadBillCreditFactory = new HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory(); string condition = "LadBillCredit_T.TrafficID_bint='" + Hepsa.Core.Common.PersentationController.GetEntityValue(this.TrafficGridView.CurrentRow.Cells[colTrafficID_bint.Name].Value, TypeCode.Int64) + "' or (LadBillCredit_T.LadBillCreditID_int is not null and LadBillCredit_T.Canceled_bit=0 AND LadBillCredit_T.Turn_bit is not NULL)"; List <HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_T> LadBillCreditList = LadBillCreditFactory.GetAllByCondition(condition); if (LadBillCreditList != null && LadBillCreditList.Count > 0) { bool?ladturn = LadBillCreditList[LadBillCreditList.Count - 1].Turn_bit; if (LadBillCreditList[LadBillCreditList.Count - 1].Canceled_bit == false || (LadBillCreditList[LadBillCreditList.Count - 1].Canceled_bit == true && ladturn == false)) { throw new ApplicationException("نوبت مورد نظر مجوز گرفته است"); } } HPS.BLL.TurnManagementBLL.BLLTurnManagement_TFactory TurnManagementFactory = new HPS.BLL.TurnManagementBLL.BLLTurnManagement_TFactory(); string conditionTurnManagement = string.Format("TurnManagement_T.TrafficID_bint='{0}' ", Hepsa.Core.Common.PersentationController.GetEntityValue(this.TrafficGridView.CurrentRow.Cells[colTrafficID_bint.Name].Value, TypeCode.Int64)); DataTable TurnManagementTable = new DataTable(); TurnManagementFactory.GetAllByCondition(conditionTurnManagement, ref TurnManagementTable); if (TurnManagementTable != null && TurnManagementTable.Rows.Count > 0) { if (TurnManagementTable.Rows[TurnManagementTable.Rows.Count - 1]["Return_bit"].ToString() == "False") { throw new ApplicationException("نوبت مورد نظر باطل شده است"); } } //HPS.Reports.ReportDoc.AcceptedTurnReport rpt = new HPS.Reports.ReportDoc.AcceptedTurnReport((Int64)Hepsa.Core.Common.PersentationController.GetEntityValue(this.TrafficGridView.CurrentRow.Cells[colTrafficID_bint.Name].Value, TypeCode.Int64)); //rpt.Document.Printer.PrinterName = string.Empty; //rpt.Run(); //Properties.Settings s = new HPS.Properties.Settings(); //if (string.IsNullOrEmpty(s.PrinterName)) //{ // rpt.Document.Print(true, true, true); //} //else //{ // rpt.Document.Printer.PrinterName = s.PrinterName; // rpt.Document.Print(false, true, true); //} /// HPS.BLL.TrafficBLL.BLLTraffic_TFactory TrafficFactory = new HPS.BLL.TrafficBLL.BLLTraffic_TFactory(); HPS.BLL.TrafficBLL.BLLTraffic_TKeys TrafficKey = new HPS.BLL.TrafficBLL.BLLTraffic_TKeys(); HPS.BLL.TrafficBLL.BLLTraffic_T TrafficEntityrpt = new HPS.BLL.TrafficBLL.BLLTraffic_T(); TrafficKey.TrafficID_bint = (Int64)Hepsa.Core.Common.PersentationController.GetEntityValue(this.TrafficGridView.CurrentRow.Cells[colTrafficID_bint.Name].Value, TypeCode.Int64); TrafficEntityrpt = TrafficFactory.GetBy(TrafficKey); HPS.Reports.Forms.StimulViewer frm = new Reports.Forms.StimulViewer(TrafficEntityrpt, false, false); frm.ShowDialog(); // } catch (Exception ex) { Hepsa.Core.Common.MessageBox.ErrorMessage(ex.Message); } }
public AcceptedTurnReport(Int64 TrafficID_bint) { // // Required for Windows Form Designer support // InitializeComponent(); HPS.BLL.TrafficBLL.BLLTraffic_TFactory TrafficFactory = new HPS.BLL.TrafficBLL.BLLTraffic_TFactory(); HPS.BLL.TrafficBLL.BLLTraffic_TKeys TrafficKey = new HPS.BLL.TrafficBLL.BLLTraffic_TKeys(); HPS.BLL.TrafficBLL.BLLTraffic_T TrafficEntityrpt = new HPS.BLL.TrafficBLL.BLLTraffic_T(); TrafficKey.TrafficID_bint = TrafficID_bint; TrafficEntityrpt = TrafficFactory.GetBy(TrafficKey); AcceptedDateTextBox.Text = TrafficEntityrpt.TurnDate_nvc; AcceptedTimeTextBox.Text = TrafficEntityrpt.TurnTime_nvc; InDateTextBox.Text = TrafficEntityrpt.Date_nvc; InTimeTextBox.Text = TrafficEntityrpt.Time_nvc; DateTextBox.Text = TrafficFactory.ServerJalaliDate; TimeTextBox.Text = TrafficFactory.ServerTime; InDatetext2Box.Text = TrafficEntityrpt.Date_nvc; InTimetext2Box.Text = TrafficEntityrpt.Time_nvc; if (TrafficEntityrpt.AcceptedTurnNumber_bint.HasValue) { TurnNumber2txt.Text = "شماره نوبت : " + TrafficEntityrpt.AcceptedTurnNumber_bint.ToString(); TurnNumbertxt.Text = "شماره نوبت : " + TrafficEntityrpt.AcceptedTurnNumber_bint.ToString(); } else { TurnNumber2txt.Text = "شماره نوبت رزرو : " + TrafficEntityrpt.TurnNumber_bint.ToString(); TurnNumbertxt.Text = "شماره نوبت رزرو : " + TrafficEntityrpt.TurnNumber_bint.ToString(); } TrafficNumbertxt.Text = "شماره قبض : " + TrafficEntityrpt.TrafficNumber_bint.ToString(); TrafficNumber2txt.Text = "شماره قبض : " + TrafficEntityrpt.TrafficNumber_bint.ToString(); DriverNametxt.Text = " نام راننده : " + TrafficEntityrpt.FirstName_nvc + " " + TrafficEntityrpt.LastName_nvc; DriverName2txt.Text = " نام راننده : " + TrafficEntityrpt.FirstName_nvc + " " + TrafficEntityrpt.LastName_nvc; HPS.BLL.LaderTypeBLL.BLLLaderType_TFactory laderTypeFactory = new HPS.BLL.LaderTypeBLL.BLLLaderType_TFactory(); string LaderTypecondition = "[LaderType_T].[LaderTypeID_int]='" + TrafficEntityrpt.LaderTypeID_int + "'"; List <HPS.BLL.LaderTypeBLL.BLLLaderType_T> LaderTypeLst = laderTypeFactory.GetAllByCondition(LaderTypecondition); if (LaderTypeLst != null) { CarTypetxt.Text = "نوع وسیله : " + TrafficEntityrpt.System_nvc + "- " + LaderTypeLst[0].LaderType_nvc; //+ "- کد:" + LaderTypeLst[0].LaderTypeID_int.ToString() ; CarType2txt.Text = "نوع وسیله : " + TrafficEntityrpt.System_nvc + "- " + LaderTypeLst[0].LaderType_nvc; } HPS.BLL.PlateCityBLL.BLLPlateCity_TFactory PlatecityFactory = new HPS.BLL.PlateCityBLL.BLLPlateCity_TFactory(); HPS.BLL.PlateCityBLL.BLLPlateCity_TKeys Platecitykey = new HPS.BLL.PlateCityBLL.BLLPlateCity_TKeys(); Platecitykey.PlateCityID_int = TrafficEntityrpt.PlateCityID_int; HPS.BLL.PlateCityBLL.BLLPlateCity_T PlateCityEntity = new HPS.BLL.PlateCityBLL.BLLPlateCity_T(); PlateCityEntity = PlatecityFactory.GetBy(Platecitykey); if (PlateCityEntity != null) { NumberPlatetxt.Text = "شماره پلاک : " + Hepsa.Core.Common.PersentationController.CorrectNumberPlate(TrafficEntityrpt.NumberPlate_nvc) + " - " + PlateCityEntity.PlateCity_nvc + " " + TrafficEntityrpt.SerialPlate_nvc; NumberPlate2txt.Text = "شماره پلاک : " + Hepsa.Core.Common.PersentationController.CorrectNumberPlate(TrafficEntityrpt.NumberPlate_nvc) + " - " + PlateCityEntity.PlateCity_nvc + " " + TrafficEntityrpt.SerialPlate_nvc; } else { NumberPlatetxt.Text = "شماره پلاک : " + Hepsa.Core.Common.PersentationController.CorrectNumberPlate(TrafficEntityrpt.NumberPlate_nvc) + " - " + TrafficEntityrpt.SerialPlate_nvc; NumberPlate2txt.Text = "شماره پلاک : " + Hepsa.Core.Common.PersentationController.CorrectNumberPlate(TrafficEntityrpt.NumberPlate_nvc) + " - " + TrafficEntityrpt.SerialPlate_nvc; } DriverCardNumbertxt.Text = "شماره كارت راننده :" + TrafficEntityrpt.DriverCardNumber_nvc; CarCardNumbertxt.Text = "شماره كارت كاميون :" + TrafficEntityrpt.CarCardNumber_nvc; HPS.BLL.BillMessageBLL.BLLBillMessage_TFactory BillFactory = new HPS.BLL.BillMessageBLL.BLLBillMessage_TFactory(); if (TrafficEntityrpt.BillMessageID_int == 0 || TrafficEntityrpt.BillMessageID_int == null) { } else { string Billcondition = "[BillMessage_T].[BillMessageID_int]=" + TrafficEntityrpt.BillMessageID_int; List <HPS.BLL.BillMessageBLL.BLLBillMessage_T> BillLst = BillFactory.GetAllByCondition(Billcondition); if (BillLst != null) { Messagetxt.Text = BillLst[0].Message_nvc; } } HamrahanSystem.TextBox.NumericTextBox txt = new HamrahanSystem.TextBox.NumericTextBox(); txt.DigitsInGroup = 3; if (TrafficEntityrpt.Price_dec != null) { txt.Text = TrafficEntityrpt.Price_dec.ToString(); Pricetxt.Text = " مبلغ دریافت شده هنگام ورود " + txt.Text + " ريال می باشد"; } UserNametxt.Text = HPS.Common.CurrentUser.user.UserName_nvc; if (!string.IsNullOrEmpty(TrafficEntityrpt.AcceptedTurnComment_nvc)) { if (TrafficEntityrpt.Area_bit) { Commenttxt.Text = "توضيحات : " + TrafficEntityrpt.AcceptedTurnComment_nvc + " حومه"; } else { Commenttxt.Text = "توضيحات : " + TrafficEntityrpt.AcceptedTurnComment_nvc; } } else { if (TrafficEntityrpt.Area_bit) { Commenttxt.Text = "حومه"; } } TrafficNumberbarcode.Text = TrafficEntityrpt.TrafficNumber_bint.ToString(); TrafficNumber_intbarcode.Text = TrafficEntityrpt.TrafficNumber_bint.ToString(); if (!TrafficEntityrpt.DriverOffline_bit) { OfflineReadtxt.Text = "آنلاین"; } else { OfflineReadtxt.Text = "آفلاین"; } ////////////// if (TrafficEntityrpt.TurnPrinted_bit == true) { this.txtPrintedAgain.Visible = true; } else { this.txtPrintedAgain.Visible = false; try { TrafficKey.TrafficID_bint = TrafficEntityrpt.TrafficID_bint; TrafficEntityrpt.TurnPrinted_bit = true; TrafficFactory.BeginProc(); TrafficFactory.Update(TrafficEntityrpt, TrafficKey); TrafficFactory.CommitProc(); } catch (Exception ex) { TrafficFactory.RollBackProc(); throw ex; } } }
public IranianTrafficEditReport(HPS.BLL.TrafficBLL.BLLTraffic_TKeys TrafficKey) { // // Required for Windows Form Designer support // InitializeComponent(); HPS.BLL.TrafficBLL.BLLTraffic_TFactory TrafficFactory = new HPS.BLL.TrafficBLL.BLLTraffic_TFactory(); HPS.BLL.TrafficBLL.BLLTraffic_T TrafficEntityrpt = TrafficFactory.GetBy(TrafficKey); DateTextBox.Text = TrafficEntityrpt.Date_nvc; TimeTextBox.Text = TrafficEntityrpt.Time_nvc; TrafficNumbertxt.Text = TrafficEntityrpt.TrafficNumber_bint.ToString(); TurnNumbertxt.Text = TrafficEntityrpt.TurnNumber_bint.ToString(); HPS.BLL.ServicesBLL.BLLServices_TFactory servicesFactory = new HPS.BLL.ServicesBLL.BLLServices_TFactory(); HPS.BLL.ServicesBLL.BLLServices_TKeys ServicesKey = new HPS.BLL.ServicesBLL.BLLServices_TKeys(); ServicesKey.ServicesID_int = TrafficEntityrpt.ServiceID_int; HPS.BLL.ServicesBLL.BLLServices_T ServicesEntity = new HPS.BLL.ServicesBLL.BLLServices_T(); ServicesEntity = servicesFactory.GetBy(ServicesKey); Servicestxt.Text = " مراجعه به : " + ServicesEntity.ServicesType_nvc; DriverNametxt.Text = " نام راننده : " + TrafficEntityrpt.FirstName_nvc + " " + TrafficEntityrpt.LastName_nvc; HPS.BLL.LaderTypeBLL.BLLLaderType_TFactory laderTypeFactory = new HPS.BLL.LaderTypeBLL.BLLLaderType_TFactory(); string LaderTypecondition = "[LaderType_T].[LaderTypeID_int]='" + TrafficEntityrpt.LaderTypeID_int + "'"; List <HPS.BLL.LaderTypeBLL.BLLLaderType_T> LaderTypeLst = laderTypeFactory.GetAllByCondition(LaderTypecondition); if (LaderTypeLst != null) { CarTypetxt.Text = "نوع وسیله : " + TrafficEntityrpt.System_nvc + "- " + LaderTypeLst[0].LaderType_nvc; } HPS.BLL.PlateCityBLL.BLLPlateCity_TFactory PlatecityFactory = new HPS.BLL.PlateCityBLL.BLLPlateCity_TFactory(); HPS.BLL.PlateCityBLL.BLLPlateCity_TKeys Platecitykey = new HPS.BLL.PlateCityBLL.BLLPlateCity_TKeys(); Platecitykey.PlateCityID_int = TrafficEntityrpt.PlateCityID_int; HPS.BLL.PlateCityBLL.BLLPlateCity_T PlateCityEntity = new HPS.BLL.PlateCityBLL.BLLPlateCity_T(); PlateCityEntity = PlatecityFactory.GetBy(Platecitykey); if (PlateCityEntity != null) { NumberPlatetxt.Text = "شماره پلاک : " + Hepsa.Core.Common.PersentationController.CorrectNumberPlate(TrafficEntityrpt.NumberPlate_nvc) + " - " + PlateCityEntity.PlateCity_nvc + " " + TrafficEntityrpt.SerialPlate_nvc; } else { NumberPlatetxt.Text = "شماره پلاک : " + Hepsa.Core.Common.PersentationController.CorrectNumberPlate(TrafficEntityrpt.NumberPlate_nvc) + " - " + TrafficEntityrpt.SerialPlate_nvc; } if (TrafficEntityrpt.WithLade_bit == true) { WithLadetxt.Text = "وضعیت : " + "با بار" + "(" + TrafficEntityrpt.Comment_nvc + ") "; } else { WithLadetxt.Text = "وضعیت : " + "بدون بار"; } HPS.BLL.BillMessageBLL.BLLBillMessage_TFactory BillFactory = new HPS.BLL.BillMessageBLL.BLLBillMessage_TFactory(); if (TrafficEntityrpt.BillMessageID_int == 0 || TrafficEntityrpt.BillMessageID_int == null) { } else { string Billcondition = "[BillMessage_T].[BillMessageID_int]=" + TrafficEntityrpt.BillMessageID_int; List <HPS.BLL.BillMessageBLL.BLLBillMessage_T> BillLst = BillFactory.GetAllByCondition(Billcondition); if (BillLst != null) { Messagetxt.Text = BillLst[0].Message_nvc; } } HamrahanSystem.TextBox.NumericTextBox txt = new HamrahanSystem.TextBox.NumericTextBox(); txt.DigitsInGroup = 3; if (TrafficEntityrpt.Price_dec != null) { txt.Text = TrafficEntityrpt.Price_dec.ToString(); Pricetxt.Text = " مبلغ دریافتی هنگام ورود " + txt.Text + " ريال می باشد"; } //AllowableHourtxt.Text = TrafficEntityrpt.AllowableHour_int.ToString(); //txt.Text = TrafficEntityrpt.Fee_dec.ToString(); //Feetxt.Text = txt.Text; //ExtraHourtxt.Text = TrafficEntityrpt.ExtraHour_int.ToString(); // txt.Text = TrafficEntityrpt.ExtraHourFee_dec.ToString(); //ExtraHourFeetxt.Text = txt.Text; UserNametxt.Text = TrafficEntityrpt.UserName_nvc; TrafficNumberbarcode.Text = TrafficEntityrpt.TrafficNumber_bint.ToString(); if (TrafficEntityrpt.TurnAccepted_bit == false && TrafficEntityrpt.TurnHour_int != null) { TurnNumberAllerttxt.Text = " شماره نوبت شما رزرو می باشد لطفاً تا " + TrafficEntityrpt.TurnHour_int.ToString() + " ساعت نسبت به تأیید آن اقدام نمایید"; } }
public override bool Validate(params object[] value) { try { this.Description = string.Empty; if (value.Length != Field.Length) { this.Description = Hepsa.Core.My.Resources.ValidationMessage.IncorrectDataType; return(false); } Int32? ServiceID_int = (Int32?)value[0]; string NumberPlate_nvc = Convert.ToString(value[1]); string SerialPlate_nvc = Convert.ToString(value[2]); Int64? TrafficID_bint = (Int64?)value[3]; Int64? TrafficNumber_bint = (Int64?)value[5]; string CarCardNumber_nvc = string.Empty; HPS.BLL.TrafficBLL.BLLTraffic_TFactory TrafficFactory = new HPS.BLL.TrafficBLL.BLLTraffic_TFactory(); HPS.BLL.TrafficBLL.BLLTraffic_T TrafficEntity = new HPS.BLL.TrafficBLL.BLLTraffic_T(); if (string.IsNullOrEmpty(NumberPlate_nvc) && string.IsNullOrEmpty(SerialPlate_nvc)) { HPS.BLL.TrafficBLL.BLLTraffic_TKeys TrafficKey = new HPS.BLL.TrafficBLL.BLLTraffic_TKeys(); TrafficKey.TrafficID_bint = TrafficID_bint.Value; TrafficEntity = TrafficFactory.GetBy(TrafficKey); if (TrafficEntity != null) { ServiceID_int = TrafficEntity.ServiceID_int; NumberPlate_nvc = TrafficEntity.NumberPlate_nvc; SerialPlate_nvc = TrafficEntity.SerialPlate_nvc; } } ///////////////////////////////////// #region AcceptTurn Conditions DataTable TrafficStatusDataTable = new DataTable(); TrafficFactory.GetLastStatus(NumberPlate_nvc, SerialPlate_nvc, CarCardNumber_nvc, TrafficStatusDataTable); if (ServiceID_int.HasValue && ServiceID_int.Value == 2) { if (TrafficStatusDataTable != null && TrafficStatusDataTable.Rows.Count > 0) { Int64 LastTrafficID_bint = 0; if (Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["TrafficID_bint"], TypeCode.Int64) != null) { LastTrafficID_bint = (Int64)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["TrafficID_bint"], TypeCode.Int64); } bool? HasTurn_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["HasTurn_bit"], TypeCode.Boolean); bool? TurnReturn_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["TurnReturn_bit"], TypeCode.Boolean); bool? TurnCanceled_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["TurnCanceled_bit"], TypeCode.Boolean); bool? HasLadBillCredit_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["HasLadBillCredit_bit"], TypeCode.Boolean); bool? LadBillCreditCancel_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["LadBillCreditCancel_bit"], TypeCode.Boolean); bool? LadBillCreditTurn_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["LadBillCreditTurn_bit"], TypeCode.Boolean); bool? TurnAccepted_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["TurnAccepted_bit"], TypeCode.Boolean); Int64?AcceptedTurnNumber_bint = (Int64?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusDataTable.Rows[0]["AcceptedTurnNumber_bint"], TypeCode.Int64); if (HasTurn_bit.HasValue == false || HasTurn_bit == false) { /////////TurnAcception(TrafficEntityUpdate, TrafficDate, _TurnHour, TrafficKey); } else { if (TurnAccepted_bit.HasValue && TurnAccepted_bit == true) { if (TurnCanceled_bit.HasValue && TurnCanceled_bit == true) { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } else { if (HasLadBillCredit_bit.HasValue && HasLadBillCredit_bit == true) { if (LadBillCreditCancel_bit.HasValue && LadBillCreditCancel_bit == true) { if (LadBillCreditTurn_bit.HasValue && LadBillCreditTurn_bit == true) { //محاسبه مدت مجاز سفر DateTime NowDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(TrafficFactory.ServerJalaliDate)).MyDate.ToString("yyyy/MM/dd") + " " + TrafficFactory.ServerTime); DataTable TrafficDataTable = new DataTable(); string Condition = string.Format("Traffic_T.TrafficID_bint='{0}'", TrafficID_bint); TrafficFactory.GetAllByConditionWithLadBill(Condition, ref TrafficDataTable); if (TrafficDataTable != null && TrafficDataTable.Rows.Count > 0) { // حذف چک کردن این مورد در زمانی که مجوز گرفته و ابطال با حفظ نوبت شده شده است در تاریخ 93/11/25 انجام شد که بتوان اطلاعات تردد را ویرایش نمود //Int32 _CityTravelHour = 0; //if (!string.IsNullOrEmpty(TrafficDataTable.Rows[0]["TravelTime_int"].ToString())) //{ // _CityTravelHour = Convert.ToInt32(TrafficDataTable.Rows[0]["TravelTime_int"].ToString()); //} ///////////////// //string _OutDate = TrafficDataTable.Rows[0]["Date_nvc"].ToString(); //string _OutTime = TrafficDataTable.Rows[0]["Time_nvc"].ToString(); //DateTime OutDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(_OutDate)).MyDate.ToString("yyyy/MM/dd") + " " + _OutTime); //if (TrafficDataTable.Rows[0]["Out_bit"].ToString() == "False") //{ // TimeSpan date = NowDate - OutDate; // double remaindedHour = _CityTravelHour - date.TotalHours; // if (OutDate.AddHours(_CityTravelHour).CompareTo(NowDate) > 0)//date.TotalHours > _CityTravelHour) // { // Description = (string.Format("مدت سفراین ناوگان به مجوز< {0} >تمام نشده و مدت < {1} > مانده است ", TrafficDataTable.Rows[0]["LadBillCreditID_int"], TimeSpan.FromDays(remaindedHour))); // return false; // } //} } else { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } } } else { //محاسبه مدت مجاز سفر DateTime NowDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(TrafficFactory.ServerJalaliDate)).MyDate.ToString("yyyy/MM/dd") + " " + TrafficFactory.ServerTime); DataTable TrafficDataTable = new DataTable(); string Condition = string.Format("Traffic_T.TrafficID_bint='{0}'", LastTrafficID_bint); TrafficFactory.GetAllByConditionWithLadBill(Condition, ref TrafficDataTable); if (TrafficDataTable != null && TrafficDataTable.Rows.Count > 0) { Int32 _CityTravelHour = 0; if (!string.IsNullOrEmpty(TrafficDataTable.Rows[0]["TravelTime_int"].ToString())) { _CityTravelHour = Convert.ToInt32(TrafficDataTable.Rows[0]["TravelTime_int"].ToString()); } /////////////// string _OutDate = TrafficDataTable.Rows[0]["Date_nvc"].ToString(); string _OutTime = TrafficDataTable.Rows[0]["Time_nvc"].ToString(); DateTime OutDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(_OutDate)).MyDate.ToString("yyyy/MM/dd") + " " + _OutTime); if (TrafficDataTable.Rows[0]["Out_bit"].ToString() == "False") { TimeSpan date = NowDate - OutDate; double remaindedHour = _CityTravelHour - date.TotalHours; if (OutDate.AddHours(_CityTravelHour).CompareTo(NowDate) > 0)//date.TotalHours > _CityTravelHour) { Description = (string.Format("مدت سفراین ناوگان به مجوز< {0} >تمام نشده و مدت < {1} > مانده است ", TrafficDataTable.Rows[0]["LadBillCreditID_int"], TimeSpan.FromDays(remaindedHour))); return(false); } } } else { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } } } else { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TrafficID_bint != LastTrafficID_bint) { Description = (string.Format("این ناوگان دارای شماره نوبت تأیید شده {0} می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } } } else if (TurnAccepted_bit.HasValue && TurnReturn_bit == true) { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } else { //محاسبه مدت مجاز سفر DataTable LadBillDataTable = new DataTable(); TrafficFactory.GetTurnStatus(NumberPlate_nvc, SerialPlate_nvc, LadBillDataTable); if (LadBillDataTable != null && LadBillDataTable.Rows.Count > 0) { bool? PreviousTurnAccepted_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(LadBillDataTable.Rows[LadBillDataTable.Rows.Count - 1]["TurnAccepted_bit"], TypeCode.Boolean); Int32?PreviousTurnCancelCommandID_bit = (Int32?)Hepsa.Core.Common.PersentationController.GetEntityValue(LadBillDataTable.Rows[LadBillDataTable.Rows.Count - 1]["TurnCancelCommantID_int"], TypeCode.Int32); bool? PreviousTurnReturn_bit = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(LadBillDataTable.Rows[LadBillDataTable.Rows.Count - 1]["Return_bit"], TypeCode.Boolean); if (PreviousTurnAccepted_bit.HasValue && PreviousTurnAccepted_bit == true) { if (PreviousTurnCancelCommandID_bit.HasValue) { if (PreviousTurnReturn_bit.HasValue && PreviousTurnReturn_bit == true) { //باطل شده و احیا شده Description = (string.Format("ناوگان دارای شماره نوبت تأییدی< {0} >می باشد", LadBillDataTable.Rows[LadBillDataTable.Rows.Count - 1]["AcceptedTurnnumber_bint"])); return(false); } } else { //تأیید شده و باطل نشده DateTime NowDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(TrafficFactory.ServerJalaliDate)).MyDate.ToString("yyyy/MM/dd") + " " + TrafficFactory.ServerTime); DataTable TrafficDataTable = new DataTable(); string Condition = string.Format("Traffic_T.NumberPlate_nvc='{0}' and SerialPlate_nvc='{1}'", NumberPlate_nvc, SerialPlate_nvc); TrafficFactory.GetAllByConditionWithLadBill(Condition, ref TrafficDataTable); if (TrafficDataTable != null && TrafficDataTable.Rows.Count > 0) { string filter = "LadeAssignmentId_bint=Max(LadeAssignmentId_bint)"; DataRow[] dr = TrafficDataTable.Select(filter); if (dr != null && dr.Length > 0) { Int32 _CityTravelHour = 0; if (!string.IsNullOrEmpty(dr[dr.Length - 1]["TravelTime_int"].ToString())) { _CityTravelHour = Convert.ToInt32(dr[dr.Length - 1]["TravelTime_int"].ToString()); } string _OutDate = dr[dr.Length - 1]["LadBillDate"].ToString(); string _OutTime = dr[dr.Length - 1]["LadBillTime"].ToString(); DateTime OutDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(_OutDate)).MyDate.ToString("yyyy/MM/dd") + " " + _OutTime); DataTable TrafficStatusForAcceptTurnDataTable = new DataTable(); TrafficFactory.GetLastStatusForAcceptTurn((Int64)Hepsa.Core.Common.PersentationController.GetEntityValue(dr[dr.Length - 1]["TrafficID_bint"], TypeCode.Int64), TrafficStatusForAcceptTurnDataTable); if (TrafficStatusForAcceptTurnDataTable != null && TrafficStatusForAcceptTurnDataTable.Rows.Count > 0 && Convert.ToBoolean(TrafficStatusForAcceptTurnDataTable.Rows[0]["HasTurn_bit"]) == true) { bool?LadBillCreditCancel = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["LadBillCreditCancel_bit"], TypeCode.Boolean); bool?LadBillCreditTurn = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["LadBillCreditTurn_bit"], TypeCode.Boolean); bool?TurnReturn = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["TurnReturn_bit"], TypeCode.Boolean); bool?TurnCanceled = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["TurnCanceled_bit"], TypeCode.Boolean); bool?TurnAccepted = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["TurnAccepted_bit"], TypeCode.Boolean); if (LadBillCreditCancel.HasValue && LadBillCreditCancel == true) { if (LadBillCreditTurn.HasValue && LadBillCreditTurn == true) { Description = (string.Format("این ناوگان دارای شماره نوبت تأیید شده< {0} >می باشد", TrafficStatusForAcceptTurnDataTable.Rows[0]["AcceptedTurnNumber_bint"])); return(false); } } else { if (TurnCanceled.HasValue && TurnCanceled == true) { if (TurnReturn.HasValue && TurnReturn == true) { //احیای نوبت در ابطال مجوز پس مدت سفر داره if (dr[dr.Length - 1]["Out_bit"].ToString() == "False") { TimeSpan date = NowDate - OutDate; double remaindedHour = _CityTravelHour - date.TotalHours; string RemaindeHour = TimeSpan.FromDays(remaindedHour).ToString().Substring(0, TimeSpan.FromDays(remaindedHour).ToString().Length - 3); if (OutDate.AddHours(_CityTravelHour).CompareTo(NowDate) > 0)//date.TotalHours > _CityTravelHour) { Description = (string.Format("مدت سفراین ناوگان به مجوز< {0} >تمام نشده و مدت < {1} > مانده است ", dr[dr.Length - 1]["LadBillCreditID_int"], RemaindeHour)); return(false); } } } } else { // لحاظ نمودن مدت سفر if (dr[dr.Length - 1]["Out_bit"].ToString() == "False") { TimeSpan date = NowDate - OutDate; double remaindedHour = _CityTravelHour - date.TotalHours; string RemaindeHour = TimeSpan.FromDays(remaindedHour).ToString().Substring(0, TimeSpan.FromDays(remaindedHour).ToString().Length - 3); if (OutDate.AddHours(_CityTravelHour).CompareTo(NowDate) > 0)//date.TotalHours > _CityTravelHour) { Description = (string.Format("مدت سفراین ناوگان به مجوز< {0} >تمام نشده و مدت < {1} > مانده است ", dr[dr.Length - 1]["LadBillCreditID_int"], RemaindeHour)); return(false); } else { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { List <HPS.BLL.TrafficBLL.BLLTraffic_T> trafficList = new List <HPS.BLL.TrafficBLL.BLLTraffic_T>(); trafficList = TrafficFactory.GetAllBy(HPS.BLL.TrafficBLL.BLLTraffic_T.Traffic_TField.TrafficNumber_bint, TrafficNumber_bint); if (trafficList != null && trafficList.Count > 0) { if (trafficList[0].In_bit == true && (trafficList[0].NumberPlate_nvc != NumberPlate_nvc || Convert.ToInt32(trafficList[0].SerialPlate_nvc) != Convert.ToInt32(SerialPlate_nvc))) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } } } } } } } } } else { DataTable TurnStatus = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatus); if (TurnStatus != null && TurnStatus.Rows.Count > 0) { DataTable TrafficStatusForAcceptTurnDataTable = new DataTable(); TrafficFactory.GetLastStatusForAcceptTurn((Int64)Hepsa.Core.Common.PersentationController.GetEntityValue(TurnStatus.Rows[TurnStatus.Rows.Count - 1]["TrafficID_bint"], TypeCode.Int64), TrafficStatusForAcceptTurnDataTable); if (TrafficStatusForAcceptTurnDataTable != null && TrafficStatusForAcceptTurnDataTable.Rows.Count > 0 && Convert.ToBoolean(TrafficStatusForAcceptTurnDataTable.Rows[0]["HasTurn_bit"]) == true) { bool?LadBillCreditCancel = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["LadBillCreditCancel_bit"], TypeCode.Boolean); bool?LadBillCreditTurn = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["LadBillCreditTurn_bit"], TypeCode.Boolean); bool?TurnReturn = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["TurnReturn_bit"], TypeCode.Boolean); bool?TurnCanceled = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["TurnCanceled_bit"], TypeCode.Boolean); bool?TurnAccepted = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(TrafficStatusForAcceptTurnDataTable.Rows[0]["TurnAccepted_bit"], TypeCode.Boolean); if (LadBillCreditCancel.HasValue && LadBillCreditCancel == true) { if (LadBillCreditTurn.HasValue && LadBillCreditTurn == true) { Description = (string.Format("این ناوگان دارای شماره نوبت تأیید شده< {0} >می باشد", TrafficStatusForAcceptTurnDataTable.Rows[0]["AcceptedTurnNumber_bint"])); return(false); } } else { if (TurnCanceled.HasValue && TurnCanceled == true) { if (TurnReturn.HasValue && TurnReturn == true) { //نوبت فعال DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } } } } } } } } } else { DateTime NowDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(TrafficFactory.ServerJalaliDate)).MyDate.ToString("yyyy/MM/dd") + " " + TrafficFactory.ServerTime); DataTable TrafficDataTable = new DataTable(); string Condition = string.Format("Traffic_T.NumberPlate_nvc='{0}' and SerialPlate_nvc='{1}'", NumberPlate_nvc, SerialPlate_nvc); TrafficFactory.GetAllByConditionWithLadBill(Condition, ref TrafficDataTable); if (TrafficDataTable != null && TrafficDataTable.Rows.Count > 0) { string filter = "LadeAssignmentId_bint=Max(LadeAssignmentId_bint)"; DataRow[] dr = TrafficDataTable.Select(filter); if (dr != null && dr.Length > 0) { if (((bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(dr[dr.Length - 1]["Turn_bit"], TypeCode.Boolean) == true && (bool)Hepsa.Core.Common.PersentationController.GetEntityValue(dr[dr.Length - 1]["Canceled_bit"], TypeCode.Boolean) == true) || (bool)Hepsa.Core.Common.PersentationController.GetEntityValue(dr[dr.Length - 1]["Canceled_bit"], TypeCode.Boolean) == false) { Int32 _CityTravelHour = 0; if (!string.IsNullOrEmpty(dr[dr.Length - 1]["TravelTime_int"].ToString())) { _CityTravelHour = Convert.ToInt32(dr[dr.Length - 1]["TravelTime_int"].ToString()); } string _OutDate = dr[dr.Length - 1]["LadBillDate"].ToString(); string _OutTime = dr[dr.Length - 1]["LadBillTime"].ToString(); DateTime OutDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(_OutDate)).MyDate.ToString("yyyy/MM/dd") + " " + _OutTime); DataTable TrafficStatusForAcceptTurnDataTable = new DataTable(); if (dr[dr.Length - 1]["Out_bit"].ToString() == "False") { TimeSpan date = NowDate - OutDate; double remaindedHour = _CityTravelHour - date.TotalHours; string RemaindeHour = TimeSpan.FromDays(remaindedHour).ToString().Substring(0, TimeSpan.FromDays(remaindedHour).ToString().Length - 3); if (OutDate.AddHours(_CityTravelHour).CompareTo(NowDate) > 0) { if (string.IsNullOrEmpty(dr[dr.Length - 1]["Canceled_bit"].ToString()) || dr[dr.Length - 1]["Canceled_bit"].ToString() == "False") { Description = (string.Format("مدت سفراین ناوگان به مجوز< {0} >تمام نشده و مدت < {1} > مانده است ", dr[dr.Length - 1]["LadBillCreditID_int"], RemaindeHour)); return(false); } } } } } } else { // نوبت داره DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(NumberPlate_nvc, TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(SerialPlate_nvc, TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { Description = (string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); return(false); } } } } } } } #endregion //////////////////////////////////// return(true); } catch (System.Exception ex) { this.Description = ex.Message; return(false); } }