public bool ShowNotify(string empType, int hoursToNotify) { DayEfficiency[] currendDayStats = stats.FillStatsArray(1, CurrentDateInfo.DayOfWeek, true); DayEfficiency[] previousDayStats; int notifyHourCheck = DateTime.Now.Hour - hoursToNotify; if (CurrentDateInfo.DayOfWeek == 1) { previousDayStats = stats.FillStatsArray(2, 7); } else { previousDayStats = stats.FillStatsArray(1, CurrentDateInfo.DayOfWeek, true); } string checkingEmpType = ""; int workInRow = 0; for (int i = DateTime.Now.Hour - 1; i > notifyHourCheck; i--) { if (i < 0) { checkingEmpType = previousDayStats[24 - i].EmpType; } else { checkingEmpType = currendDayStats[i].EmpType; } if (checkingEmpType == empType) { workInRow++; } else { break; } } if (workInRow == hoursToNotify) { return(true); } else { return(false); } }
public YearStats() //поиск статистики за целый год { int getWeek = 0; DayEfficiency[] dayEfficiency; for (int yw = 52; yw >= 1; yw--) { getWeek++; for (int dow = 1; dow <= 7; dow++) { dayEfficiency = stats.FillStatsArray(yw, dow); if (dayEfficiency != null) { for (int hr = 0; hr < 24; hr++) { if (dayEfficiency[hr].EmpType == EmpType) { if (CountHours(dayEfficiency[hr])) { yearEmpNum[dow - 1, yw - 1]++; } } } } } } }
private void GetAverageGoalsHoursThisWeek() { DayEfficiency[] dayEfficiency; for (int dow = CurrentDateInfo.DayOfWeek; dow >= 1; dow--) { dayEfficiency = stats.FillStatsArray(1, dow); for (int hr = 0; hr < 24; hr++) { if (dayEfficiency[hr].EmpType == goals.EmpType && dayEfficiency[hr].Code == goals.Code) { AverageGoalHoursThisWeek++; } } } if (AverageGoalHoursThisWeek != 0) { AverageGoalHoursThisWeek /= CurrentDateInfo.DayOfWeek; } }