Ejemplo n.º 1
0
        /// <summary>
        /// Tworzy kalendarz urlopów
        /// </summary>
        /// <param name="date"></param>
        /// <param name="dayOffList">lista urlopów wszystkich pracowników z danego miesiąca</param>
        /// <returns>Listę dni danego miesiąca</returns>
        List <CalendarControl> CreateDayOffCalendar(DateTime date, ArrayList dayOffList)
        {
            calendarControlsTable = new List <CalendarControl>();
            ArrayList arrayEmployeesFullName = new ArrayList();

            Employees.EmployeeManager employeeManager = new Employees.EmployeeManager();
            employeeManager.GetEmployeesHiredRealesedToList(true, TableView.table);

            for (int i = 1; i <= DateTime.DaysInMonth(date.Year, date.Month); i++)
            {
                foreach (DayOff dayOff in dayOffList)
                {
                    if (dayOff.Date.Day == i)
                    {
                        foreach (Employees.Employee employee in Employees.EmployeeManager.arrayEmployees)
                        {
                            if (employee.IdEmployee == dayOff.IdEmployee)
                            {
                                arrayEmployeesFullName.Add(employee.GetFullName);
                            }
                        }
                    }
                }
                calendarControlsTable.Add(new CalendarControl(i, arrayEmployeesFullName));

                arrayEmployeesFullName.Clear();
            }
            return(calendarControlsTable);
        }
Ejemplo n.º 2
0
        internal static void Calculate_OLD(MainForm form, int idEmployee, DateTime date)
        {
            Employees.EmployeeManager employeeManager = new Employees.EmployeeManager();
            Employees.Employee        employee        = employeeManager.GetEmployee(idEmployee, TableView.view, ConnectionToDB.disconnect);
            int hoursToWork   = Salary.GetHoursToWork(date);
            int sumAllMinutes = 0;

            SalaryDayOff salatyDayOff = new SalaryDayOff(idEmployee, date);

            form.LblGodzinyUrlopowePlatne    = salatyDayOff.NumberOfMinutesDayOffPaid.ToString();
            form.LblGodzinyUrlopoweBezplatne = salatyDayOff.NumberOfMinutesDayOffFree.ToString();
            sumAllMinutes          += (salatyDayOff.NumberOfMinutesDayOffFree + salatyDayOff.NumberOfMinutesDayOffPaid);
            form.LblPozostaloUrlopu = employee.NumberDaysOffLeft;
            form.LblZaUrlopowe      = salatyDayOff.CalculateSalaryDayOff(employee.RateRegular, hoursToWork);

            SalaryIllness salaryIllness = new SalaryIllness(idEmployee, date);

            form.LblGodzinyChorobowe80  = salaryIllness.NumberOfMinutesIllness80.ToString();
            form.LblGodzinyChorobowe100 = salaryIllness.NumberOfMinutesIllness100.ToString();
            sumAllMinutes         += (salaryIllness.NumberOfMinutesIllness80 + salaryIllness.NumberOfMinutesIllness100);
            form.LblZaChorobowe80  = salaryIllness.CalculateSalaryIllness80(employee.RateRegular, hoursToWork);
            form.LblZaChorobowe100 = salaryIllness.CalculateSalaryIllness100(employee.RateRegular, hoursToWork);


            SalaryAddition salaryAddition = new SalaryAddition(idEmployee, date);

            form.LblZaDodatek = salaryAddition.ForAdditions;

            SalaryAdvance salaryAdvance = new SalaryAdvance(idEmployee, date);

            form.LblZaZaliczke = salaryAdvance.ForAdvances;

            SalaryWorkOLD salaryWork = new SalaryWorkOLD(idEmployee, date);

            form.LblIloscGodzinDoPrzepracowania = hoursToWork.ToString();
            form.LblStawka                 = employee.RateRegular.RateValue;
            form.LblStawkaNadgodzinowa     = employee.RateOvertime.RateValue;
            salaryWork.NumberOfMinutesOver = sumAllMinutes;//musi być przed obliczeniami
            sumAllMinutes += salaryWork.NumberOfMinutesAll;
            form.LblGodzinyNadliczbowe = salaryWork.NumberOfMinutesOver.ToString();


            SalaryLoanInstallment salaryLoanInstallment = new SalaryLoanInstallment();

            form.LblPozostaloPozyczki = salaryLoanInstallment.LoansRemianedToPay(employee.IdEmployee);
            form.LblZaPozyczke        = salaryLoanInstallment.AmountForPaidOffInstallmentInMonth(employee.IdEmployee, date);

            form.LblSumaGodzin = sumAllMinutes.ToString();
            form.LblIloscGodzinDoPrzepracowania = hoursToWork.ToString();


            form.LblZaGodziny          = salaryWork.CalculateSalaryRegular(employee.RateRegular, hoursToWork);
            form.LblZaNadgodziny       = salaryWork.CalculateSalaryOvertime_OLD(employee.RateOvertime);
            form.LblZaWszystko         = salaryWork.ForAll + salaryIllness.ForAll + salatyDayOff.ForDayOff;
            form.LblDoWyplaty          = salaryWork.ForAll + salaryIllness.ForAll + salatyDayOff.ForDayOff - salaryAdvance.ForAdvances + salaryAddition.ForAdditions - salaryLoanInstallment.ForInstallment;
            form.LblStawka             = employee.RateRegular.RateValue;
            form.LblStawkaNadgodzinowa = employee.RateOvertime.RateValue;
        }
Ejemplo n.º 3
0
        public static void DisplayChart(MainForm form)
        {
            //zmienne
            DateTime date       = new DateTime(form.dtpStatystykiWyborDaty.Value.Date.Year, 1, 1);
            int      idEmployee = Convert.ToInt32(form.cbStatisticSelectEmployee.SelectedValue);

            Employees.EmployeeManager employeeManager = new Employees.EmployeeManager();
            Employees.Employee        employee        = employeeManager.GetEmployee(idEmployee, TableView.view, ConnectionToDB.disconnect);
            int    hoursToWork;// = Salary.GetHoursToWork(date);
            double salaryYearly = 0;
            double salaryMonthy = 0;

            //zerowanie punktów żeby przy wyświetlaniu kolejnego roku się nie dodawały
            foreach (Series s in form.chart1.Series)
            {
                s.Points.Clear();
            }

            form.lblStatystykiWyplatyRazem.Text   = "...";
            form.lblStatystykiWyplatySrednio.Text = "...";
            MainForm.progressLoading = 0;

            //pętla wyświetlająca miesiące
            for (int i = 1; i < 13; i++)
            {
                hoursToWork = Salary.GetHoursToWork(date);
                try
                {
                    SalaryWork salaryWork = new SalaryWork(idEmployee, date);
                    salaryWork.CalculateAll(employee.RateRegular, hoursToWork, employee.RateOvertime);
                    form.chart1.Series["godziny"].Points.AddXY(i, salaryWork.ForAll);
                    salaryMonthy += salaryWork.ForAll;
                }
                catch (NoNullException)
                {
                    form.chart1.Series["godziny"].Points.AddXY(i, 0);
                }

                SalaryDayOff salaryDayOff = new SalaryDayOff(idEmployee, date);
                form.chart1.Series["urlop"].Points.AddXY(i, salaryDayOff.CalculateSalaryDayOff(employee.RateRegular, hoursToWork));

                SalaryIllness salaryIllness = new SalaryIllness(idEmployee, date);
                salaryIllness.CalculateAll(employee.RateRegular, hoursToWork);
                form.chart1.Series["choroba"].Points.AddXY(i, salaryIllness.ForAll);

                SalaryAddition salaryAddition = new SalaryAddition(idEmployee, date);
                form.chart1.Series["dodatki"].Points.AddXY(i, salaryAddition.ForAdditions);

                salaryMonthy += (salaryIllness.ForAll + salaryDayOff.ForDayOff + salaryAddition.ForAdditions);
                form.chart1.Series["godziny"].Points[i - 1].ToolTip = string.Format("{0:C}", salaryMonthy);
                form.chart1.Series["urlop"].Points[i - 1].ToolTip   = string.Format("{0:C}", salaryMonthy);
                form.chart1.Series["choroba"].Points[i - 1].ToolTip = string.Format("{0:C}", salaryMonthy);
                form.chart1.Series["dodatki"].Points[i - 1].ToolTip = string.Format("{0:C}", salaryMonthy);

                //dodanie do podsumowania
                salaryYearly += salaryMonthy;

                date = date.AddMonths(1);
                //dodaje do paska postępu
                MainForm.progressLoading += 8;
                salaryMonthy              = 0;
            }

            //wyświetlenie podliczeń
            form.lblStatystykiWyplatySrednio.Text = string.Format("{0:C}", salaryYearly / 12);
            form.lblStatystykiWyplatyRazem.Text   = string.Format("{0:C}", salaryYearly);

            foreach (Series s in form.chart1.Series)
            {
                s.Enabled = true;
            }

            //nie wyświetla kwoty gdy =0.00
            foreach (Series s in form.chart1.Series)
            {
                for (int i = 0; i < 12; i++)
                {
                    if (s.Points[i].YValues[0] == 0)
                    {
                        s.Points[i].Label = string.Format(" ");
                    }
                    else
                    {
                        s.Points[i].Label = string.Format("{0:C}", s.Points[i].YValues[0]);
                    }
                }
            }
        }