private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (clbIncludeSpecialTypes.GetCheckedStringList().Length == 0) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Select at least one special type"), Catalog.GetString("Please select at least one special type, to avoid listing the whole database!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (clbField.GetCheckedStringList().Length == 0) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Select at least one Field"), Catalog.GetString("Please select at least one Field as otherwise the Extract cannot be created!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (!FDirectRelationshipTable.Select(FDirectRelationshipTable.DefaultView.RowFilter).Any(r => (bool)r["Selection"]) && !FReciprocalRelationshipTable.Select(FReciprocalRelationshipTable.DefaultView.RowFilter).Any(r => (bool)r["Selection"])) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Select at least one Relationship Type to run the report."), Catalog.GetString("No Relationship Type selected!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { if ((txtThisYear.Text == "0") || (txtLastYear.Text == "0")) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No valid year entered."), Catalog.GetString("Please enter a valid year."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { // Matching Pattern of the outreach code for sql search. // The first two characters refer to the "prefix" // The 3. and 4. character refer to the year string MatchingPatern = ""; switch (txtOutreachCode.Text.Length) { case 1: MatchingPatern = txtOutreachCode.Text + "_"; break; case 2: MatchingPatern = txtOutreachCode.Text; break; default: break; } if (txtYear.Text.Length > 0) { CompleteYearBox(); int year = Convert.ToInt32(txtYear.Text); if ((year < 1900) || (year > 3000)) { TVerificationResult VerificationResult = new TVerificationResult("Please insert a reasonable year or leave the year box empty.", "For example correct year value is 2012", TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } else { if (MatchingPatern.Length == 0) { MatchingPatern = "__"; } MatchingPatern = MatchingPatern + txtYear.Text.Substring(2, 2); } } if (MatchingPatern.Length > 0) { MatchingPatern = MatchingPatern + "%"; } ACalc.AddParameter("param_matching_pattern", MatchingPatern); }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { // make sure that for each group one radio button is selected TFrmPetraReportingUtils.VerifyRadioButtonSelection(grpLevel, FPetraUtilsObject); TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrRecipientSelection, FPetraUtilsObject); TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrDonorSelection, FPetraUtilsObject); if (!dtpEndDate.ValidDate(false) || !dtpStartDate.ValidDate(false)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Date format problem"), Catalog.GetString("Please check the date entry."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } else { if (dtpStartDate.Date > dtpEndDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } if (rbtMiddleDonor.Checked) { int From = Convert.ToInt32(txtPercentage.Text); int To = Convert.ToInt32(txtToPercentage.Text); if (To > From) { // From must be bigger than to int TmpNumber = Convert.ToInt32(txtPercentage.Text); txtPercentage.NumberValueInt = Convert.ToInt32(txtToPercentage.Text); txtToPercentage.NumberValueInt = TmpNumber; } } if (!ucoMotivationCriteria.IsAnyMotivationDetailSelected()) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No Motivation Detail selected"), Catalog.GetString("Please select at least one Motivation Detail."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void grdFields_ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { int ColumnCounter = 0; DataTable ParaTable = ACalc.GetParameters().ToDataTable(); // We need at least 14 columns (for the details) foreach (DataRow Row in ParaTable.Rows) { if ((String)Row[0] == "param_calculation") { ColumnCounter++; } } if (ColumnCounter < 15) { for (int Counter = ColumnCounter; Counter < 15; ++Counter) { ACalc.AddParameter("param_calculation", "DummyValue" + Counter.ToString(), Counter); } ACalc.AddParameter("MaxDisplayColumns", 15); } if (rbtFull.Checked) { ACalc.AddParameter("param_report_detail", "Full"); } else if (rbtSummaries.Checked) { ACalc.AddParameter("param_report_detail", "Summary"); } String SelectedFields = GetSelectedFieldKeysCSV(); ACalc.AddStringParameter("param_selected_keys_csv", SelectedFields); if ((SelectedFields.Length < 1) && (AReportAction == TReportActionEnum.raGenerate)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Select at least one Unit Key from the Additional Settings tab."), Catalog.GetString("No Field for the report selected"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_today", DateTime.Today); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_recipientkey", txtRecipient.Text); ACalc.AddParameter("param_extract_name", txtExtract.Text); if (!dtpFromDate.Date.HasValue || !dtpToDate.Date.HasValue) { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Please check the entry of the Start and End dates."), Catalog.GetString("Invalid Date entered."), TResultSeverity.Resv_Critical)); } else { if (dtpFromDate.Date.Value > dtpToDate.Date.Value) { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Start Date must not be later than End Date"), Catalog.GetString("Invalid Date period."), TResultSeverity.Resv_Critical)); } } if (dtpToDate.Date.HasValue) { Int32 ToDateYear = dtpToDate.Date.Value.Year; //TODO: Calendar vs Financial Date Handling - Confirm that these should not be ledger dates, i.e. allowing for >12 periods and non-calendar period boundaries DateTime FromDateThisYear = new DateTime(ToDateYear, 1, 1); DateTime ToDatePreviousYear = new DateTime(ToDateYear - 1, 12, 31); DateTime FromDatePreviousYear = new DateTime(ToDateYear - 1, 1, 1); ACalc.AddParameter("param_from_date_this_year", FromDateThisYear); ACalc.AddParameter("param_to_date_previous_year", ToDatePreviousYear); ACalc.AddParameter("param_from_date_previous_year", FromDatePreviousYear); } int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (AReportAction == TReportActionEnum.raGenerate) { if (!dtpFromDate.ValidDate() || !dtpToDate.ValidDate()) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Date format problem"), Catalog.GetString("Please check the date entry."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } if (dtpFromDate.Date > dtpToDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("TransactionCount", 0); ACalc.AddParameter("TransactionCountAccount", 0); ACalc.AddParameter("SumDebitAccount", 0); ACalc.AddParameter("SumCreditAccount", 0); ACalc.AddParameter("SumTotalDebitAccount", 0); ACalc.AddParameter("SumTotalCreditAccount", 0); int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Debits") { ACalc.AddParameter("param_debit_column", Counter); } if (ColumnName == "Credits") { ACalc.AddParameter("param_credit_column", Counter); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_recipient_key_n", txtPartnerKey.Text); if ((AReportAction == TReportActionEnum.raGenerate) && (txtPartnerKey.Text == "0000000000")) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No recipient selected."), Catalog.GetString("Please select a recipient."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (chkOnlyTravelDay.Checked) { if (!dtpTravelDay.ValidDate(false)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Please insert a valid date in the \"Travel Selection\" Settings."), Catalog.GetString("No valid date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_dtpTravelDay", this.dtpTravelDay.Date); } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { // make sure that for each group one radio button is selected TFrmPetraReportingUtils.VerifyRadioButtonSelection(grpSelection, FPetraUtilsObject); TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrFormatCurrency, FPetraUtilsObject); if ((ucoGiftsInRange.RangeTable == null) || (ucoGiftsInRange.RangeTable.Rows.Count == 0)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("'Gifts In Range' Needed."), Catalog.GetString("Please enter a value for 'Gifts In Range'."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } if ((ucoNoGiftsInRange.RangeTable == null) || (ucoNoGiftsInRange.RangeTable.Rows.Count == 0)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("'No Gifts In Range' Needed."), Catalog.GetString("Please enter a value for 'No Gifts In Range'."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } // check for overlapping in the ranges foreach (DataRow Row in ucoGiftsInRange.RangeTable.Rows) { foreach (DataRow NoRow in ucoNoGiftsInRange.RangeTable.Rows) { if ((((Convert.ToDateTime(NoRow["From"]) >= Convert.ToDateTime(Row["From"])) && (Convert.ToDateTime(NoRow["From"]) <= Convert.ToDateTime(Row["To"]))) || ((Convert.ToDateTime(NoRow["To"]) >= Convert.ToDateTime(Row["From"])) && (Convert.ToDateTime(NoRow["To"]) <= Convert.ToDateTime(Row["To"])))) || (((Convert.ToDateTime(Row["From"]) >= Convert.ToDateTime(NoRow["From"])) && (Convert.ToDateTime(Row["From"]) <= Convert.ToDateTime(NoRow["To"]))) || ((Convert.ToDateTime(Row["To"]) >= Convert.ToDateTime(NoRow["From"])) && (Convert.ToDateTime(Row["To"]) <= Convert.ToDateTime(NoRow["To"]))))) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Overlapping Ranges"), Catalog.GetString("'Gifts In Range' and 'No Gifts In Range' overlap. This is not allowed."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (AReportAction == TReportActionEnum.raGenerate) { // validate anniversaires (comma seperated integers) if (chkAnniversaries.Checked && (string.IsNullOrEmpty(txtAnniversaries.Text) || !Regex.IsMatch(txtAnniversaries.Text, @"^([0-9]+,)*[0-9]+$"))) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Length of Commitment Report"), Catalog.GetString("Please enter a comma seperated list of anniversaires."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (rbtNow.Checked) { ACalc.AddParameter("param_from_date", DateTime.Today.Date); ACalc.AddParameter("param_until_date", DateTime.Today.Date); } if (clbField.GetCheckedStringList().Length == 0) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Generate Extract"), Catalog.GetString("Please select at least one Field!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { int ColumnCounter = 0; bool DatesAreValid = (dtpFromDate.ValidDate(false) && dtpToDate.ValidDate(false)); // Add the columns to the report ACalc.AddParameter("param_calculation", "Date", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)2.5, ColumnCounter); ColumnCounter++; ACalc.AddParameter("param_calculation", "Total", ColumnCounter); ACalc.AddParameter("ColumnWidth", "3", ColumnCounter); ColumnCounter++; ACalc.AddParameter("param_calculation", "Actual", ColumnCounter); ACalc.AddParameter("ColumnWidth", "2", ColumnCounter); ColumnCounter++; ACalc.AddParameter("param_calculation", "Expected", ColumnCounter); ACalc.AddParameter("ColumnWidth", "2", ColumnCounter); ColumnCounter++; ACalc.AddParameter("param_calculation", "Children", ColumnCounter); ACalc.AddParameter("ColumnWidth", "2", ColumnCounter); ColumnCounter++; ACalc.AddParameter("MaxDisplayColumns", ColumnCounter); if ((AReportAction == TReportActionEnum.raGenerate) && DatesAreValid) { if (dtpFromDate.Date > dtpToDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Change From-Date or To-Date"), Catalog.GetString("From-Date must be earlier than To-Date"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } if (!DatesAreValid) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Enter valid From-Date and To-Date."), Catalog.GetString("Dates must be valid"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void grdChargedFields_ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { String SelectedFieldKeys = ""; if ((FFieldTable != null) && rbtSelectedFields.Checked) { foreach (DataRow Row in FFieldTable.Rows) { if (((bool)Row["Selection"]) && (ucoConferenceSelection.AllConferenceSelected || (!ucoConferenceSelection.AllConferenceSelected && (bool)Row["Used_in_Conference"]))) { SelectedFieldKeys = SelectedFieldKeys + Row["Unit_Key"].ToString() + ','; } } } if (SelectedFieldKeys.Length > 0) { // Remove the last comma SelectedFieldKeys = SelectedFieldKeys.Remove(SelectedFieldKeys.Length - 1); } ACalc.AddStringParameter("param_selectedfieldkeys", SelectedFieldKeys); if (rbtSelectedFields.Checked) { ACalc.AddParameter("param_chargedfields", "Selected Fields"); if ((SelectedFieldKeys.Length == 0) && (AReportAction == TReportActionEnum.raGenerate)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Select at least one field to calculate the extra costs."), Catalog.GetString("No field was selected!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } else { ACalc.AddParameter("param_chargedfields", "All Fields"); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { int detailYears = Convert.ToInt16(txtYearsDetail.Text); int summaryYears = Convert.ToInt16(txtYearsSummary.Text); if ((AReportAction == TReportActionEnum.raGenerate) && ((detailYears > 99) || (detailYears < 0) || (summaryYears > 99) || (summaryYears < 0))) { TVerificationResult VerificationMessage = new TVerificationResult( Catalog.GetString("Report Years"), Catalog.GetString("Set the year range between 1 and 99"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationMessage); } ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); // // I need to get the name of the current ledger.. DataTable LedgerNameTable = TDataCache.TMFinance.GetCacheableFinanceTable(TCacheableFinanceTablesEnum.LedgerNameList); DataView LedgerView = new DataView(LedgerNameTable); LedgerView.RowFilter = "LedgerNumber=" + FLedgerNumber; String LedgerName = ""; if (LedgerView.Count > 0) { LedgerName = LedgerView[0].Row["LedgerName"].ToString(); } ALedgerTable LedgerDetailsTable = (ALedgerTable)TDataCache.TMFinance.GetCacheableFinanceTable(TCacheableFinanceTablesEnum.LedgerDetails, FLedgerNumber); ALedgerRow Row = LedgerDetailsTable[0]; String CurrencyName = (cmbCurrency.SelectedItem.ToString() == "Base") ? Row.BaseCurrency : Row.IntlCurrency; ACalc.AddStringParameter("param_ledger_name", LedgerName); ACalc.AddStringParameter("param_currency_name", CurrencyName); Int32 Years = Math.Max(detailYears, summaryYears); DateTime StartDate = new DateTime(DateTime.Now.Year - Years, 1, 1); ACalc.AddParameter("param_StartDate", StartDate); ACalc.AddParameter("param_DetailYears", detailYears); ACalc.AddParameter("param_SummaryYears", summaryYears); ACalc.AddParameter("param_TD", FTaxDeductiblePercentageEnabled); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { String paramDocuments = clbDocuments.GetCheckedStringList(true); if (AReportAction == TReportActionEnum.raGenerate) { if (paramDocuments.Length == 0) { TVerificationResult VerificationMessage = new TVerificationResult( Catalog.GetString("Please select at least one document type."), Catalog.GetString("No document types selected!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationMessage); } } paramDocuments = paramDocuments.Replace("\"", ""); ACalc.AddParameter("param_doctype", paramDocuments); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { // // Verify Min and Max amounts: if (txtMinAmount.NumberValueInt > txtMaxAmount.NumberValueInt) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Gift Limit wrong."), Catalog.GetString("Minimum Amount can't be greater than Maximum Amount."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_donorkey", txtDonor.Text); ACalc.AddParameter("param_extract_name", txtExtract.Text); // // Verify date fields if (dtpFromDate.ValidDate(true) && dtpToDate.ValidDate(true)) { ACalc.AddParameter("param_StartDate", this.dtpFromDate.Date); ACalc.AddParameter("param_EndDate", this.dtpToDate.Date); } else { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Donor Gifts To Field"), Catalog.GetString("Incorrect Date Format"), TResultSeverity.Resv_Critical)); } if (rbtSelectedFields.Checked) { if (clbFields.GetCheckedStringList() == "") // An empty selection would cause an SQL error. { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Recipient Fields"), Catalog.GetString("Select at least one recipient field."), TResultSeverity.Resv_Critical)); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (AReportAction == TReportActionEnum.raGenerate) { if (!dtpFromDate.ValidDate() || !dtpToDate.ValidDate()) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Date format problem"), Catalog.GetString("Please check the date entry."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } if (dtpFromDate.Date > dtpToDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } ACalc.AddParameter("param_currency", "Base"); ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); // Set the values for accumulating the costs to 0 ACalc.AddParameter("CostCentreCredit", 0); ACalc.AddParameter("CostCentreDebit", 0); ACalc.AddParameter("AccountCodeCredit", 0); ACalc.AddParameter("AccountCodeDebit", 0); ACalc.AddParameter("TotalCredit", 0); ACalc.AddParameter("TotalDebit", 0); int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); // we need to know some indices of the columns for (int Counter = 0; Counter < MaxColumns; ++Counter) { String ColumnName = "param_column_" + ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); ACalc.AddParameter(ColumnName, Counter); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (AReportAction == TReportActionEnum.raGenerate) { TVerificationResult VerificationResult = null; long UnitKey = 0; try { UnitKey = Convert.ToInt64(txtPartnerKey.Text); } catch (Exception) { UnitKey = 0; } if (UnitKey == 0) { VerificationResult = new TVerificationResult("Insert a valid Key.", "No Unit Key selected!", TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } int ColumnCounter; ColumnCounter = 0; ACalc.AddParameter("param_calculation", "UnitKey", ColumnCounter); ACalc.AddParameter("ColumnWidth", "3", ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "UnitType", ColumnCounter); ACalc.AddParameter("ColumnWidth", "4.5", ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "UnitName", ColumnCounter); ACalc.AddParameter("ColumnWidth", "12", ColumnCounter); ACalc.SetMaxDisplayColumns(3); ACalc.AddParameter("param_txtUnitCode", txtPartnerKey.Text); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { // validation: start date and end date must be provided. if (chkUseDate.Checked) { if (!dtpFromDate.Date.HasValue || !dtpToDate.Date.HasValue || !dtpFromDate.ValidDate(false) || !dtpToDate.ValidDate(false)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("We need a valid start and end date."), Catalog.GetString("Please select a valid start date and a valid end date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } // validation: start date should be less than end date. else if (dtpFromDate.Date.Value > dtpToDate.Date.Value) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Invalid date range"), Catalog.GetString("The end date must be after the start date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } // validation: If "only these anniversaries" is checked, the txt box should not be empty. if (chkAnniversaries.Checked) { if (txtAnniversaries.Text == "") { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Empty anniversaries list"), Catalog.GetString("Use a comma-separated list like '10,18,21,30,40'"), TResultSeverity.Resv_Critical )); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (txtMinAmount.NumberValueInt > txtMaxAmount.NumberValueInt) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Gift Limit wrong."), Catalog.GetString("Minimum Amount can't be greater than Maximum Amount."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_donorkey", txtDonor.Text); ACalc.AddParameter("param_extract_name", txtExtract.Text); //TODO: Calendar vs Financial Date Handling - Confirm that these should not be ledger dates, i.e. allowing for >12 periods and non-calendar period boundaries DateTime FromDateThisYear = new DateTime(DateTime.Today.Year, 1, 1); DateTime ToDatePreviousYear = new DateTime(DateTime.Today.Year - 1, 12, 31); DateTime FromDatePreviousYear = new DateTime(DateTime.Today.Year - 1, 1, 1); ACalc.AddParameter("param_to_date_this_year", DateTime.Today); ACalc.AddParameter("param_from_date_this_year", FromDateThisYear); ACalc.AddParameter("param_to_date_previous_year", ToDatePreviousYear); ACalc.AddParameter("param_from_date_previous_year", FromDatePreviousYear); ACalc.AddParameter("DonorAddress", ""); int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { // make sure that for each group one radio button is selected TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrRecipientSelection, FPetraUtilsObject); TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrDonorSelection, FPetraUtilsObject); TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrSorting, FPetraUtilsObject); TFrmPetraReportingUtils.VerifyRadioButtonSelection(rgrFormatCurrency, FPetraUtilsObject); if (!dtpEndDate.ValidDate(false) || !dtpStartDate.ValidDate(false)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Date format problem"), Catalog.GetString("Please check the date entry."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } else { if (dtpStartDate.Date > dtpEndDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } if (!ucoMotivationCriteria.IsAnyMotivationDetailSelected()) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No Motivation Detail selected"), Catalog.GetString("Please select at least one Motivation Detail."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (!dtpEndDate.ValidDate(false) || !dtpStartDate.ValidDate(false)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Date format problem"), Catalog.GetString("Please check the date entry."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } else { if (dtpStartDate.Date > dtpEndDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } }
private void ReadControlsVerify(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (!dtpEndDate.ValidDate(false) || !dtpStartDate.ValidDate(false)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No valid date."), Catalog.GetString("Please enter a valid date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } else { if (dtpStartDate.Date > dtpEndDate.Date) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } } if (rbtMiddleDonor.Checked) { int From = Convert.ToInt32(txtPercentage.Text); int To = Convert.ToInt32(txtToPercentage.Text); if (To > From) { // From must be biggern than to String TmpString = txtPercentage.Text; txtPercentage.Text = txtToPercentage.Text; txtToPercentage.Text = TmpString; } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("ControlSource", "", ReportingConsts.HEADERCOLUMN); ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_all_partners", rbtAllPartners.Checked); ACalc.AddParameter("param_extract", rbtExtract.Checked); if (rbtExtract.Checked) { ACalc.AddParameter("param_extract_name", txtExtract.Text); } if ((AReportAction == TReportActionEnum.raGenerate) && rbtExtract.Checked && (txtExtract.Text.Length == 0)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No recipient selected."), Catalog.GetString("Please select a recipient."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Total Given") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if ((AReportAction == TReportActionEnum.raGenerate) && (rbtPartner.Checked && (txtDonor.Text == "0000000000"))) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No donor selected."), Catalog.GetString("Please select a donor."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } if ((AReportAction == TReportActionEnum.raGenerate) && rbtExtract.Checked && (txtExtract.Text == "")) { TVerificationResult VerificationMessage = new TVerificationResult( Catalog.GetString("Enter an extract name"), Catalog.GetString("No extract name entered!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationMessage); } if ((AReportAction == TReportActionEnum.raGenerate) && (txtMinAmount.NumberValueInt > txtMaxAmount.NumberValueInt)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Gift Limit wrong."), Catalog.GetString("Minimum Amount can't be greater than Maximum Amount."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } if ((AReportAction == TReportActionEnum.raGenerate) && (cmbReportType.SelectedItem.ToString() == "Complete") && (dtpFromDate.Date > dtpToDate.Date)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_donorkey", txtDonor.Text); ACalc.AddParameter("param_extract_name", txtExtract.Text); DateTime FromDateThisYear = new DateTime(DateTime.Today.Year, 1, 1); DateTime ToDatePreviousYear = new DateTime(DateTime.Today.Year - 1, 12, 31); DateTime FromDatePreviousYear = new DateTime(DateTime.Today.Year - 1, 1, 1); ACalc.AddParameter("param_end_date_this_year", DateTime.Today); ACalc.AddParameter("param_start_date_this_year", FromDateThisYear); ACalc.AddParameter("param_end_date_previous_year", ToDatePreviousYear); ACalc.AddParameter("param_start_date_previous_year", FromDatePreviousYear); if (cmbReportType.SelectedItem.ToString() == "Totals") { DateTime FromDate = new DateTime(DateTime.Today.Year - 3, 1, 1); ACalc.RemoveParameter("param_from_date"); ACalc.RemoveParameter("param_to_date"); ACalc.AddParameter("param_from_date", FromDate); ACalc.AddParameter("param_to_date", DateTime.Today); ACalc.AddParameter("Month0", 1); ACalc.AddParameter("Month1", 2); ACalc.AddParameter("Year0", DateTime.Today.Year); ACalc.AddParameter("Year1", DateTime.Today.Year - 1); ACalc.AddParameter("Year2", DateTime.Today.Year - 2); ACalc.AddParameter("Year3", DateTime.Today.Year - 3); int ColumnCounter = 0; ACalc.AddParameter("param_calculation", "Month", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)3.0, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Year-0", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)2.0, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Count-0", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)0.8, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Year-1", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)2.0, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Count-1", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)0.8, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Year-2", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)2.0, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Count-2", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)0.8, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Year-3", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)2.0, ColumnCounter); ++ColumnCounter; ACalc.AddParameter("param_calculation", "Count-3", ColumnCounter); ACalc.AddParameter("ColumnWidth", (float)0.8, ColumnCounter); ++ColumnCounter; ACalc.SetMaxDisplayColumns(ColumnCounter); } else { int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } } }
/// <summary> /// Reads the selected values from the controls, /// and stores them into the parameter system of FCalculator /// /// </summary> /// <param name="ACalculator"></param> /// <param name="AReportAction"></param> /// <returns>void</returns> public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction) { if (rbtSelectedCostCentres.Checked && (clbCostCentres.GetCheckedStringList().Length == 0) && (AReportAction == TReportActionEnum.raGenerate)) { TVerificationResult VerificationResult = new TVerificationResult(Catalog.GetString("Selected Cost Centres"), Catalog.GetString("No cost centre was selected!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } /* cost centre options */ if (rbtAccountLevel.Checked) { ACalculator.AddParameter("param_costcentreoptions", "AccountLevel"); } else if (rbtAllCostCentres.Checked) { ACalculator.AddParameter("param_costcentreoptions", "AllCostCentres"); } else if (rbtAllActiveCostCentres.Checked) { ACalculator.AddParameter("param_costcentreoptions", "AllActiveCostCentres"); } else if (rbtSelectedCostCentres.Checked) { ACalculator.AddParameter("param_costcentreoptions", "SelectedCostCentres"); } ACalculator.AddParameter("param_paginate", chkPaginate.Checked); ACalculator.AddParameter("param_auto_email", chkAutoEmail.Checked); String CostCentreListTitle; if (rbtAllCostCentres.Checked || rbtAllActiveCostCentres.Checked) { CostCentreListTitle = clbCostCentres.GetAllStringList(); } else { CostCentreListTitle = clbCostCentres.GetCheckedStringList(); } ACalculator.AddStringParameter("param_cost_centre_codes", CostCentreListTitle); CostCentreListTitle = CostCentreListTitle.Replace("\"", ""); if (CostCentreListTitle.Length > 25) { CostCentreListTitle = "Selected Cost Centres"; } ACalculator.AddParameter("param_cost_centre_list_title", CostCentreListTitle); ACalculator.AddParameter("param_cost_centre_summary", chkCostCentreBreakdown.Checked); ACalculator.AddParameter("param_cost_centre_breakdown", chkCostCentreBreakdown.Checked); ACalculator.AddParameter("ExcludeInactiveCostCentres", chkExcludeInactiveCostCentres.Checked); /* Level of Detail */ if (this.rbtDetail.Checked) { ACalculator.AddParameter("param_depth", "detail"); } else if (this.rbtStandard.Checked) { ACalculator.AddParameter("param_depth", "standard"); } else { ACalculator.AddParameter("param_depth", "summary"); } }
/// <summary> /// Reads the selected values from the controls, /// and stores them into the parameter system of FCalculator /// /// </summary> /// <param name="ACalculator"></param> /// <param name="AReportAction"></param> /// <returns>void</returns> public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction) { int Year = 0; DateTime EndDate = DateTime.Now; DateTime StartDate = DateTime.Now; // TODO int DiffPeriod = 0; //(System.Int32)CbB_YearEndsOn.SelectedItem; // DiffPeriod = DiffPeriod - 12; ACalculator.AddParameter("param_diff_period_i", DiffPeriod); ACalculator.AddParameter("param_start_period_i", 0); ACalculator.AddParameter("param_end_period_i", 0); ACalculator.AddParameter("param_current_period", FLedgerRow.CurrentPeriod); ACalculator.AddParameter("param_account_hierarchy_c", this.cmbAccountHierarchy.GetSelectedString()); String CurrencyName = ""; String CurrencySelection = this.cmbCurrency.GetSelectedString(); ACalculator.AddParameter("param_currency", CurrencySelection); if (CurrencySelection == Catalog.GetString("Base")) { CurrencyName = FLedgerRow.BaseCurrency; } else if (CurrencySelection == Catalog.GetString("International")) { CurrencyName = FLedgerRow.IntlCurrency; } ACalculator.AddParameter("param_currency_name", CurrencyName); ACalculator.AddParameter("param_period", rbtPeriod.Checked); ACalculator.AddParameter("param_period_breakdown", rbtBreakdown.Checked && rbtBreakdown.Visible); ACalculator.AddParameter("param_period_checked", rbtPeriod.Checked); ACalculator.AddParameter("param_date_checked", rbtDate.Checked); ACalculator.AddParameter("param_quarter_checked", rbtQuarter.Checked); if (rbtQuarter.Checked) { Year = cmbQuarterYear.GetSelectedInt32(); ACalculator.AddParameter("param_year_i", Year); ACalculator.AddParameter("param_real_year", cmbQuarterYear.GetSelectedString(1)); ACalculator.AddParameter("param_real_year_ending", cmbPeriodYear.GetSelectedString(2)); int Quarter = (Int32)StringHelper.TryStrToInt(txtQuarter.Text, 1); ACalculator.AddParameter("param_quarter", (System.Object)(Quarter)); ACalculator.AddParameter("param_start_period_i", (System.Object)(Quarter * 3 - 2)); ACalculator.AddParameter("param_end_period_i", (System.Object)(Quarter * 3)); StartDate = TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate(FLedgerNumber, Year, DiffPeriod, Quarter * 3 - 2); ACalculator.AddParameter("param_start_date", StartDate); EndDate = TRemote.MFinance.GL.WebConnectors.GetPeriodEndDate(FLedgerNumber, Year, DiffPeriod, Quarter * 3); ACalculator.AddParameter("param_end_date", EndDate); //VerificationResult = TFinancialPeriodChecks.ValidQuarter(DiffPeriod, Year, Quarter, "Quarter"); if (AReportAction == TReportActionEnum.raGenerate) { CheckQuarter(Year, Quarter); } dtpStartDate.Date = TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate(FLedgerNumber, Year, DiffPeriod, (Quarter * 3 - 2)); dtpEndDate.Date = TRemote.MFinance.GL.WebConnectors.GetPeriodEndDate(FLedgerNumber, Year, DiffPeriod, Quarter * 3); } else if (rbtPeriod.Checked) { Year = cmbPeriodYear.GetSelectedInt32(); ACalculator.AddParameter("param_year_i", Year); ACalculator.AddParameter("param_real_year", cmbPeriodYear.GetSelectedString(1)); ACalculator.AddParameter("param_real_year_ending", cmbPeriodYear.GetSelectedString(2)); int EndPeriod = (Int32)StringHelper.TryStrToInt(txtEndPeriod.Text, 1); ACalculator.AddParameter("param_end_period_i", EndPeriod); StartDate = TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate(FLedgerNumber, Year, DiffPeriod, EndPeriod); ACalculator.AddParameter("param_start_date", StartDate); EndDate = TRemote.MFinance.GL.WebConnectors.GetPeriodEndDate(FLedgerNumber, Year, DiffPeriod, EndPeriod); ACalculator.AddParameter("param_end_date", EndDate); CheckPeriod(Year, EndPeriod); dtpEndDate.Date = TRemote.MFinance.GL.WebConnectors.GetPeriodEndDate(FLedgerNumber, Year, DiffPeriod, EndPeriod); if (!OnlyEndPeriodShown) { int StartPeriod = (Int32)StringHelper.TryStrToInt(txtStartPeriod.Text, 1); ACalculator.AddParameter("param_start_period_i", StartPeriod); ACalculator.AddParameter("param_start_date", TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate(FLedgerNumber, Year, DiffPeriod, StartPeriod)); if (AReportAction == TReportActionEnum.raGenerate) { CheckPeriod(Year, StartPeriod); if (StartPeriod > EndPeriod) { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Start Period must not be bigger than End Period."), Catalog.GetString("Invalid Data entered."), TResultSeverity.Resv_Critical)); } } dtpStartDate.Date = TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate(FLedgerNumber, Year, DiffPeriod, StartPeriod); } } else if (rbtDate.Checked) { if (dtpStartDate.Date.HasValue && dtpEndDate.Date.HasValue) { if (dtpStartDate.Date.Value > dtpEndDate.Date.Value) { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Start Date must not be later than End Date"), Catalog.GetString("Invalid Data entered."), TResultSeverity.Resv_Critical)); } else { StartDate = dtpStartDate.Date.Value; ACalculator.AddParameter("param_start_date", StartDate); EndDate = dtpEndDate.Date.Value; ACalculator.AddParameter("param_end_date", EndDate); ACalculator.AddParameter("param_real_year", dtpEndDate.Date.Value.Year); } } } else if (rbtBreakdown.Checked) { Year = cmbBreakdownYear.GetSelectedInt32(); ACalculator.AddParameter("param_real_year", cmbBreakdownYear.GetSelectedString(1)); ACalculator.AddParameter("param_year_i", Year); StartDate = TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate(FLedgerNumber, Year, DiffPeriod, 1); ACalculator.AddParameter("param_start_date", StartDate); //TODO: Calendar vs Financial Date Handling - Check if below has assumed a 12 period financial year EndDate = TRemote.MFinance.GL.WebConnectors.GetPeriodEndDate(FLedgerNumber, Year, DiffPeriod, 12); ACalculator.AddParameter("param_end_date", EndDate); } // true if the selected date is in the current financial year ACalculator.AddParameter("param_current_financial_year", FLedgerRow.CurrentFinancialYear == Year); // // I may need to check whether the selected currency has an exchange rate I can use! if (CurrencyName == FLedgerRow.IntlCurrency) { Decimal IntlRate = TRemote.MFinance.GL.WebConnectors.GetCorporateExchangeRate(FLedgerRow.BaseCurrency, CurrencyName, StartDate, EndDate); if (IntlRate == 0) // No exchange rate has been specified { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("International Exchange Rate"), Catalog.GetString("No Exchange Rate is available for the requested period."), TResultSeverity.Resv_Critical)); } } if (Year < 0) { FPetraUtilsObject.AddVerificationResult(new TVerificationResult( Catalog.GetString("Accounting Year was not specified"), Catalog.GetString("Invalid Data entered."), TResultSeverity.Resv_Critical)); } }