/// <summary> /// Danner en ViewModel til en linje i opgørelsen. /// </summary> /// <param name="regnskabViewModel">ViewModel for regnskabet, som opgørelseslinjen er tilknyttet.</param> /// <param name="budgetkontogruppeModel">Model for gruppen af budgetkonti, som opgørelseslinjen baserer sig på.</param> /// <param name="exceptionHandlerViewModel">Implementering af ViewModel for exceptionhandleren.</param> public OpgørelseViewModel(IRegnskabViewModel regnskabViewModel, IBudgetkontogruppeModel budgetkontogruppeModel, IExceptionHandlerViewModel exceptionHandlerViewModel) : base(budgetkontogruppeModel, exceptionHandlerViewModel) { if (regnskabViewModel == null) { throw new ArgumentNullException("regnskabViewModel"); } _regnskabViewModel = regnskabViewModel; _regnskabViewModel.PropertyChanged += PropertyChangedOnRegnskabViewModelEventHandler; }
/// <summary> /// Gemmer data for en budgetkontogruppe i det lokale datalager. /// </summary> /// <param name="budgetkontogruppeModel">Model for en kontogruppe til budgetkonti.</param> /// <param name="localeDataDocument">XML dokument, hvori data skal gemmes.</param> public static void StoreInDocument(this IBudgetkontogruppeModel budgetkontogruppeModel, XDocument localeDataDocument) { if (budgetkontogruppeModel == null) { throw new ArgumentNullException("budgetkontogruppeModel"); } if (localeDataDocument == null) { throw new ArgumentNullException("localeDataDocument"); } var budgetkontogruppeElement = localeDataDocument.GetBudgetkontogruppeElement(budgetkontogruppeModel.Nummer); if (budgetkontogruppeElement == null) { var rootElement = localeDataDocument.Root; budgetkontogruppeElement = new XElement(XName.Get("Budgetkontogruppe", rootElement.Name.NamespaceName)); budgetkontogruppeElement.UpdateAttribute(XName.Get("nummer", string.Empty), budgetkontogruppeModel.Nummer.ToString(CultureInfo.InvariantCulture)); budgetkontogruppeElement.UpdateAttribute(XName.Get("tekst", string.Empty), budgetkontogruppeModel.Tekst); rootElement.Add(budgetkontogruppeElement); return; } budgetkontogruppeElement.UpdateAttribute(XName.Get("tekst", string.Empty), budgetkontogruppeModel.Tekst); }