private void CalculateAndShowSalaryReport(object sender, EventArgs e)
 {
     try
     {
         var factors = new Factors
         {
             WorkedHours = StringParser.StringToDouble(
                 string.IsNullOrEmpty(WorkedHours.Text)
                     ? throw new ArgumentException(ErrorMessages.MissingWorkedHours)
                     : WorkedHours.Text),
             HourlyFee = StringParser.StringToDouble(
                 string.IsNullOrEmpty(HourlyFee.Text)
                     ? throw new ArgumentException(ErrorMessages.MissingHourlyFee)
                     : HourlyFee.Text),
             WorkedMonth = MonthsDropDown.SelectedIndex + 1
         };
         var monthSalaryReport = new MonthSalaryReport(_monthsWorkingHours, factors);
         var textReport        = new SimpleTextReportBuilder()
                                 .BuildMonthlyReport(monthSalaryReport);
         new CalculatorReportWindow(textReport).ShowDialog();
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, "Uwaga");
     }
 }
Ejemplo n.º 2
0
 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 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 Calculate()
 {
     _summary = new CalculationsSummary();
     try
     {
         StringParser.StringToDouble(_factors.WorkedMonth.ToString());
         StringParser.StringToDouble(_factors.HourlyFee.ToString());
         _summary.OverHoursAmount      = Calc.CalculateOverhoursAmount(_factors.WorkedMonth, _factors.WorkedHours);
         _summary.OverHoursGrossIncome = Calc.CalculateOverHoursGrossIncome(_summary.OverHoursAmount, _factors.HourlyFee);
         _summary.OverHoursNetIncome   = Calc.CalculateOverHoursNetIncome(_summary.OverHoursGrossIncome);
         _summary.TotalGrossIncome     = Calc.CalculateTotalGrossIncome(
             _factors.WorkedHours, _factors.HourlyFee, _summary.OverHoursGrossIncome);
         _summary.TotalNetIncome = Calc.CalculateTotalNetIncome(_summary.TotalGrossIncome);
         _monthSalaryReport      = new MonthSalaryReport(MonthsWorkingHours, _factors);
     }
     catch (Exception excteption)
     {
         _errorMessage = excteption.Message;
     }
 }
Ejemplo n.º 5
0
        public string BuildMonthlyReport(MonthSalaryReport monthSalaryReport)
        {
            var report = new StringBuilder();

            report
            .AppendLine(Environment.NewLine)
            .AppendLine($"{Ressources.ReportTextualRessources.SummaryForTheMonth} {CultureInfo.DefaultThreadCurrentUICulture.DateTimeFormat.GetMonthName(monthSalaryReport.Factors.WorkedMonth)} :")
            .AppendLine("")
            .AppendLine(
                $"{Ressources.ReportTextualRessources.TimeDimension}: {monthSalaryReport.MonthsWorkingHours[monthSalaryReport.Factors.WorkedMonth]}h, " +
                $"{Ressources.ReportTextualRessources.WorkingHours}: {monthSalaryReport.Factors.WorkedHours}h")
            .AppendLine($"{Ressources.ReportTextualRessources.HourlyRateGross}: {monthSalaryReport.Factors.HourlyFee}zł {Environment.NewLine}")
            .AppendLine($"{Ressources.ReportTextualRessources.OvertimeHours} {monthSalaryReport.Summary.OverHoursAmount}, " +
                        $"{Ressources.ReportTextualRessources.GrossSalary} {monthSalaryReport.Summary.OverHoursGrossIncome}zł")
            .AppendLine($"{Ressources.ReportTextualRessources.OvertimeHours} {monthSalaryReport.Summary.OverHoursAmount}, " +
                        $"{Ressources.ReportTextualRessources.NetSalary} {monthSalaryReport.Summary.OverHoursNetIncome}zł")
            .AppendLine($"{Ressources.ReportTextualRessources.TotalGrossSalary} {monthSalaryReport.Summary.TotalGrossIncome}zł")
            .AppendLine($"{Ressources.ReportTextualRessources.TotalNetSalary} {monthSalaryReport.Summary.TotalNetIncome}zł")
            .AppendLine("")
            .AppendLine(Environment.NewLine);
            return(report.ToString());
        }
Ejemplo n.º 6
0
        public string BuildMonthlyReport(MonthSalaryReport monthSalaryReport)
        {
            var report = new StringBuilder();

            report
            .AppendLine(Environment.NewLine)
            .AppendLine($"Podsumowanie dla miesiąca {Month.NumberToName(monthSalaryReport.Factors.WorkedMonth)} :")
            .AppendLine("")
            .AppendLine(
                $"Wymiar czasu pracy w tym miesiącu: {monthSalaryReport.MonthsWorkingHours[monthSalaryReport.Factors.WorkedMonth]}h, " +
                $"Przepracowano: {monthSalaryReport.Factors.WorkedHours}h")
            .AppendLine($"Stawka godzinowa (brutto): {monthSalaryReport.Factors.HourlyFee}zł {Environment.NewLine}")
            .AppendLine($"Liczba nadgodzin: {monthSalaryReport.Summary.OverHoursAmount}, " +
                        $"wynagrodzenie brutto: {monthSalaryReport.Summary.OverHoursGrossIncome}zł")
            .AppendLine($"Liczba nadgodzin: {monthSalaryReport.Summary.OverHoursAmount}, " +
                        $"wynagrodzenie netto: {monthSalaryReport.Summary.OverHoursNetIncome}zł")
            .AppendLine($"Wynagrodzenie całkowite brutto (podstawa + nadgodziny): {monthSalaryReport.Summary.TotalGrossIncome}zł")
            .AppendLine($"Wynagrodzenie całkowite netto (podstawa + nadgodziny): {monthSalaryReport.Summary.TotalNetIncome}zł")
            .AppendLine("")
            .AppendLine(Environment.NewLine);
            return(report.ToString());
        }