예제 #1
0
        /// <summary>
        /// Gemmer data for en kontogruppe i det lokale datalager.
        /// </summary>
        /// <param name="kontogruppeModel">Model for en kontogruppe.</param>
        /// <param name="localeDataDocument">XML dokument, hvori data skal gemmes.</param>
        public static void StoreInDocument(this IKontogruppeModel kontogruppeModel, XDocument localeDataDocument)
        {
            if (kontogruppeModel == null)
            {
                throw new ArgumentNullException("kontogruppeModel");
            }
            if (localeDataDocument == null)
            {
                throw new ArgumentNullException("localeDataDocument");
            }
            var kontogruppeElement = localeDataDocument.GetKontogruppeElement(kontogruppeModel.Nummer);

            if (kontogruppeElement == null)
            {
                var rootElement = localeDataDocument.Root;
                kontogruppeElement = new XElement(XName.Get("Kontogruppe", rootElement.Name.NamespaceName));
                kontogruppeElement.UpdateAttribute(XName.Get("nummer", string.Empty), kontogruppeModel.Nummer.ToString(CultureInfo.InvariantCulture));
                kontogruppeElement.UpdateAttribute(XName.Get("tekst", string.Empty), kontogruppeModel.Tekst);
                kontogruppeElement.UpdateAttribute(XName.Get("balanceType", string.Empty), kontogruppeModel.Balancetype.ToString());
                rootElement.Add(kontogruppeElement);
                return;
            }
            kontogruppeElement.UpdateAttribute(XName.Get("tekst", string.Empty), kontogruppeModel.Tekst);
            kontogruppeElement.UpdateAttribute(XName.Get("balanceType", string.Empty), kontogruppeModel.Balancetype.ToString());
        }
 /// <summary>
 /// Danner en ViewModel til en linje i balancen.
 /// </summary>
 /// <param name="regnskabViewModel">ViewModel for regnskabet, som balancelinjen er tilknyttet.</param>
 /// <param name="kontogruppeModel">Model for gruppen af konti, som balancelinjen baserer sig på.</param>
 /// <param name="exceptionHandlerViewModel">Implementering af ViewModel for exceptionhandleren.</param>
 public BalanceViewModel(IRegnskabViewModel regnskabViewModel, IKontogruppeModel kontogruppeModel, IExceptionHandlerViewModel exceptionHandlerViewModel)
     : base(kontogruppeModel, exceptionHandlerViewModel)
 {
     if (regnskabViewModel == null)
     {
         throw new ArgumentNullException("regnskabViewModel");
     }
     _regnskabViewModel = regnskabViewModel;
     _regnskabViewModel.PropertyChanged += PropertyChangedOnRegnskabViewModelEventHandler;
 }