private void EditButton_Click(object sender, EventArgs e) { try { bool CanNotChangeType; if (this.LadeAssignmentGridView.CurrentRow.Cells["colCarCount_int"].Value.ToString() != this.LadeAssignmentGridView.CurrentRow.Cells["colRemainedCar"].Value.ToString()) { CanNotChangeType = false; } else { CanNotChangeType = true; } bool CanNotChangeCount = false; BLL.LadeAssignmentBLL.BLLLadeAssignment_TFactory LadeAssignmentFactory = new HPS.BLL.LadeAssignmentBLL.BLLLadeAssignment_TFactory(); HPS.BLL.LadeAssignmentBLL.BLLLadeAssignment_TKeys LadeAssignmentKey = new HPS.BLL.LadeAssignmentBLL.BLLLadeAssignment_TKeys(); LadeAssignmentKey.LadeAssignmentID_bint = (Int64?)this.LadeAssignmentGridView.CurrentRow.Cells["colLadeAssignmentID_bint"].Value; HPS.BLL.LadeAssignmentBLL.BLLLadeAssignment_T LadeAssignmentEntity = new HPS.BLL.LadeAssignmentBLL.BLLLadeAssignment_T(); LadeAssignmentEntity = LadeAssignmentFactory.GetBy(LadeAssignmentKey); if (LadeAssignmentEntity.Accepted_bit == true) { ///Select ladbillcredit HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory LadBillCreditFactory = new HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory(); string condition = "LadBillCredit_T.LadeAssignmentID_bint='" + Hepsa.Core.Common.PersentationController.GetEntityValue(this.LadeAssignmentGridView.CurrentRow.Cells[colLadeAssignmentID_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) order by [LadBillCredit_T].[LadBillCreditID_int] desc"; List <HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_T> LadBillCreditList = LadBillCreditFactory.GetAllByCondition(condition); ///Select canceleced HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory LadeCancelFactory = new HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory(); List <HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T> LadeCancelList = new List <HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T>(); LadeCancelList = LadeCancelFactory.GetAllByCondition(string.Format("LadeCancelAssignment_T.LadeAssignmentID_bint={0} order by [LadeCancelAssignment_T].[LadeCancelAssignmentID_int] desc", Hepsa.Core.Common.PersentationController.GetEntityValue(this.LadeAssignmentGridView.CurrentRow.Cells[colLadeAssignmentID_bint.Name].Value, TypeCode.Int64))); ///select Remained DataTable remainedLadeAssignmentTable = new DataTable(); string RemainedCondition = string.Format("LadeAssignmentID_bint={0}", Hepsa.Core.Common.PersentationController.GetEntityValue(this.LadeAssignmentGridView.CurrentRow.Cells[colLadeAssignmentID_bint.Name].Value, TypeCode.Int64)); LadeAssignmentFactory.SelectRemainedDetailSelectByCondition(RemainedCondition, remainedLadeAssignmentTable); int remaindCount_int = 0; if (remainedLadeAssignmentTable != null && remainedLadeAssignmentTable.Rows.Count > 0) { remaindCount_int = (Int32)remainedLadeAssignmentTable.Rows[remainedLadeAssignmentTable.Rows.Count - 1]["RemainderCount_int"]; } if (LadeCancelList != null && LadeCancelList.Count > 0) { if (LadeCancelList[0].Count_int != null && remaindCount_int == 0) { throw new ApplicationException("این اطلاع رسانی باطل شده است و تعداد مانده ها صفر می باشد"); } else { CanNotChangeCount = true; } } if (remaindCount_int == 0) { throw new ApplicationException("بار مورد نظر مجوز گرفته است"); } else { CanNotChangeCount = true; } // مدير هميشه ميتواند تعداد را تغيير دهد HPS.BLL.LadeAssignmentCacelRequestBLL.BLLLadeAssignmentCacelRequest_TFactory LadeAssignmentCacelRequestFactory = new HPS.BLL.LadeAssignmentCacelRequestBLL.BLLLadeAssignmentCacelRequest_TFactory(); DataTable LadeAssignmentCacelRequestDataTable = new DataTable(); LadeAssignmentCacelRequestFactory.GetAllBy(HPS.BLL.LadeAssignmentCacelRequestBLL.BLLLadeAssignmentCacelRequest_T.LadeAssignmentCacelRequest_TField.LadeAssignmentID_bint, LadeAssignmentKey.LadeAssignmentID_bint, ref LadeAssignmentCacelRequestDataTable); if (!(LadeAssignmentCacelRequestDataTable != null && LadeAssignmentCacelRequestDataTable.Rows.Count > 0 && HPS.Common.CurrentUser.user.CompanyID_int.HasValue == false)) { throw new ApplicationException("این اطلاع رسانی بار تأیید شده است و قابل تغییر نمی باشد"); } if (string.IsNullOrEmpty(LadeAssignmentCacelRequestDataTable.Rows[0]["AcceptedDate_nvc"].ToString())) { throw new ApplicationException("درخواست انصراف یا اعمال تغییرات قبول نشده است"); } } else { HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory LadBillCreditFactory = new HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_TFactory(); string condition = "LadBillCredit_T.LadeAssignmentID_bint='" + Hepsa.Core.Common.PersentationController.GetEntityValue(this.LadeAssignmentGridView.CurrentRow.Cells[colLadeAssignmentID_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) order by [LadBillCredit_T].[LadBillCreditID_int] desc"; List <HPS.BLL.LadBillCreditBLL.BLLLadBillCredit_T> LadBillCreditList = LadBillCreditFactory.GetAllByCondition(condition); ///Select canceleced HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory LadeCancelFactory = new HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_TFactory(); List <HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T> LadeCancelList = new List <HPS.BLL.LadeCancelAssignmentBLL.BLLLadeCancelAssignment_T>(); LadeCancelList = LadeCancelFactory.GetAllByCondition(string.Format("LadeCancelAssignment_T.LadeAssignmentID_bint={0} order by [LadeCancelAssignment_T].[LadeCancelAssignmentID_int] desc", Hepsa.Core.Common.PersentationController.GetEntityValue(this.LadeAssignmentGridView.CurrentRow.Cells[colLadeAssignmentID_bint.Name].Value, TypeCode.Int64))); ///select Remained DataTable remainedLadeAssignmentTable = new DataTable(); string RemainedCondition = string.Format("LadeAssignmentID_bint={0}", Hepsa.Core.Common.PersentationController.GetEntityValue(this.LadeAssignmentGridView.CurrentRow.Cells[colLadeAssignmentID_bint.Name].Value, TypeCode.Int64)); LadeAssignmentFactory.SelectRemainedDetailSelectByCondition(RemainedCondition, remainedLadeAssignmentTable); int remaindCount_int = 0; if (remainedLadeAssignmentTable != null && remainedLadeAssignmentTable.Rows.Count > 0) { remaindCount_int = (Int32)remainedLadeAssignmentTable.Rows[remainedLadeAssignmentTable.Rows.Count - 1]["RemainderCount_int"]; } if (LadeCancelList != null && LadeCancelList.Count > 0) { if (LadeCancelList[0].Count_int != null && remaindCount_int == 0) { //throw new ApplicationException("این اطلاع رسانی باطل شده است و تعداد مانده ها صفر می باشد"); } else { CanNotChangeCount = true; } } if (remaindCount_int == 0) { // throw new ApplicationException("بار مورد نظر مجوز گرفته است"); } else { CanNotChangeCount = true; } // در صورتي كه تعداد مجوز هاي 0 باشد ميتواند ويرايش صورت گيرد if (this.LadeAssignmentGridView.CurrentRow.Cells["colLadBill"].Value.ToString() == "0") { CanNotChangeCount = false; } if (int.Parse(this.LadeAssignmentGridView.CurrentRow.Cells["colLadBill"].Value.ToString()) > 0) { CanNotChangeCount = true; } } if (HPS.Common.CurrentUser.user.UserGroupID_int == 1) { CanNotChangeCount = false; } LadeAssignmentEntityForm LadeAssignment = new LadeAssignmentEntityForm(BaseEntityForm1.enmState.Edit, (DataTable)this.LadeAssignmentGridView.DataSource, LadeAssignmentKey, CanNotChangeCount, CanNotChangeType); LadeAssignment.ShowDialog(); } catch (Exception ex) { Hepsa.Core.Common.MessageBox.ErrorMessage(ex.Message); } }
private void NewButton_Click(object sender, EventArgs e) { LadeAssignmentEntityForm LadeAssignment = new LadeAssignmentEntityForm((DataTable)this.LadeAssignmentGridView.DataSource); LadeAssignment.ShowDialog(); }