public BogføringslinjeView BogføringslinjeAdd(BogføringslinjeAddCommand bogføringslinjeAddCommand) { try { return(_commandBus.Publish <BogføringslinjeAddCommand, BogføringslinjeView>(bogføringslinjeAddCommand)); } catch (Exception ex) { throw CreateFault(MethodBase.GetCurrentMethod(), ex, int.Parse(Properties.Resources.EventLogFinansstyringRepositoryService)); } }
/// <summary> /// Tilføjer en bogføringslinje. /// </summary> /// <param name="bogføringstidspunkt">Bogføringstidspunkt.</param> /// <param name="bilag">Bilag.</param> /// <param name="konto">Konto.</param> /// <param name="tekst">Tekst.</param> /// <param name="budgetkonto">Budgetkonto.</param> /// <param name="debit">Debitbeløb.</param> /// <param name="kredit">Kreditbeløb.</param> /// <param name="adressekonto">Adressekonto.</param> /// <returns>Oprettet bogføringslinje.</returns> public Bogføringslinje BogføringslinjeAdd(DateTime bogføringstidspunkt, string bilag, Konto konto, string tekst, Budgetkonto budgetkonto, decimal debit, decimal kredit, AdresseBase adressekonto) { if (konto == null) { throw new ArgumentNullException("konto"); } if (string.IsNullOrEmpty(tekst)) { throw new ArgumentNullException("tekst"); } var channel = _channelFactory.CreateChannel <IFinansstyringRepositoryService>(EndpointConfigurationName); try { // Udførelse af kommando. var command = new BogføringslinjeAddCommand { Regnskabsnummer = konto.Regnskab.Nummer, Bogføringsdato = bogføringstidspunkt, Bilag = bilag, Kontonummer = konto.Kontonummer, Tekst = tekst, Budgetkontonummer = budgetkonto == null ? null : budgetkonto.Kontonummer, Debit = debit, Kredit = kredit, AdresseId = adressekonto == null ? 0 : adressekonto.Nummer }; var result = channel.BogføringslinjeAdd(command); // Behandling af resultat. var bogføringslinje = new Bogføringslinje(result.Løbenummer, result.Dato, result.Bilag, result.Tekst, result.Debit, result.Kredit); konto.TilføjBogføringslinje(bogføringslinje); if (budgetkonto != null) { budgetkonto.TilføjBogføringslinje(bogføringslinje); } if (adressekonto != null) { adressekonto.TilføjBogføringslinje(bogføringslinje); } return(bogføringslinje); } catch (IntranetRepositoryException) { throw; } catch (FaultException ex) { throw new IntranetRepositoryException(ex.Message); } catch (Exception ex) { throw new IntranetRepositoryException( Resource.GetExceptionMessage(ExceptionMessage.RepositoryError, MethodBase.GetCurrentMethod().Name, ex.Message), ex); } finally { ChannelTools.CloseChannel(channel); } }