internal static bool Convertible(this BudgetInfoModel budgetInfoModel) { NullGuard.NotNull(budgetInfoModel, nameof(budgetInfoModel)); return(budgetInfoModel.YearMonth != null && budgetInfoModel.BudgetAccount != null && budgetInfoModel.BudgetAccount.Convertible()); }
internal static IBudgetInfo ToDomain(this BudgetInfoModel budgetInfoModel, IConverter accountingModelConverter) { NullGuard.NotNull(budgetInfoModel, nameof(budgetInfoModel)) .NotNull(accountingModelConverter, nameof(accountingModelConverter)); IBudgetAccount budgetAccount = accountingModelConverter.Convert <BudgetAccountModel, IBudgetAccount>(budgetInfoModel.BudgetAccount); return(budgetInfoModel.ToDomain(budgetAccount)); }
internal static IBudgetInfo ToDomain(this BudgetInfoModel budgetInfoModel, IBudgetAccount budgetAccount) { NullGuard.NotNull(budgetInfoModel, nameof(budgetInfoModel)) .NotNull(budgetAccount, nameof(budgetAccount)); IBudgetInfo budgetInfo = new BudgetInfo(budgetAccount, budgetInfoModel.YearMonth.Year, budgetInfoModel.YearMonth.Month, budgetInfoModel.Income, budgetInfoModel.Expenses); budgetInfoModel.CopyAuditInformationTo(budgetInfo); budgetInfo.SetDeletable(budgetInfoModel.Deletable); return(budgetInfo); }