private void SaveBtnClick(object sender, RoutedEventArgs e) { decimal ContractFee; decimal prehavalefee; if (CurrentDraft.PaymentDraftId == 0) { CurrentDraft.ContractId = CurrentContract.Contractid; } int ContractTypeId = DataManagement.RetrieveContractTypeId(CurrentDraft); ContractFee = (Int64)DataManagement.RetrieveContractBudget(CurrentDraft); prehavalefee = DataManagement.RetrieveSumPreHavale(ContractTypeId, CurrentDraft); prehavalefee += Convert.ToDecimal(t1.Text); if (Convert.ToInt64(prehavalefee) > Convert.ToInt64(ContractFee)) { ErrorHandler.ShowErrorMessage("مبلغ كاركرد حواله از سقف مبلغ قرارداد بالاتر ميباشد"); return; } if (Validate()) { return; } CalcBtn_Click(sender, e); try { if (CurrentDraft.PaymentDraftId == 0) { CurrentDraft.ContractId = CurrentContract.Contractid; DataManagement.CreatePaymentDraft(CurrentDraft); } else { CurrentDraft.PermanentRecord = false; DataManagement.UpdatePaymentDrafts(CurrentDraft); } DataManagement.UpdatePaymentDraftTranscripts(Transcripts, CurrentDraft); Transcripts = DataManagement.RetrievePaymentDraftTranscripts(CurrentDraft); TranscriptGrid.ItemsSource = Transcripts; TranscriptGrid.Items.Refresh(); ErrorHandler.NotifyUser("ثبت با موفقیت انجام شد"); } catch { ErrorHandler.NotifyUser("ثبت با مشکل مواجه شد"); } }