public static SalaryConfiguration Build(Action <SalaryConfiguration> ctx)
        {
            SalaryConfiguration salaryConfig = new SalaryConfiguration();

            ctx(salaryConfig);

            return(salaryConfig);
        }
 public static void ConfigureNightSupplementForWeekDays(this SalaryConfiguration salaryConfiguration, int fromHour, int toHour, Supplement supplement)
 {
     salaryConfiguration.AddSupplement(new SupplementInfo(
                                           Guid.NewGuid(),
                                           "Night Supplement",
                                           "Night Supplement",
                                           new List <DayOfWeek> {
         DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday
     },
                                           supplement,
                                           new List <HourInfo> {
         new HourInfo(fromHour, toHour)
     }));
 }
 public static void ConfigureCustomSupplementHours(this SalaryConfiguration salaryConfiguration,
                                                   int nightHourBegin, int nightHourEnd, int weekendNightBegin, int weekendNightEnd)
 {
 }
 public static void ConfigureDefaultSupplementSettings(this SalaryConfiguration salaryConfiguration)
 {
 }
 public static void AddSupplement(this SalaryConfiguration salaryConfiguration, SupplementInfo supplementInfo)
 {
     salaryConfiguration.AddSupplement(supplementInfo);
 }
 public static void UseCustomTimeScheduling(this SalaryConfiguration salaryConfiguration, int customTimeSchedulingInterval)
 {
     salaryConfiguration.TimeTrackingIntervalInMinutes = customTimeSchedulingInterval;
 }
 public static void UseHourlyTimeScheduling(this SalaryConfiguration salaryConfiguration)
 {
     salaryConfiguration.TimeTrackingIntervalInMinutes = 60;
 }
 public static void UseQuarterTimeScheduling(this SalaryConfiguration salaryConfiguration)
 {
     salaryConfiguration.TimeTrackingIntervalInMinutes = 15;
 }