public DeclarationSocialValue(Byte statement, WorkSocialTerms summarize, TAmountDec totalBase, Byte foreigner) : base((ResultCode)ArticleResultCode.RESULT_VALUE_DECLARATION_SOCIAL) { this.StatementType = statement; this.SummarizeType = summarize; this.ForeignerType = foreigner; this.SocialAnnuity = totalBase; }
public TAmountDec CutDownPartialAdvanceSocial(Period evalPeriod, TAmountDec generalIncome, TAmountDec annuityIncome) { TAmountDec annuityBaseLimit = InternalGuides.MaxSocialAnnualBasisAdvance(); TAmountDec cutdownBaseAbove = OperationsDec.MaxDecAccumAbove(generalIncome, annuityIncome, annuityBaseLimit); return(cutdownBaseAbove); }
public TAmountDec TaxableIncomesAdvanceTaxingMode(Period evalPeriod, TAmountDec generalIncome, TAmountDec excludeIncome, TAmountDec lolevelIncome, TAmountDec agrtaskIncome, TAmountDec partnerIncome) { TAmountDec totalIncome = decimal.Zero; totalIncome = decimal.Add(totalIncome, generalIncome); if (InternalGuides.TaxLoLevelIncomeWithhold() == false) { totalIncome = decimal.Add(totalIncome, lolevelIncome); } else if (InternalGuides.MaxLoLevelIncomeWithhold() > lolevelIncome) { totalIncome = decimal.Add(totalIncome, lolevelIncome); } if (InternalGuides.TaxTaskAgrIncomeWithhold() == false) { totalIncome = decimal.Add(totalIncome, agrtaskIncome); } else if (InternalGuides.MaxTaskAgrIncomeWithhold() > agrtaskIncome) { totalIncome = decimal.Add(totalIncome, agrtaskIncome); } return(totalIncome); }
public static IEnumerable <ResultPack> EvaluateConcept(ConfigBase evalConfig, Period evalPeriod, IPeriodProfile evalProfile, Result <MasterItem.EvaluateSource, string> prepValues) { ITaxingProfile conceptProfile = evalProfile.Taxing(); if (conceptProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, CONCEPT_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TAmountDec basisSourced = conceptProfile.TaxableBaseAdvanceTaxingMode(evalPeriod, conceptValues.IncomeAdvance); TAmountDec basisRounded = conceptProfile.TaxableBaseAdvanceTaxingMode(evalPeriod, conceptValues.IncomeAdvance); TAmountDec basisFinally = conceptProfile.TaxableBaseAdvanceTaxingMode(evalPeriod, conceptValues.IncomeAdvance); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddMoneyTaxingBasisValue(basisSourced, basisRounded, basisFinally); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
public TAmountDec TaxablePartialAdvanceHealth(Period evalPeriod, TAmountDec generalIncome, TAmountDec annuityIncome) { TAmountDec annuityBaseLimit = InternalGuides.MaxHealthAnnualBasisAdvance(); TAmountDec cutdownBaseValue = OperationsDec.MaxDecAccumValue(generalIncome, annuityIncome, annuityBaseLimit); return(cutdownBaseValue); }
public static IEnumerable <ResultPack> EvaluateConcept(ConfigBase evalConfig, Period evalPeriod, IPeriodProfile evalProfile, Result <MasterItem.EvaluateSource, string> prepValues) { ISocialProfile conceptProfile = evalProfile.Social(); if (conceptProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, CONCEPT_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TAmountDec incomeTotalsGeneral = conceptProfile.IncludeGeneralIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.IncludeIncome, conceptValues.ExcludeIncome); TAmountDec incomeTotalsExclude = conceptProfile.ExcludeGeneralIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.IncludeIncome, conceptValues.ExcludeIncome); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddIncomeInsSocialValue(conceptValues.SummarizeType, incomeTotalsGeneral, incomeTotalsExclude); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
public static IEnumerable <ResultPack> EvaluateConcept(ConfigBase evalConfig, Period evalPeriod, IPeriodProfile evalProfile, Result <MasterItem.EvaluateSource, string> prepValues) { ITaxingProfile conceptProfile = evalProfile.Taxing(); if (conceptProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, CONCEPT_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TAmountDec employerPart = TAmountDec.Add(conceptValues.HealthsPartAmount, conceptValues.SocialsPartAmount); TAmountDec partialsBase = TAmountDec.Add(conceptValues.GeneralBaseAmount, employerPart); TAmountDec definiteBase = conceptProfile.DecRoundUp(partialsBase); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddTaxPartialBaseValue(definiteBase); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
public static IEnumerable <ResultPack> EvaluateConcept(ConfigBase evalConfig, Period evalPeriod, IPeriodProfile evalProfile, Result <MasterItem.EvaluateSource, string> prepValues) { IEmployProfile conceptProfile = evalProfile.Employ(); if (conceptProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, CONCEPT_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TAmountDec salaryPaymentValue = conceptProfile.SalaryAmountScheduleWork(evalPeriod, conceptValues.MonthlyAmount, conceptValues.HoursLiable, conceptValues.HoursWorked); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddMoneyPaymentValue(salaryPaymentValue); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
public DeclarationHealthValue(Byte statement, WorkHealthTerms summarize, TAmountDec totalBase, Byte foreigner) : base((ResultCode)ArticleResultCode.RESULT_VALUE_DECLARATION_HEALTH) { this.StatementType = statement; this.SummarizeType = summarize; this.ForeignerType = foreigner; this.HealthAnnuity = totalBase; }
public TAmountDec TaxableLolevelIncomes(Period evalPeriod, WorkTaxingTerms summarize, Byte statement, Byte declaracy, Byte residency, TAmountDec taxableIncome, TAmountDec partnerIncome, TAmountDec excludeIncome) { TAmountDec totalIncome = decimal.Zero; if (statement == TaxStatement.TAXABLE) { if (declaracy == TaxDeclaracy.NONSIGNED) { switch (summarize) { case WorkTaxingTerms.TAXING_TERM_EMPLOYMENT_POLICY: totalIncome = decimal.Add(totalIncome, taxableIncome); break; case WorkTaxingTerms.TAXING_TERM_FOR_TASK_AGREEMENT: break; case WorkTaxingTerms.TAXING_TERM_STATUTORY_PARTNER: break; } } } return(totalIncome); }
public static IEnumerable <ResultPack> EvaluateConcept(ConfigBase evalConfig, Period evalPeriod, IPeriodProfile evalProfile, Result <MasterItem.EvaluateSource, string> prepValues) { ITaxingProfile conceptProfile = evalProfile.Taxing(); if (conceptProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, CONCEPT_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TAmountDec incomeAdvance = conceptProfile.TaxableIncomesWithholdLolevelMode(evalPeriod, conceptValues.GeneralIncome, conceptValues.ExcludeIncome, conceptValues.LolevelIncome, conceptValues.TaskAgrIncome, conceptValues.PartnerIncome); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddMoneyTransferIncomeValue(incomeAdvance); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
private TAmountInt EmployerPartialWithSocialFactor(decimal employerBasis, decimal employerFactor) { TAmountDec decimalResult = DecFactorResult(employerBasis, employerFactor); TAmountInt roundedResult = IntRoundUp(decimalResult); return(roundedResult); }
private TAmountInt CompoundPartialWithHealthFactor(decimal compoundBasis, decimal compoundFactor) { TAmountDec decimalResult = DecFactorResult(compoundBasis, compoundFactor); TAmountInt roundedResult = IntRoundUp(decimalResult); return(roundedResult); }
public TaxableIncomeSum(TAmountDec general, TAmountDec exclude, TAmountDec lolevel, TAmountDec agrtask, TAmountDec partner) { this.InternalIncomeGeneral = general; this.InternalIncomeExclude = exclude; this.InternalIncomeLolevel = lolevel; this.InternalIncomeTaskAgr = agrtask; this.InternalIncomePartner = partner; }
public TaxableIncomeSum() { this.InternalIncomeGeneral = TAmountDec.Zero; this.InternalIncomeExclude = TAmountDec.Zero; this.InternalIncomeLolevel = TAmountDec.Zero; this.InternalIncomeTaskAgr = TAmountDec.Zero; this.InternalIncomePartner = TAmountDec.Zero; }
public MoneyInsuranceBasisValue(ResultCode code, TAmountDec basisRawly, TAmountDec basisRound, TAmountDec basisCuter, TAmountDec aboveCuter, TAmountDec basisFinal) : base(code) { this.BasisRawNumb = basisRawly; this.BasisRounded = basisRound; this.BasisCutdown = basisCuter; this.AboveCutdown = aboveCuter; this.BasisFinNumb = basisFinal; }
public TAmountDec BasisSolidaryRounded(TAmountDec generalIncome) { decimal solidaryLimit = InternalGuides.MinValidIncomeOfSolidary(); decimal solidaryBasis = Math.Max(0, generalIncome - solidaryLimit); return(solidaryBasis); }
public IArticleResult AddMoneyTaxingBasisValue(TAmountDec basisRawly, TAmountDec basisRound, TAmountDec basisFinal) { IArticleResultValues value = new MoneyTaxingBasisValue((ResultCode)ArticleResultCode.RESULT_VALUE_TAXING_BASIS_MONEY, basisRawly, basisRound, basisFinal); ResultValues = ResultValues.Concat(value); return(this); }
public PositionMonthlyAmountSource(TAmountDec monthlyAmount, Int16 shiftLiable, Int16 shiftWorked, Int16 hoursLiable, Int16 hoursWorked) { MonthlyAmount = monthlyAmount; ShiftLiable = shiftLiable; ShiftWorked = shiftWorked; HoursLiable = hoursLiable; HoursWorked = hoursWorked; }
public IArticleResult AddIncomeInsSocialValue(WorkSocialTerms summarize, TAmountDec related, TAmountDec exclude) { IArticleResultValues value = new IncomeInsSocialValue(summarize, related, exclude); ResultValues = ResultValues.Concat(value); return(this); }
public IArticleResult AddTaxSolidaryBaseValue(TAmountDec solidaryBase) { IArticleResultValues value = new MoneyTaxingBasisValue((ResultCode)ArticleResultCode.RESULT_VALUE_TAXING_BASIS_MONEY, solidaryBase); ResultValues = ResultValues.Concat(value); return(this); }
public IArticleResult AddMoneyTransferIncomeValue(TAmountDec incomeAmount) { IArticleResultValues value = new MoneyTransferIncomeValue((ResultCode)ArticleResultCode.RESULT_VALUE_TRANSFER_INCOME_MONEY, incomeAmount); ResultValues = ResultValues.Concat(value); return(this); }
public IArticleResult AddMoneyInsuranceBasisValue(TAmountDec basisRawly, TAmountDec basisRound, TAmountDec basisCuter, TAmountDec aboveCuter, TAmountDec basisFinal) { IArticleResultValues value = new MoneyInsuranceBasisValue((ResultCode)ArticleResultCode.RESULT_VALUE_INSURANCE_BASIS_MONEY, basisRawly, basisRound, basisCuter, aboveCuter, basisFinal); ResultValues = ResultValues.Concat(value); return(this); }
public IArticleResult AddMoneyPaymentValue(TAmountDec paymentAmount) { IArticleResultValues value = new MoneyPaymentValue((ResultCode)ArticleResultCode.RESULT_VALUE_PAYMENT_MONEY, paymentAmount); ResultValues = ResultValues.Concat(value); return(this); }
public TaxDeclarationSource() { StatementType = 0; SummarizeType = WorkTaxingTerms.TAXING_TERM_EMPLOYMENT_POLICY; DeclaracyType = 0; ResidencyType = 0; HealthAnnuity = TAmountDec.Zero; SocialAnnuity = TAmountDec.Zero; }
public IArticleResult AddIncomeTaxGeneralValue(WorkTaxingTerms summarize, Byte statement, Byte residency, TAmountDec general, TAmountDec lolevel, TAmountDec agrtask, TAmountDec partner, TAmountDec exclude) { IArticleResultValues value = new IncomeTaxGeneralValue(summarize, statement, residency, general, lolevel, agrtask, partner, exclude); ResultValues = ResultValues.Concat(value); return(this); }
public TaxDeclarationSource(Byte statementType, WorkTaxingTerms summarizeType, Byte declaracyType, Byte residencyType, TAmountDec healthAnnuity, TAmountDec socialAnnuity) { StatementType = statementType; SummarizeType = summarizeType; DeclaracyType = declaracyType; ResidencyType = residencyType; HealthAnnuity = healthAnnuity; SocialAnnuity = socialAnnuity; }
public DeclarationTaxingValue(Byte statement, WorkTaxingTerms summarize, Byte declaracy, Byte residency, TAmountDec healthSum, TAmountDec socialSum) : base((ResultCode)ArticleResultCode.RESULT_VALUE_DECLARATION_TAXING) { this.StatementType = statement; this.SummarizeType = summarize; this.DeclaracyType = declaracy; this.ResidencyType = residency; this.HealthAnnuity = healthSum; this.SocialAnnuity = socialSum; }
public TAmountDec EployerPartialAdvanceHealth(Period evalPeriod, TAmountDec generalIncome, TAmountDec compoundFactor) { Int32 compoundPartialValue = CompoundPartialWithHealthFactor(generalIncome, compoundFactor); Int32 employeePartialValue = EmployeePartialWithHealthFactor(generalIncome, compoundFactor); Int32 employerPartialValue = (compoundPartialValue - employeePartialValue); return(employerPartialValue); }
public TAmountInt RebateResult(TAmountDec rebateBasis, TAmountDec rebateApply, TAmountDec rebateClaim) { TAmountDec afterApply = TAmountDec.Subtract(rebateBasis, rebateApply); TAmountDec afterClaim = Math.Max(0m, TAmountDec.Subtract(rebateClaim, afterApply)); TAmountDec rebateResult = TAmountDec.Subtract(rebateClaim, afterClaim); return(RoundingInt.RoundToInt(rebateResult)); }