static void Main() { while (true) { try { System.Console.WriteLine("PROGRAM DO OBLICZANIA WYNAGRODZENIA ZA NADGODZINY (DODATEK 50%)\n"); var monthsWorkingHoursConfiguration = JsonFileConverter.JsonFileConverter.ConvertFromFile <Dictionary <int, int> >("MonthConfig.json"); var monthsWorkingHours = new MonthsWorkingHours(monthsWorkingHoursConfiguration); var factors = new Factors { WorkedHours = UserInputConsoleReader.ReadWorkedHours(), HourlyFee = UserInputConsoleReader.ReadHourlyFee(), WorkedMonth = UserInputConsoleReader.ReadMonth() }; var monthSalaryReport = new MonthSalaryReport(monthsWorkingHours, factors); var textReport = new SimpleTextReportBuilder() .BuildMonthlyReport(monthSalaryReport); System.Console.WriteLine(textReport); } catch (Exception ex) { System.Console.WriteLine( $"Wystąpił błąd: {ex.Message}{Environment.NewLine}"); System.Console.WriteLine("----------------------------------------------------------------"); Main(); } } }
public SalaryCalculatorController( MonthsWorkingHours monthsWorkingHours, CalculationsSummary calculationsSummary, Calculator calculator) { _monthsWorkingHours = monthsWorkingHours; _summary = calculationsSummary; _calculator = calculator; }
public CalculatorMainWindow() { CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.CurrentCulture; InitializeComponent(); _monthsWorkingHours = LoadMonthsWorkingHoursFromConfiguration(); FillMonthsList(_monthsWorkingHours); ConfigureMonthsDropDownMember(); this.Localize(); }
private void FillMonthsList(MonthsWorkingHours monthsWorkingHoursConfiguration) { MonthsDropDown.DataSource = Enumerable.Range(1, 12).Select(monthNo => { var monthWorkingHours = monthsWorkingHoursConfiguration[monthNo]; return(new MonthsDropDownItem { MonthName = $"{CultureInfo.DefaultThreadCurrentUICulture.DateTimeFormat.GetMonthName(monthNo)} ({monthWorkingHours} h)", Hours = monthsWorkingHoursConfiguration[monthNo] }); }).ToList(); }
public MonthSalaryReport(MonthsWorkingHours monthsWorkingHours, Factors factors) { var summary = new CalculationsSummary(); var calculator = new Calculator(monthsWorkingHours); Factors = factors; Summary = summary; MonthsWorkingHours = monthsWorkingHours; summary.OverHoursAmount = calculator.CalculateOverhoursAmount(factors.WorkedMonth, factors.WorkedHours); summary.OverHoursGrossIncome = calculator.CalculateOverHoursGrossIncome(summary.OverHoursAmount, factors.HourlyFee); summary.OverHoursNetIncome = calculator.CalculateOverHoursNetIncome(summary.OverHoursGrossIncome); summary.TotalGrossIncome = calculator.CalculateTotalGrossIncome( factors.WorkedHours, factors.HourlyFee, summary.OverHoursGrossIncome); summary.TotalNetIncome = calculator.CalculateTotalNetIncome(summary.TotalGrossIncome); }
public MonthSalaryReportTests() { var monthsWorkingHours = new MonthsWorkingHours( new Dictionary <int, int> { { 1, 150 } }); var factors = new Factors() { HourlyFee = 13, WorkedHours = 180, WorkedMonth = 1 }; _monthSalaryReport = new MonthSalaryReport(monthsWorkingHours, factors); }
private void ConfigurationWindow_ConfigurationSavedEvent() { _monthsWorkingHours = LoadMonthsWorkingHoursFromConfiguration(); FillMonthsList(_monthsWorkingHours); }