public void EvaluateStore(IArticleSourceStore source, Period evalPeriod, IPeriodProfile evalProfile) { SourcesStream.CopyModel(source); SourcesStream.EvolveStream(ContractCode, PositionCode); EvaluationPath = SourcesStream.GetEvaluationPath(); /* * // payrollData.ModelList - Evaluate => Results */ EvaluationCase = EvaluateStream(EvaluationPath, evalPeriod, evalProfile); }
public static void CreatePayrollData(string configFolder) { var memoryService = new SimplePermadomService(); var matrixService = new SimpleMatrixusService(); matrixService.InitializeService(memoryService); var legalsService = new SimpleLegalistService(); legalsService.InitializeService(); IArticleSourceStore sourceStore = new ArticleSourceStore(matrixService.Profile()); var sourceData = memoryService.GetArticleSourceData(); sourceStore.LoadSourceData(sourceData); var calculService = new SimpleCalculusService(matrixService.Profile()); calculService.InitializeService(); Period evalPeriod = new Period(2018, 1); IPeriodProfile evalProfile = legalsService.GetPeriodProfile(evalPeriod); calculService.EvaluateStore(sourceStore, evalPeriod, evalProfile); List <SourcePair> evaluationPath = calculService.GetEvaluationPath(); List <ResultPair> evaluationCase = calculService.GetEvaluationCase(); string configFilePath = System.IO.Path.Combine(configFolder, "ARTICLES_PAYROLL.TXT"); try { StreamWriter writerFile = new StreamWriter(configFilePath, false /* , Encoding.GetEncoding(1250) */); evaluationPath.ForEach((c) => writerFile.WriteLine(c.Description())); evaluationCase.ForEach((c) => writerFile.WriteLine(c.Description())); writerFile.Flush(); writerFile.Close(); } catch (Exception ex) { System.Diagnostics.Debug.Print(ex.Message); } }
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 TSeconds[] contractMonth = PeriodUtils.EmptyMonthSchedule(); TDay periodDay = 1; foreach (var position in conceptValues.PositionList) { contractMonth = PeriodUtils.ScheduleFromTemplateStopInc(contractMonth, position.ScheduleWorks, position.DayPeriodFrom, position.DayPeriodStop); periodDay = (TDay)(position.DayPeriodStop + 1); } // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddWorkMonthRealScheduleValue(contractMonth); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
protected abstract IEnumerable <ResultPack> EvaluateArticleResults(TargetItem evalTarget, ConfigBase evalConfig, ISourceValues evalValues, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults);
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 TDay dayTermFrom = conceptProfile.DateFromInPeriod(evalPeriod, conceptValues.DateTermFrom); if (dayTermFrom < conceptValues.DayContractFrom) { dayTermFrom = conceptValues.DayContractFrom; } TDay dayTermStop = conceptProfile.DateStopInPeriod(evalPeriod, conceptValues.DateTermStop); if (dayTermStop > conceptValues.DayContractStop) { dayTermStop = conceptValues.DayContractStop; } // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddPositionFromStop(conceptValues.DateTermFrom, conceptValues.DateTermStop, conceptValues.PositionType); conceptResult.AddMonthFromStop(dayTermFrom, dayTermStop); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
protected override IEnumerable <ResultPack> EvaluateArticleResults(TargetItem evalTarget, ConfigBase evalConfig, ISourceValues evalValues, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults) { if (InternalEvaluate == null) { return(EvaluateUtils.DecoratedError(ARTICLE_DESCRIPTION_ERROR_FORMAT, EXCEPTION_RESULT_NONE_TEXT)); } var sourceBuilder = new EvaluateSource.SourceBuilder(evalValues); var resultBuilder = new EvaluateSource.ResultBuilder(evalTarget, evalResults); var bundleValues = PrepareConceptValues <EvaluateSource>(sourceBuilder, resultBuilder); if (bundleValues.IsFailure) { return(EvaluateUtils.DecoratedError(ARTICLE_DESCRIPTION_ERROR_FORMAT, bundleValues.Error)); } return(InternalEvaluate(evalConfig, evalPeriod, evalProfile, bundleValues)); }
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 TSeconds[] absencseMonth = PeriodUtils.ScheduleFromTimesheet( conceptValues.ScheduleMonth, conceptValues.SchedulePiece, conceptValues.ScheduleHours, conceptValues.DayFrom, conceptValues.DayStop); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddMonthAttendanceScheduleValue(conceptValues.DayFrom, conceptValues.DayStop, absencseMonth); // 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 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 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 Byte foreignerType = 0; // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddDeclarationSocialValue(conceptValues.StatementType, conceptValues.SummarizeType, conceptValues.TotalYearBase, foreignerType); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
private IEnumerable <ResultPair> EvaluateSourceItem(SourcePair sourceItem, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults) { TargetItem targetInResult = sourceItem.Key; SourcePack sourceInResult = sourceItem.Value; IEnumerable <ResultPack> resultList = sourceInResult.OnSuccessToResultSetEvaluate(targetInResult, evalPeriod, evalProfile, evalResults, _evaluateResultsFunc); return(resultList.Select((r) => (new ResultPair(sourceItem.Key, r))).ToList()); }
public IEnumerable <ResultPair> EvaluateStream(IEnumerable <SourcePair> sourceStream, Period evalPeriod, IPeriodProfile evalProfile) { IEnumerable <ResultPair> initResults = new List <ResultPair>(); IEnumerable <ResultPair> dropResults = sourceStream.Aggregate(initResults, (agr, s) => (agr.Merge(EvaluateSourceItem(s, evalPeriod, evalProfile, agr)))).ToList(); return(dropResults); }
protected override IEnumerable <ResultPack> EvaluateArticleResults(TargetItem evalTarget, ConfigBase evalConfig, ISourceValues evalValues, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults) { return(EvaluateUtils.DecoratedError(ARTICLE_DESCRIPTION_ERROR_FORMAT, EXCEPTION_RESULT_NONE_TEXT)); }
protected ValidsPack ValidationOfParameters(TargetItem evalTarget, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults) { if (evalProfile == null) { return(ValidateUtils.Error(EXCEPTION_EXPERT_NULL_TEXT)); } if (evalPeriod == null) { return(ValidateUtils.Error(EXCEPTION_PERIOD_NULL_TEXT)); } if (evalTarget == null) { return(ValidateUtils.Error(EXCEPTION_TARGET_NULL_TEXT)); } if (evalResults == null) { return(ValidateUtils.Error(EXCEPTION_RESULT_NULL_TEXT)); } return(ValidateUtils.Ok()); }
public virtual ValidsPack ValidateEvaluateIntent(TargetItem evalTarget, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults) { ValidsPack validParameters = ValidationOfParameters(evalTarget, evalPeriod, evalProfile, evalResults); if (validParameters.IsFailure) { return(validParameters); } return(ValidateUtils.Ok()); }
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) { 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 incomeGeneralRelated = conceptProfile.TaxableGeneralIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.StatementType, conceptValues.DeclaracyType, conceptValues.ResidencyType, conceptValues.TaxableIncome, conceptValues.PartnerIncome, conceptValues.ExcludeIncome); TAmountDec incomeGeneralExclude = conceptProfile.ExcludeGeneralIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.StatementType, conceptValues.DeclaracyType, conceptValues.ResidencyType, conceptValues.TaxableIncome, conceptValues.PartnerIncome, conceptValues.ExcludeIncome); TAmountDec incomeLolevelRelated = conceptProfile.TaxableLolevelIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.StatementType, conceptValues.DeclaracyType, conceptValues.ResidencyType, conceptValues.TaxableIncome, conceptValues.PartnerIncome, conceptValues.ExcludeIncome); TAmountDec incomeAgrWorkRelated = conceptProfile.TaxableAgrWorkIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.StatementType, conceptValues.DeclaracyType, conceptValues.ResidencyType, conceptValues.TaxableIncome, conceptValues.PartnerIncome, conceptValues.ExcludeIncome); TAmountDec incomePartnerRelated = conceptProfile.TaxablePartnerIncomes(evalPeriod, conceptValues.SummarizeType, conceptValues.StatementType, conceptValues.DeclaracyType, conceptValues.ResidencyType, conceptValues.TaxableIncome, conceptValues.PartnerIncome, conceptValues.ExcludeIncome); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddIncomeTaxGeneralValue(conceptValues.SummarizeType, conceptValues.StatementType, conceptValues.ResidencyType, incomeGeneralRelated, incomeGeneralExclude, incomeLolevelRelated, incomeAgrWorkRelated, incomePartnerRelated); // 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 TSeconds[] hoursFullWeeks = new TSeconds[0]; TSeconds[] hoursRealWeeks = new TSeconds[0]; TSeconds[] hoursFullMonth = new TSeconds[0]; TSeconds[] hoursRealMonth = new TSeconds[0]; if (conceptValues.ScheduleType == WorkScheduleType.SCHEDULE_NORMALY_WEEK) { hoursFullWeeks = conceptProfile.TimesheetWeekSchedule(evalPeriod, conceptValues.ShiftLiable, 5); hoursRealWeeks = conceptProfile.TimesheetWeekSchedule(evalPeriod, conceptValues.ShiftActual, 5); hoursFullMonth = conceptProfile.TimesheetFullSchedule(evalPeriod, hoursFullWeeks); hoursRealMonth = conceptProfile.TimesheetFullSchedule(evalPeriod, hoursRealWeeks); } else { return(EvaluateUtils.DecoratedErrors(CONCEPT_DESCRIPTION_ERROR_FORMAT, SCHEDULE_TYPE_NOTIMPLEMENTED_TEXT)); } // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddWorkWeeksFullScheduleValue(hoursFullWeeks); conceptResult.AddWorkWeeksRealScheduleValue(hoursRealWeeks); conceptResult.AddWorkMonthFullScheduleValue(hoursFullMonth); conceptResult.AddWorkMonthRealScheduleValue(hoursRealMonth); // 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 solidaryBasis = conceptProfile.BasisSolidaryRounded(conceptValues.GeneralBaseAmount); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddTaxSolidaryBaseValue(solidaryBasis); // 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)); } IHealthProfile healthsProfile = evalProfile.Health(); if (healthsProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, HEALTHS_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TAmountDec startedBasisAmount = conceptProfile.TaxableIncomesAdvanceTaxingMode(evalPeriod, conceptValues.GeneralIncome, conceptValues.ExcludeIncome, conceptValues.LolevelIncome, conceptValues.TaskAgrIncome, conceptValues.PartnerIncome); TAmountDec compoundPercFactor = healthsProfile.FactorCompound(); TAmountDec roundedBasisAmount = conceptProfile.DecRoundUp(startedBasisAmount); TAmountDec cutdownBasisAmount = conceptProfile.TaxablePartialAdvanceHealth(evalPeriod, roundedBasisAmount, conceptValues.ExcludeIncome); TAmountDec cutdownAboveAmount = conceptProfile.CutDownPartialAdvanceHealth(evalPeriod, roundedBasisAmount, conceptValues.ExcludeIncome); TAmountDec finaledBasisAmount = conceptProfile.EployerPartialAdvanceHealth(evalPeriod, cutdownBasisAmount, compoundPercFactor); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddMoneyInsuranceBasisValue(startedBasisAmount, roundedBasisAmount, cutdownBasisAmount, cutdownAboveAmount, finaledBasisAmount); // SET RESULT VALUES return(EvaluateUtils.Results(conceptResult)); }
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) { IEmployProfile conceptProfile = evalProfile.Employ(); if (conceptProfile == null) { return(EvaluateUtils.DecoratedError(CONCEPT_DESCRIPTION_ERROR_FORMAT, CONCEPT_PROFILE_NULL_TEXT)); } MasterItem.EvaluateSource conceptValues = prepValues.Value; // EVALUATION TSeconds[] scheduleWorked = PeriodUtils.ScheduleBaseSubtract( conceptValues.ScheduleMonth, conceptValues.AbsencesMonth, 1, 31); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddWorkMonthTermScheduleValue(scheduleWorked); // 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 TSeconds[] scheduleRealMonth = conceptValues.RealMonthHours.ToArray(); TSeconds[] scheduleTermMonth = conceptProfile.TimesheetWorkSchedule(evalPeriod, scheduleRealMonth, conceptValues.DayTermFrom, conceptValues.DayTermStop); // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddWorkMonthRealScheduleValue(scheduleRealMonth); conceptResult.AddWorkMonthTermScheduleValue(scheduleTermMonth); // 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 TSeconds[] positionMonth = PeriodUtils.EmptyMonthSchedule(); foreach (var absence in conceptValues.AbsenceList) { positionMonth = PeriodUtils.ScheduleFromTemplateStopInc(positionMonth, absence.ScheduleMonth, conceptValues.DayPositionFrom, conceptValues.DayPositionStop); } // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES conceptResult.AddWorkMonthTermScheduleValue(positionMonth); // 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 // EVALUATION IArticleResult conceptResult = new ArticleGeneralResult(evalConfig); // SET RESULT VALUES // 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 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)); }
public IEnumerable <ResultPack> EvaluateResults(TargetItem evalTarget, Period evalPeriod, IPeriodProfile evalProfile, IEnumerable <ResultPair> evalResults) { ValidsPack validEvaluate = ValidateEvaluateIntent(evalTarget, evalPeriod, evalProfile, evalResults); if (validEvaluate.IsFailure) { return(ArticleDecorateResultError(validEvaluate.Error)); } ISourceValues evalValues = ExportSourceValues(); return(EvaluateArticleResults(evalTarget, InternalConfig, evalValues, evalPeriod, evalProfile, evalResults)); }