Example #1
0
 /// <summary>
 /// Пересчитывает сумму показателей только своих дочерних элементов
 /// </summary>
 public void RecalculateChildren()
 {
     if (Children.Count > 0)
     {
         switch (Type)
         {
             case PokazatelType.Ciaz:
                 double vsogo = 0;
                 double rawVsogo = 0;
                 foreach (BudgetViewModel child in Children)
                 {
                     vsogo += child.Pokazatel.Vsogo;
                     rawVsogo += child.RawPokazatel.Vsogo;
                 }
                 Pokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, vsogo));
                 RawPokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, rawVsogo));
                 break;
             case PokazatelType.Budget:
                 double zagalniyFond = 0;
                 double specialniyFond = 0;
                 double rawZagalniyFond = 0;
                 double rawSpecialniyFond = 0;
                 foreach (BudgetViewModel child in Children)
                 {
                     zagalniyFond += child.Pokazatel.ZagalniyFond;
                     specialniyFond += child.Pokazatel.SpecialniyFond;
                     rawZagalniyFond += child.RawPokazatel.ZagalniyFond;
                     rawSpecialniyFond += child.RawPokazatel.SpecialniyFond;
                 }
                 Pokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, zagalniyFond, specialniyFond));
                 RawPokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, rawZagalniyFond, rawSpecialniyFond));
                 break;
         }
     }
     else
     {
         switch (Type)
         {
             case PokazatelType.Ciaz:
                 Pokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, Pokazatel.Vsogo));
                 RawPokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, RawPokazatel.Vsogo));
                 break;
             case PokazatelType.Budget:
                 Pokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, Pokazatel.ZagalniyFond, Pokazatel.SpecialniyFond));
                 RawPokazatel = new PokazatelViewModel(new PokazatelModel(Pokazatel.Code, Pokazatel.Name, RawPokazatel.ZagalniyFond, RawPokazatel.SpecialniyFond));
                 break;
         }
     }
 }
Example #2
0
 public BudgetViewModel(BudgetModel BudgetModel, BudgetViewModel parent)
 {
     this.BudgetModel = BudgetModel;
     this.Pokazatel = new PokazatelViewModel(BudgetModel.Pokazatel);
     this.RawPokazatel = new PokazatelViewModel(BudgetModel.Pokazatel);
     Difference = new PokazatelViewModel(BudgetModel.Difference);
     this.Parent = parent;
     this.Children = new ObservableCollection<BudgetViewModel>();
     this.Type = BudgetModel.Type;
 }