//--------------------------------------------------------------------------------------------------------- /// <summary> /// Получение финансирования уровня бюджета /// </summary> /// <param name="this">Интерфейс для определения финансирования по уровням бюджета</param> /// <param name="budget_financing">Уровень бюджета</param> /// <returns>Финансирование</returns> //--------------------------------------------------------------------------------------------------------- public static Decimal GetBudgetFinancingOfType(this ICubeXBudgetFinancing @this, TBudgetFinancing budget_financing) { switch (budget_financing) { case TBudgetFinancing.Common: return(@this.Price); case TBudgetFinancing.Local: return(@this.PriceLocal); case TBudgetFinancing.Regional: return(@this.PriceRegional); case TBudgetFinancing.Federal: return(@this.PriceFederal); case TBudgetFinancing.Extra: return(@this.PriceExtra); default: return(0); } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Получение совокупного финансирования по уровням бюджета /// </summary> /// <param name="this">Интерфейс для определения финансирования по уровням бюджета</param> /// <param name="budget_financing">Набор уровней бюджета</param> /// <returns>Совокупное финансирование</returns> //--------------------------------------------------------------------------------------------------------- public static Decimal GetBudgetFinancingOfSet(this ICubeXBudgetFinancing @this, TBudgetFinancingSet budget_financing) { Decimal total = 0; if (budget_financing.IsFlagSet(TBudgetFinancingSet.Local)) { total += @this.PriceLocal; } if (budget_financing.IsFlagSet(TBudgetFinancingSet.Regional)) { total += @this.PriceRegional; } if (budget_financing.IsFlagSet(TBudgetFinancingSet.Federal)) { total += @this.PriceFederal; } if (budget_financing.IsFlagSet(TBudgetFinancingSet.Extra)) { total += @this.PriceExtra; } return(total); }