private string GetOutputFields() { if (_command.DoNotReturnSubledgerAccounts && _command.Consolidated) { return("-1 AS ID_MAYOR, ID_MONEDA, ID_CUENTA_ESTANDAR, -1 AS ID_CUENTA, " + "NUMERO_CUENTA_ESTANDAR, ID_SECTOR, -1 AS ID_CUENTA_AUXILIAR, " + "SALDO_ANTERIOR, DEBE, HABER, SALDO_ACTUAL"); } else if (_command.DoNotReturnSubledgerAccounts && _command.ShowCascadeBalances) { return("ID_MAYOR, ID_MONEDA, ID_CUENTA_ESTANDAR, NUMERO_CUENTA_ESTANDAR, ID_SECTOR, " + "ID_CUENTA, -1 AS ID_CUENTA_AUXILIAR, SALDO_ANTERIOR, DEBE, HABER, SALDO_ACTUAL"); } else if (_command.ReturnSubledgerAccounts && _command.Consolidated) { return("-1 AS ID_MAYOR, ID_MONEDA, ID_CUENTA_ESTANDAR, NUMERO_CUENTA_ESTANDAR, ID_SECTOR, " + "-1 AS ID_CUENTA, ID_CUENTA_AUXILIAR, SALDO_ANTERIOR, DEBE, HABER, SALDO_ACTUAL"); } else if (_command.ReturnSubledgerAccounts && _command.ShowCascadeBalances) { return("ID_MAYOR, ID_MONEDA, ID_CUENTA_ESTANDAR, NUMERO_CUENTA_ESTANDAR, ID_SECTOR, " + "ID_CUENTA, ID_CUENTA_AUXILIAR, SALDO_ANTERIOR, DEBE, HABER, SALDO_ACTUAL"); } else { throw Assertion.AssertNoReachThisCode(); } }
static private FixedList <ITrialBalanceEntryDto> Map(TrialBalanceCommand command, FixedList <ITrialBalanceEntry> list) { switch (command.TrialBalanceType) { case TrialBalanceType.AnaliticoDeCuentas: var mi = list.Select((x) => MapToTwoCurrenciesBalanceEntry((TwoCurrenciesBalanceEntry)x)); return(new FixedList <ITrialBalanceEntryDto>(mi)); case TrialBalanceType.Balanza: case TrialBalanceType.BalanzaConAuxiliares: case TrialBalanceType.GeneracionDeSaldos: case TrialBalanceType.Saldos: case TrialBalanceType.SaldosPorAuxiliar: case TrialBalanceType.SaldosPorCuenta: case TrialBalanceType.SaldosPorCuentaYMayor: var mappedItems = list.Select((x) => MapToTrialBalance((TrialBalanceEntry)x)); return(new FixedList <ITrialBalanceEntryDto>(mappedItems)); case TrialBalanceType.BalanzaValorizadaComparativa: var mappedItemsComparative = list.Select((x) => MapToTrialBalanceComparative((TrialBalanceEntry)x)); return(new FixedList <ITrialBalanceEntryDto>(mappedItemsComparative)); default: throw Assertion.AssertNoReachThisCode( $"Unhandled trial balance type {command.TrialBalanceType}."); } }
private string GetHavingClause() { if (_command.BalancesType == BalancesType.AllAccounts) { return(string.Empty); } string clause; if (_command.BalancesType == BalancesType.WithCurrentBalance) { clause = "SALDO_ACTUAL <> 0"; } else if (_command.BalancesType == BalancesType.WithCurrentBalanceOrMovements) { clause = "SALDO_ACTUAL <> 0 OR DEBE <> 0 OR HABER <> 0"; } else if (_command.BalancesType == BalancesType.WithMovements) { clause = "DEBE <> 0 OR HABER <> 0"; } else { throw Assertion.AssertNoReachThisCode(); } return($"HAVING {clause}"); }
public Account GetAccount(string accountNumber) { Account account; if (_accounts.Value.TryGetValue(accountNumber, out account)) { return(account); } throw Assertion.AssertNoReachThisCode($"Account {accountNumber} was not found."); }
private string GetOrderClause() { if (_command.Consolidated) { return("ORDER BY ID_MONEDA, NUMERO_CUENTA_ESTANDAR, ID_SECTOR"); } else if (_command.ShowCascadeBalances) { return("ORDER BY ID_MAYOR, ID_MONEDA, NUMERO_CUENTA_ESTANDAR, ID_SECTOR, ID_CUENTA"); } else { throw Assertion.AssertNoReachThisCode(); } }
internal TrialBalance BuildTrialBalance() { switch (this.Command.TrialBalanceType) { case TrialBalanceType.AnaliticoDeCuentas: var analiticoDeCuentas = new AnaliticoDeCuentas(this.Command); return(analiticoDeCuentas.Build()); case TrialBalanceType.Balanza: case TrialBalanceType.BalanzaConAuxiliares: case TrialBalanceType.Saldos: case TrialBalanceType.SaldosPorCuenta: var balanzaTradicional = new BalanzaTradicional(this.Command); return(balanzaTradicional.Build()); case TrialBalanceType.BalanzaValorizadaComparativa: var balanzaComparativa = new BalanzaComparativa(this.Command); return(balanzaComparativa.Build()); case TrialBalanceType.GeneracionDeSaldos: var saldosConAuxiliares = new SaldosPorAuxiliar(this.Command); return(saldosConAuxiliares.BuildForBalancesGeneration()); case TrialBalanceType.SaldosPorAuxiliar: var saldosPorAuxiliar = new SaldosPorAuxiliar(this.Command); return(saldosPorAuxiliar.Build()); case TrialBalanceType.SaldosPorCuentaYMayor: var saldosPorCuentaYMayores = new SaldosPorCuentaYMayores(this.Command); return(saldosPorCuentaYMayores.Build()); default: throw Assertion.AssertNoReachThisCode( $"Unhandled trial balance type {this.Command.TrialBalanceType}."); } }
internal List <TrialBalanceEntry> RestrictLevels(List <TrialBalanceEntry> entries) { if (_command.Level == 0) { return(entries); } if (_command.DoNotReturnSubledgerAccounts) { return(entries.FindAll(x => x.Level <= _command.Level)); } else if (_command.ReturnSubledgerAccounts) { return(entries.FindAll(x => x.Level <= _command.Level || x.AccountId != 0)); } else { throw Assertion.AssertNoReachThisCode(); } }
public async Task NotifyEvent(string filingRequestUID, string eventName) { Assertion.AssertObject(filingRequestUID, "filingRequestUID"); Assertion.AssertObject(eventName, "eventName"); switch (eventName) { case "TransactionReceived": case "TransactionReadyToDelivery": case "TransactionReturned": case "TransactionArchived": case "TransactionReentered": await ChangeTransactionStatus(filingRequestUID, eventName) .ConfigureAwait(false); return; default: throw Assertion.AssertNoReachThisCode($"Unrecognized external event with name {eventName}."); } }
private RequestStatus GetNewStatusAfterEvent(string eventName) { switch (eventName) { case "TransactionReceived": return(RequestStatus.Submitted); case "TransactionReadyToDelivery": return(RequestStatus.Finished); case "TransactionReturned": return(RequestStatus.Rejected); case "TransactionArchived": return(RequestStatus.Finished); case "TransactionReentered": return(RequestStatus.Submitted); default: throw Assertion.AssertNoReachThisCode($"Unrecognized external event with name '{eventName}'"); } }
static private string BuildDateRangerFilter(SearchVouchersCommand command) { if (command.DateSearchField == DateSearchField.None) { return(string.Empty); } string filter = $"'{CommonMethods.FormatSqlDate(command.FromDate)}' <= @DATE_FIELD@ AND " + $"@DATE_FIELD@ < '{CommonMethods.FormatSqlDate(command.ToDate.Date.AddDays(1))}'"; if (command.DateSearchField == DateSearchField.AccountingDate) { return(filter.Replace("@DATE_FIELD@", "FECHA_AFECTACION")); } else if (command.DateSearchField == DateSearchField.RecordingDate) { return(filter.Replace("@DATE_FIELD@", "FECHA_REGISTRO")); } else { throw Assertion.AssertNoReachThisCode(); } }
static private SignEvent CreateSignEvent(SignTask signTask, SignRequest signRequest) { switch (signTask.EventType) { case SignEventType.Signed: string digitalSign = SignData(signTask.SignCredentials, signRequest.Document.SignInputData); return(signRequest.Sign(digitalSign)); case SignEventType.Refused: return(signRequest.Refuse()); case SignEventType.Revoked: return(signRequest.Revoke()); case SignEventType.Unrefused: return(signRequest.Unrefuse()); default: throw Assertion.AssertNoReachThisCode(); } }
private string GetInitialGroupingClause() { if (_command.DoNotReturnSubledgerAccounts && _command.Consolidated) { return("GROUP BY ID_MONEDA, ID_CUENTA_ESTANDAR, ID_SECTOR"); } else if (_command.DoNotReturnSubledgerAccounts && _command.ShowCascadeBalances) { return("GROUP BY ID_MAYOR, ID_MONEDA, ID_CUENTA_ESTANDAR, ID_SECTOR, ID_CUENTA"); } else if (_command.ReturnSubledgerAccounts && _command.Consolidated) { return("GROUP BY ID_MONEDA, ID_CUENTA_ESTANDAR, ID_SECTOR, ID_CUENTA_AUXILIAR"); } else if (_command.ReturnSubledgerAccounts && _command.ShowCascadeBalances) { return("GROUP BY ID_MAYOR, ID_MONEDA, ID_CUENTA_ESTANDAR, ID_SECTOR, ID_CUENTA, ID_CUENTA_AUXILIAR"); } else { throw Assertion.AssertNoReachThisCode(); } }
private void SetTable(TrialBalanceDto trialBalance) { switch (trialBalance.Command.TrialBalanceType) { case TrialBalanceType.AnaliticoDeCuentas: FillOutAnaliticoDeCuentas(trialBalance.Entries.Select(x => (TwoColumnsTrialBalanceEntryDto)x)); return; case TrialBalanceType.SaldosPorCuentaYMayor: FillOutSaldosPorCuentayMayor(trialBalance.Entries.Select(x => (TrialBalanceEntryDto)x)); return; case TrialBalanceType.Balanza: case TrialBalanceType.BalanzaConAuxiliares: case TrialBalanceType.Saldos: case TrialBalanceType.SaldosPorAuxiliar: case TrialBalanceType.SaldosPorCuenta: FillOutBalanza(trialBalance.Entries.Select(x => (TrialBalanceEntryDto)x)); return; default: throw Assertion.AssertNoReachThisCode(); } }
internal FixedList <DataTableColumn> DataColumns() { switch (this.Command.TrialBalanceType) { case TrialBalanceType.AnaliticoDeCuentas: return(TwoCurrenciesDataColumns()); case TrialBalanceType.Balanza: case TrialBalanceType.BalanzaConAuxiliares: case TrialBalanceType.GeneracionDeSaldos: case TrialBalanceType.Saldos: case TrialBalanceType.SaldosPorAuxiliar: case TrialBalanceType.SaldosPorCuenta: case TrialBalanceType.SaldosPorCuentaYMayor: return(TrialBalanceDataColumns()); case TrialBalanceType.BalanzaValorizadaComparativa: return(TwoBalancesComparativeDataColumns()); default: throw Assertion.AssertNoReachThisCode( $"Unhandled trial balance type {this.Command.TrialBalanceType}."); } }
internal List <TrialBalanceEntry> GenerateSummaryEntries(FixedList <TrialBalanceEntry> entries) { var summaryEntries = new EmpiriaHashTable <TrialBalanceEntry>(entries.Count); var detailSummaryEntries = new List <TrialBalanceEntry>(); foreach (var entry in entries) { entry.DebtorCreditor = entry.Account.DebtorCreditor; entry.SubledgerAccountNumber = SubsidiaryAccount.Parse(entry.SubledgerAccountId).Number ?? ""; StandardAccount currentParent; if (_command.ReturnSubledgerAccounts) { currentParent = entry.Account; } else if (_command.DoNotReturnSubledgerAccounts && entry.Account.HasParent) { currentParent = entry.Account.GetParent(); } else if (_command.DoNotReturnSubledgerAccounts && entry.Account.NotHasParent) { continue; } else { throw Assertion.AssertNoReachThisCode(); } int cont = 0; while (true) { entry.DebtorCreditor = entry.Account.DebtorCreditor; entry.SubledgerAccountIdParent = entry.SubledgerAccountId; SummaryByEntry(summaryEntries, entry, currentParent, entry.Sector, TrialBalanceItemType.BalanceSummary); cont++; if (cont == 1 && _command.TrialBalanceType == TrialBalanceType.SaldosPorCuenta) { GetDetailSummaryEntries(detailSummaryEntries, summaryEntries, currentParent, entry); } if (!currentParent.HasParent && entry.HasSector) { SummaryByEntry(summaryEntries, entry, currentParent, Sector.Empty, TrialBalanceItemType.BalanceSummary); break; } else if (!currentParent.HasParent) { break; } else { currentParent = currentParent.GetParent(); } } // while } // foreach if (detailSummaryEntries.Count > 0 && _command.TrialBalanceType == TrialBalanceType.SaldosPorCuenta) { return(detailSummaryEntries); } return(summaryEntries.Values.ToList()); }