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)); }
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)); }