Пример #1
0
        public DayEmployee GetDayEmployee(DateTime day, Employee employee)
        {
            DayOnPlan   dayOnPlan   = GetDayOnPlan(day);
            DayOnFact   dayOnFact   = GetDayOnFact(day, employee);
            DayEmployee dayEmployee = new DayEmployee(dayOnPlan, dayOnFact, employee);

            //if (dayEmployee.DayOnFact.DayTypeOnEmployee==DayTypeOnFact.WorkedBusinessTrip|| dayEmployee.DayOnPlan.DayTypeOnPlan==DayTypeOnPlan.Holiday)
            //{ dayEmployee.DayOnFact.WorkedTime = dayEmployee.DayOnFact.EndWOrk - dayEmployee.DayOnFact.StartWork; }
            return(dayEmployee);
        }
Пример #2
0
 }                                   // Недоработанное до плана время
 public DayEmployee(DayOnPlan dayOnPlan, DayOnFact dayOnFact, Employee employee)
 {
     DayOnFact = dayOnFact;
     DayOnPlan = dayOnPlan;
     Employee  = employee;
     if (dayOnPlan.DayTypeOnPlan == DayTypeOnPlan.Holiday || dayOnFact.DayTypeOnEmployee == DayTypeOnFact.WorkedBusinessTrip)
     {
         dayOnFact.WorkedTime = dayOnFact.EndWOrk - dayOnFact.StartWork;
     }
     else
     {
         if (dayOnFact.EndWOrk - dayOnFact.StartWork >= new TimeSpan(4, 48, 0))
         {
             dayOnFact.WorkedTime = dayOnFact.EndWOrk - dayOnFact.StartWork - dayOnFact.Dinner;
         }
         else
         {
             dayOnFact.WorkedTime = dayOnFact.EndWOrk - dayOnFact.StartWork;
         }
     }
     if (dayOnPlan.DayTypeOnPlan == DayTypeOnPlan.Worked || dayOnPlan.DayTypeOnPlan == DayTypeOnPlan.WorkedShort)
     {
         if (dayOnFact.WorkedTime <= dayOnPlan.WorkedTime)
         {
             Time1X = dayOnFact.WorkedTime;
             Time0  = dayOnPlan.WorkedTime - dayOnFact.WorkedTime;
         }
         else if (dayOnFact.WorkedTime > dayOnPlan.WorkedTime && dayOnFact.WorkedTime <= dayOnPlan.WorkedTime + new TimeSpan(2, 0, 0))
         {
             Time1X  = DayOnPlan.WorkedTime;
             Time15X = dayOnFact.WorkedTime - dayOnPlan.WorkedTime;
         }
         else if (dayOnFact.WorkedTime > dayOnPlan.WorkedTime + new TimeSpan(2, 0, 0))
         {
             Time1X  = DayOnPlan.WorkedTime;
             Time15X = new TimeSpan(2, 0, 0);
             Time20X = dayOnFact.WorkedTime - Time1X - Time15X;
         }
     }
     else if (dayOnPlan.DayTypeOnPlan == DayTypeOnPlan.Holiday)
     {
         if (dayOnFact.WorkedTime <= new TimeSpan(8, 0, 0))
         {
             TimeHoli = dayOnFact.WorkedTime;
         }
         else if (dayOnFact.WorkedTime > new TimeSpan(8, 0, 0))
         {
             TimeHoli = new TimeSpan(8, 0, 0);
             Time20X  = dayOnFact.WorkedTime - new TimeSpan(8, 0, 0);
         }
     }
     //   TotalTime = Time0 + Time1X + Time15X + Time20X + TimeHoli;
 }
Пример #3
0
        DayOnFact GetDayOnFact(DateTime day, Employee employee)
        {
            DayOnFact     dayOnFact = new DayOnFact();
            List <string> param     = new List <string>()
            {
                "day", "month", "year"
            };
            List <string> znachenie = new List <string>()
            {
                day.Day.ToString(), day.Month.ToString(), day.Year.ToString()
            };
            List <string> list = GetRowFromTable(employee.TabelNumber, param, znachenie);

            if (list.Count > 0)
            {
                dayOnFact.StartWork = new DateTime(Convert.ToInt32(list[3]), Convert.ToInt32(list[2]), Convert.ToInt32(list[1]), Convert.ToInt32(list[4]),
                                                   Convert.ToInt32(list[5]), 0);
                dayOnFact.EndWOrk = new DateTime(Convert.ToInt32(list[3]), Convert.ToInt32(list[2]), Convert.ToInt32(list[1]), Convert.ToInt32(list[6]),
                                                 Convert.ToInt32(list[7]), 0);
                dayOnFact.City   = list[8];
                dayOnFact.Achiv  = list[10];
                dayOnFact.Dinner = new TimeSpan(0, 48, 0);
                switch (list[9])
                {
                case "ком.":
                    dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.WorkedBusinessTrip;
                    break;

                case "больн.":
                    dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.NotWorkedSick;
                    break;

                case "отг.":
                    dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.NotWorkedAdministrative;
                    break;

                case "отп.б.с.":
                    dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.NotWorkedMatherhoodVacation;
                    break;

                case "отп.":
                    dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.NotWorkedVacation;
                    break;

                case "":
                    if (dayOnFact.EndWOrk > dayOnFact.StartWork)
                    {
                        dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.Worked;
                    }
                    else
                    {
                        dayOnFact.DayTypeOnEmployee = Data.Table.EmployeeDay.DayTypeOnFact.NotWorked;
                    }
                    break;
                }
            }
            else
            {
                dayOnFact.StartWork         = day;
                dayOnFact.EndWOrk           = day;
                dayOnFact.DayTypeOnEmployee = DayTypeOnFact.NoData;
            }
            return(dayOnFact);
        }