private void LoadWithDriverCardNumber() { HPS.BLL.DriverSpecificationBLL.BLLDriverSpecification_TFactory DriverSpecificationFactory = new HPS.BLL.DriverSpecificationBLL.BLLDriverSpecification_TFactory(); List <HPS.BLL.DriverSpecificationBLL.BLLDriverSpecification_T> DriverSpecificationList = DriverSpecificationFactory.GetAllBy(HPS.BLL.DriverSpecificationBLL.BLLDriverSpecification_T.DriverSpecification_TField.NationalCode_int, _NationalCode); if (DriverSpecificationList != null && DriverSpecificationList.Count > 0) { _DriverSpecificationID = DriverSpecificationList[0].DriverSpecificationID_int; Key = new HPS.BLL.DriverSpecificationBLL.BLLDriverSpecification_TKeys(); Key.DriverSpecificationID_int = _DriverSpecificationID; DriverCardNumber_nvcTextBox.Text = DriverSpecificationList[0].DriverCardNumber_nvc; FirstName_nvcTextBox.Text = DriverSpecificationList[0].FirstName_nvc; LastName_nvcTextBox.Text = DriverSpecificationList[0].LastName_nvc; NationalCode_intNumericTextBox.Text = Convert.ToString(DriverSpecificationList[0].NationalCode_int); licenceNumber_nvcTextBox.Text = DriverSpecificationList[0].licenceNumber_nvc; LicenceEnd_nvcTextBox.Text = DriverSpecificationList[0].LicenceEnd_nvc; ClassID_intComboBox.SelectedValue = DriverSpecificationList[0].ClassID_int.HasValue?DriverSpecificationList[0].ClassID_int:0; HealthCardEndDate_nvcTextBox.Text = DriverSpecificationList[0].HealthCardEndDate_nvc; DriverCardSharjeEndDate_nvcTextBox.Text = DriverSpecificationList[0].DriverCardSharjeEndDate_nvc; SaveAndCloseButton.Visible = false; } else { Editbutton.Visible = false; HPS.BLL.TrafficBLL.BLLTraffic_TFactory TrafficFactory = new HPS.BLL.TrafficBLL.BLLTraffic_TFactory(); List <HPS.BLL.TrafficBLL.BLLTraffic_T> TrafficList = TrafficFactory.GetAllBy(HPS.BLL.TrafficBLL.BLLTraffic_T.Traffic_TField.NationalCode_int, _NationalCode); if (TrafficList != null && TrafficList.Count > 0) { DriverCardNumber_nvcTextBox.Text = TrafficList[TrafficList.Count - 1].DriverCardNumber_nvc; FirstName_nvcTextBox.Text = TrafficList[TrafficList.Count - 1].FirstName_nvc; LastName_nvcTextBox.Text = TrafficList[TrafficList.Count - 1].LastName_nvc; NationalCode_intNumericTextBox.Text = Convert.ToString(TrafficList[TrafficList.Count - 1].NationalCode_int); licenceNumber_nvcTextBox.Text = Convert.ToString(TrafficList[TrafficList.Count - 1].licenceNumber_int); } else { HPS.BLL.DriverBLL.BLLDriver_TFactory DriverFactory = new HPS.BLL.DriverBLL.BLLDriver_TFactory(); List <HPS.BLL.DriverBLL.BLLDriver_T> DriverList = DriverFactory.GetAllBy(HPS.BLL.DriverBLL.BLLDriver_T.Driver_TField.NationalCode_int, _NationalCode); if (DriverList != null && DriverList.Count > 0) { DriverCardNumber_nvcTextBox.Text = DriverList[0].DriverCardNumber_nvc; FirstName_nvcTextBox.Text = DriverList[0].FirstName_nvc; LastName_nvcTextBox.Text = DriverList[0].LastName_nvc; NationalCode_intNumericTextBox.Text = Convert.ToString(DriverList[0].NationalCode_int); licenceNumber_nvcTextBox.Text = Convert.ToString(DriverList[0].licenceNumber_nvc); } } } }
private void SaveButton_Click(object sender, EventArgs e) { HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory LadBillCreditFactory = new HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory(); HPS.BLL.LadBillCreditCancelCommentBLL.BLLLadBillCreditCancelComment_TFactory LadBillCreditCancelCommentFactory = new HPS.BLL.LadBillCreditCancelCommentBLL.BLLLadBillCreditCancelComment_TFactory(); try { if (LadBillCreditCancelCommentID_intCheckedListBox.CheckedItems.Count == 0) { throw new ApplicationException("توضیحات ابطال مجوز انتخاب نشده است"); } HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_T LadBillCreditEntity = LadBillCreditFactory.GetBy(this._Key); HPS.BLL.TrafficBLL.BLLTraffic_TFactory TrafficFactory = new HPS.BLL.TrafficBLL.BLLTraffic_TFactory(); if (LadBillCreditEntity == null) { throw new HPS.Exceptions.LadBillCreditNotFound(); } LadBillCreditEntity.Canceled_bit = true; LadBillCreditEntity.CanceledComment_nvc = this.LadBillCreditCancelComment_nvcTextBox.Text; LadBillCreditEntity.CanceledDate_nvc = LadBillCreditFactory.ServerJalaliDate; LadBillCreditEntity.CanceledTime_nvc = LadBillCreditFactory.ServerTime; LadBillCreditEntity.CanceledUserName_nvc = HPS.Common.CurrentUser.user.UserName_nvc; if (TurnLeftRadioButton.Checked == true) { LadBillCreditEntity.Turn_bit = true; } else if (TurnCancelRadioButton.Checked == true) { LadBillCreditEntity.Turn_bit = false; } if (LadBillCreditEntity.Turn_bit.HasValue == false) { throw new ApplicationException("وضعیت نوبت را تعیین نمایید "); } if (LadeAssignmentLeftradioButton.Checked == false && LadeAssginmentCancelradioButton.Checked == false && OtherRemainedCancelRadioButton.Checked == false) { throw new ApplicationException("وضعیت اطلاع رسانی را تعیین نمایید "); } string strSelect = string.Format("TrafficID_bint='{0}'", _TrafficKey.TrafficID_bint); DataRow[] drSelect = _dataTable.Select(strSelect); DataTable TrafficStatusDataTable = new DataTable(); if (drSelect != null && drSelect.Length > 0) { LadBillCreditFactory.GetLastStatusForCancelLadBillCredit((string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["NumberPlate_nvc"], TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["SerialPlate_nvc"], TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["CarCardNumber_nvc"], TypeCode.String), TrafficStatusDataTable); } if (TrafficStatusDataTable != null && TrafficStatusDataTable.Rows.Count > 0) { 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); // DateTime TrafficDate = DateTime.Parse((new Hepsa.Core.Common.MyDateTime(TrafficEntity.Date_nvc)).MyDate.ToString("yyyy/MM/dd") + " " + TrafficEntity.Time_nvc); #region Conditions if ((Int32)drSelect[0]["ServiceID_int"] == 2) { if (TrafficStatusDataTable != null && TrafficStatusDataTable.Rows.Count > 0) { if (HasTurn_bit.HasValue == false || HasTurn_bit == true) { if (TurnAccepted_bit.HasValue && TurnAccepted_bit == true) { if (TurnCanceled_bit.HasValue && TurnCanceled_bit == true) { throw new ApplicationException("این نوبت باطل شده است"); } else { if (HasLadBillCredit_bit.HasValue && HasLadBillCredit_bit == true) { if (LadBillCreditCancel_bit.HasValue && LadBillCreditCancel_bit == false) { 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(); 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; if (date.TotalHours < _CityTravelHour) { throw new ApplicationException("مدت مجاز سفر برای این کامیون تمام نشده است و امکان ادامه عملیات ممکن نیست"); } } } } else { if (TurnLeftRadioButton.Checked) { DataTable TurnStatusDataTable = new DataTable(); //*************اگر خودرو خارج شده باشد اجازه حفظ نوبت را نداشته باشد93/06/10 List <HPS.BLL.TrafficBLL.BLLTraffic_T> TrafficList = TrafficFactory.GetAllBy(HPS.BLL.TrafficBLL.BLLTraffic_T.Traffic_TField.TrafficNumber_bint, drSelect[0]["TrafficNumber_bint"]); if (TrafficList.Count > 0 && TrafficList != null) { foreach (HPS.BLL.TrafficBLL.BLLTraffic_T item in TrafficList) { if (item.Out_bit == true) { //LadBillCreditEntity.Turn_bit = false; Hepsa.Core.Common.MessageBox.InformationMessage("این خودرو خارج شده است، امکان حفظ نوبت وجود ندارد"); return; } } } //BLL.SettingsBLL.BLLSetting_TKeys SettingKey = new BLL.SettingsBLL.BLLSetting_TKeys(); //BLL.SettingsBLL.BLLSetting_T SettingEntity = new BLL.SettingsBLL.BLLSetting_T(); //BLL.SettingsBLL.BLLSetting_TFactory SettingsFactory = new BLL.SettingsBLL.BLLSetting_TFactory(); //SettingKey.SettingID_int = 1009; //SettingEntity = SettingsFactory.GetBy(SettingKey); //TrafficFactory.SelectActiveTurnsForInTraffic(drSelect[0]["NumberPlate_nvc"].ToString(), drSelect[0]["SerialPlate_nvc"].ToString(), SettingEntity.Value_nvc, "00:00:00", TrafficFactory.ServerJalaliDate, "23:59:59", TurnStatusDataTable); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["NumberPlate_nvc"], TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["SerialPlate_nvc"], TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { if ((bool?)(Hepsa.Core.Common.PersentationController.GetEntityValue(TurnStatusDataTable.Rows[0]["Canceled_bit"], TypeCode.Boolean)) != false) { throw new ApplicationException(string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[0]["AcceptedTurnNumber_bint"])); } } DataTable LadBillCreditTrafficStatusDataTable = new DataTable(); LadBillCreditFactory.GetLadBillCreditTrafficStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["NumberPlate_nvc"], TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["SerialPlate_nvc"], TypeCode.String), LadBillCreditTrafficStatusDataTable); if (LadBillCreditTrafficStatusDataTable != null && LadBillCreditTrafficStatusDataTable.Rows.Count > 0) { int? LadBillCredit = (int?)Hepsa.Core.Common.PersentationController.GetEntityValue(LadBillCreditTrafficStatusDataTable.Rows[0]["LadBillCreditID_int"], TypeCode.Int32); int? TurnCancelComment = (int?)Hepsa.Core.Common.PersentationController.GetEntityValue(LadBillCreditTrafficStatusDataTable.Rows[0]["TurnCancelCommantID_int"], TypeCode.Int32); bool?Turnaccepted = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(LadBillCreditTrafficStatusDataTable.Rows[0]["Turnaccepted_bit"], TypeCode.Boolean); string strHas2LadBill = string.Format("TrafficID_bint='{0}'", drSelect[0]["TrafficID_bint"]); string strSecondStatus = string.Format("TrafficID_bint>'{0}'", drSelect[0]["TrafficID_bint"]); DataRow[] drHas2LadBill = LadBillCreditTrafficStatusDataTable.Select(strHas2LadBill); DataRow[] drSecondStatus = LadBillCreditTrafficStatusDataTable.Select(strSecondStatus); if (drHas2LadBill != null && drHas2LadBill.Length > 0) { if (drSecondStatus != null && drSecondStatus.Length > 0) { int? LadBillCreditSecond = (int?)Hepsa.Core.Common.PersentationController.GetEntityValue(drSecondStatus[0]["LadBillCreditID_int"], TypeCode.Int32); int? TurnCancelCommentSecond = (int?)Hepsa.Core.Common.PersentationController.GetEntityValue(drSecondStatus[0]["TurnCancelCommantID_int"], TypeCode.Int32); bool?TurnacceptedSecond = (bool?)Hepsa.Core.Common.PersentationController.GetEntityValue(drSecondStatus[0]["Turnaccepted_bit"], TypeCode.Boolean); if (TurnacceptedSecond.HasValue && TurnacceptedSecond == true) { if (LadBillCreditSecond.HasValue) { throw new ApplicationException(string.Format("این ناوگان به شماره نوبت< {0} >و شماره قبض< {1} >مجوز گرفته است", drSecondStatus[0]["AcceptedTurnNumber_bint"], drSecondStatus[0]["TrafficNumber_bint"])); } else { if (TurnCancelCommentSecond.HasValue == false) { throw new ApplicationException(string.Format("این ناوگان داراي شماره نوبت تأييد شده< {0} >مي باشد", drSecondStatus[0]["AcceptedTurnNumber_bint"], drSecondStatus[0]["TrafficNumber_bint"])); } } } } } else { DataTable TurnTtatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["NumberPlate_nvc"], TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["SerialPlate_nvc"], TypeCode.String), TurnTtatusDataTable); if (TurnTtatusDataTable != null && TurnTtatusDataTable.Rows.Count > 0) { if ((bool?)(Hepsa.Core.Common.PersentationController.GetEntityValue(TurnStatusDataTable.Rows[0]["Canceled_bit"], TypeCode.Boolean)) != false) { throw new ApplicationException(string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[0]["AcceptedTurnNumber_bint"])); } } } } } else { if (TurnCancelRadioButton.Checked == true) { LadBillCreditEntity.Turn_bit = false; //*************اگر خودرو خارج نشده باشد اجازه ابطال را نداشته باشد94/10/01 List <HPS.BLL.TrafficBLL.BLLTraffic_T> TrafficOutList = TrafficFactory.GetAllByCondition(string.Format("[Traffic_T].Out_bit=1 and [Traffic_T].TrafficNumber_bint={0}", drSelect[0]["TrafficNumber_bint"].ToString())); if (TrafficOutList.Count == 0) { Hepsa.Core.Common.MessageBox.InformationMessage("این خودرو خارج نشده است، امکان ابطال وجود ندارد"); return; } } //ابطال نوبت HPS.BLL.TurnManagementBLL.BLLTurnManagement_TFactory TurnManagementFactory = new HPS.BLL.TurnManagementBLL.BLLTurnManagement_TFactory(); HPS.BLL.TurnManagementBLL.BLLTurnManagement_T TurnManagementEntity = new HPS.BLL.TurnManagementBLL.BLLTurnManagement_T(); TurnManagementEntity.TurnCancelCommantID_int = 11; TurnManagementEntity.TurnCancelCommment_nvc = "ابطال نوبت هنگام ابطال مجوز"; TurnManagementEntity.Return_bit = false; TurnManagementEntity.Date_nvc = TurnManagementFactory.ServerJalaliDate; TurnManagementEntity.Time_nvc = TurnManagementFactory.ServerTime; TurnManagementEntity.UserName_nvc = HPS.Common.CurrentUser.user.UserName_nvc; TurnManagementEntity.TrafficID_bint = (Int64?)drSelect[0]["TrafficID_bint"]; TurnManagementFactory.Insert(TurnManagementEntity); } } } else { DataTable TurnStatusDataTable = new DataTable(); TrafficFactory.GetTurnStatus((string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["NumberPlate_nvc"], TypeCode.String), (string)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["SerialPlate_nvc"], TypeCode.String), TurnStatusDataTable); if (TurnStatusDataTable != null && TurnStatusDataTable.Rows.Count > 0) { throw new ApplicationException(string.Format("ناوگان دارای شماره نوبت تأییدی < {0} >می باشد", TurnStatusDataTable.Rows[TurnStatusDataTable.Rows.Count - 1]["AcceptedTurnNumber_bint"])); } } } else { if (TurnLeftRadioButton.Checked) { throw new ApplicationException(string.Format("این ناوگان دارای شماره نوبت تأیید شده {0} می باشد ومجوز نگرفته است", AcceptedTurnNumber_bint)); } } } } else { DataTable TrafficStatusForAcceptTurnDataTable = new DataTable(); TrafficFactory.GetLastStatusForAcceptTurn((Int64)Hepsa.Core.Common.PersentationController.GetEntityValue(drSelect[0]["TrafficID_bint"], TypeCode.Int64), TrafficStatusForAcceptTurnDataTable); if (TrafficStatusForAcceptTurnDataTable != null && TrafficStatusForAcceptTurnDataTable.Rows.Count > 0) { throw new ApplicationException(string.Format("این ناوگان دارای شماره نوبت تأیید شده {0} می باشد ومجوز نگرفته است", TrafficStatusForAcceptTurnDataTable.Rows[0]["AcceptedTurnNumber_bint"])); } } } } else { throw new ApplicationException("نوبت معتبر ندارد"); } } #endregion } LadBillCreditFactory.BeginProc(); if (LadeAssginmentCancelradioButton.Checked) { //ابطال اطلاع رسانی بار LadBillCreditFactory.Update(LadBillCreditEntity, this._Key); HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory LadeCancelAssignmentFactory = new HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory(); HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T LadeCancelAssignmentEntity = new HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T(); LadeCancelAssignmentEntity.LadeAssignmentID_bint = _LaKey.LadeAssignmentID_bint.Value; LadeCancelAssignmentEntity.LadeCancelCommentID_int = 6; LadeCancelAssignmentEntity.LadeCancelComment_nvc = "ابطال اطلاع رسانی بار هنگام ابطال مجوز"; LadeCancelAssignmentEntity.Count_int = 1; LadeCancelAssignmentEntity.Date_nvc = LadeCancelAssignmentFactory.ServerJalaliDate; LadeCancelAssignmentEntity.Time_nvc = LadeCancelAssignmentFactory.ServerTime; LadeCancelAssignmentEntity.UserName_nvc = HPS.Common.CurrentUser.user.UserName_nvc; LadeCancelAssignmentFactory.Insert(LadeCancelAssignmentEntity); } else if (OtherRemainedCancelRadioButton.Checked) { //ابطال اطلاع رسانی بار و باقی مانده ها HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory LadeCancelAssignmentFactory = new HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory(); HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T LadeCancelAssignmentEntity = new HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T(); BLL.LadeAssignmentBLL.BLLLadeAssignment_TFactory LadeAssignmentFactory = new HPS.BLL.LadeAssignmentBLL.BLLLadeAssignment_TFactory(); DataTable remainedLadeAssignmentTable = new DataTable(); string condition = string.Format("LadeAssignmentID_bint={0}", _LaKey.LadeAssignmentID_bint.Value); LadeAssignmentFactory.SelectRemainedDetailSelectByCondition(condition, remainedLadeAssignmentTable); int remaindCount_int = 0; if (remainedLadeAssignmentTable != null && remainedLadeAssignmentTable.Rows.Count > 0) { remaindCount_int = (Int32)remainedLadeAssignmentTable.Rows[remainedLadeAssignmentTable.Rows.Count - 1]["RemainderCount_int"]; } LadBillCreditFactory.Update(LadBillCreditEntity, this._Key); LadeCancelAssignmentEntity.LadeAssignmentID_bint = _LaKey.LadeAssignmentID_bint.Value; LadeCancelAssignmentEntity.LadeCancelCommentID_int = 6; LadeCancelAssignmentEntity.LadeCancelComment_nvc = "ابطال اطلاع رسانی بار هنگام ابطال مجوز"; LadeCancelAssignmentEntity.Count_int = remaindCount_int + 1; LadeCancelAssignmentEntity.Date_nvc = LadeCancelAssignmentFactory.ServerJalaliDate; LadeCancelAssignmentEntity.Time_nvc = LadeCancelAssignmentFactory.ServerTime; LadeCancelAssignmentEntity.UserName_nvc = HPS.Common.CurrentUser.user.UserName_nvc; LadeCancelAssignmentFactory.Insert(LadeCancelAssignmentEntity); } else { LadBillCreditFactory.Update(LadBillCreditEntity, this._Key); } //ابطال مجوز for (int index = 0; index < this.LadBillCreditCancelCommentID_intCheckedListBox.CheckedItems.Count; index++) { HPS.BLL.LadBillCreditCancelCommentBLL.BLLLadBillCreditCancelComment_T LadBillCreditCancelCommentEntity = new HPS.BLL.LadBillCreditCancelCommentBLL.BLLLadBillCreditCancelComment_T(); LadBillCreditCancelCommentEntity.LadBillCreditID_int = this._Key.LadBillCreditID_int; LadBillCreditCancelCommentEntity.LadBillCancelCommentID_int = ((HPS.BLL.LadBillCancelCommentBLL.BLLLadBillCancelComment_T) this.LadBillCreditCancelCommentID_intCheckedListBox.CheckedItems[index]).LadBillCancelCommentID_int; LadBillCreditCancelCommentEntity.LadbillCancelComment_nvc = ((HPS.BLL.LadBillCancelCommentBLL.BLLLadBillCancelComment_T) this.LadBillCreditCancelCommentID_intCheckedListBox.CheckedItems[index]).LadbillCancelComment_nvc; LadBillCreditCancelCommentFactory.Insert(LadBillCreditCancelCommentEntity); } LadBillCreditFactory.CommitProc(); if (this._dataTable != null) { DataRow[] dr = this._dataTable.Select(string.Format("LadBillCreditID_int = {0}", this._Key.LadBillCreditID_int)); if (dr != null && dr.Length > 0) { dr[0]["Canceled_bit"] = true; } this._dataTable.AcceptChanges(); } this.Close(); } catch (Exception ex) { LadBillCreditFactory.RollBackProc(); Hepsa.Core.Common.MessageBox.ErrorMessage(ex.Message); } }
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); } }