Example #1
0
        public WorldRecordingContext(ILongTimeAbsenceService longabsenceService,
            IAbsenceService absenceService,
            IWorkingModelService wmManager,
            IColouringService colorManager,
            IEmployeeService emplService,
            IStoreService storeService,
            IWorkingTimePlanningService workingTimePlanningService,
            IAbsenceTimePlanningService absenceTimePlanningService,
            IWorkingTimeRecordingService workingTimeRecordingService,
            IAbsenceTimeRecordingService absenceTimeRecordingService
            )
        {
            _EmployeeService = emplService;
            _StoreService = storeService;
            _WorkingTimePlanningService = workingTimePlanningService;
            _AbsenceTimePlanningService = absenceTimePlanningService;

            _WorkingTimeRecordingService = workingTimeRecordingService;
            _AbsenceTimeRecordingService = absenceTimeRecordingService;

            m_countryabsences = new AbsenceManager(absenceService);
            m_longabsences = new LongTimeAbsenceManager(longabsenceService);
            m_workingmodelmanager = new WorkingModelManagerNew(wmManager);
            m_colormanager = new CountryColorManager(colorManager);

            _ViewDate = DateTime.Today;
            _BeginWeekDate = DateTimeHelper.GetMonday(DateTime.Today);
            _EndWeekDate = DateTimeHelper.GetSunday(DateTime.Today);
            _ViewDate = DateTime.Today;
        }
Example #2
0
        public WorldPlanningContext()
        {
            m_begintime = DateTime.Today;

            m_begintime = DateTimeHelper.GetMonday(m_begintime);

            m_endtime = DateTimeHelper.GetSunday(m_begintime);
            ViewDate = DateTime.Today;

            m_countryabsences = new AbsenceManager(ClientEnvironment.AbsenceService);
            m_longabsences = new LongTimeAbsenceManager(ClientEnvironment.LongTimeAbsenceService);
            m_workingmodelmanager = new WorkingModelManager(ClientEnvironment.WorkingModelService);
            m_colormanager = new CountryColorManager(ClientEnvironment.ColouringService);
        }
Example #3
0
        public void Calculate(long storeid, DateTime aBegin, List<EmployeePlanningWeek> weeks)
        {
            if (weeks != null && weeks.Count > 0)
            {
                // build list of absences
                List<AbsenceTimePlanning> lst_Absences = new List<AbsenceTimePlanning>();
                foreach (EmployeePlanningWeek week in weeks)
                {
                    foreach (EmployeePlanningDay day in week.Days.Values)
                    {
                        if (day.AbsenceTimeList != null && day.AbsenceTimeList.Count > 0)
                        {
                            foreach (AbsenceTimePlanning absence_time in day.AbsenceTimeList)
                            {
                                lst_Absences.Add(absence_time);
                            }
                        }
                    }
                }
                // if exists absence times
                if (lst_Absences.Count > 0)
                {
                    AbsenceManager absencemanager = new AbsenceManager(ServerEnvironment.AbsenceService);
                    int year = DateTimeHelper.GetYearByDate(aBegin);
                    long countryid = ServerEnvironment.StoreService.GetCountryByStoreId(storeid);
                    absencemanager.CountryId = countryid;
                    // fill times by absence entity
                    absencemanager.FillAbsencePlanningTimes(lst_Absences);
                    double avg_day_a_week = ServerEnvironment.AvgWorkingDaysInWeekService.GetAvgWorkingDaysInWeekByStore(storeid, year);

                    long[] ids = new long[weeks.Count];
                    for (int i = 0; i < weeks.Count; i++)
                    {
                        ids[i] = weeks[i].EmployeeId;
                    }
                    List<EmployeeContract> lst =
                        ServerEnvironment.EmployeeContractService.GetEmployeeContracts(ids, aBegin, aBegin.AddDays(7));

                    DictionListEmployeesContract indexer = new DictionListEmployeesContract(lst);

                    Calculate(avg_day_a_week, indexer, lst_Absences);
                }

            }
        }
        public WorldsTimeRecordingPrintoutContext(long countryID, long storeID, DateTime startDate, DateTime viewDate)
        {
            _countryID = countryID;
            _storeID = storeID;

            _countryAbsences = new AbsenceManager(ClientEnvironment.AbsenceService);
            _countryAbsences.CountryId = _countryID;

            _longAbsences = new LongTimeAbsenceManager(ClientEnvironment.LongTimeAbsenceService);
            _longAbsences.CountryId = _countryID;

            _workingModelManager = new WorkingModelManagerNew(ClientEnvironment.WorkingModelService);
            _workingModelManager.CountryId = _countryID;

            _colorManager = new CountryColorManager(ClientEnvironment.ColouringService);
            _colorManager.CountryId = _countryID;

            _beginWeekDate = DateTimeHelper.GetMonday(startDate);
            _endWeekDate = DateTimeHelper.GetSunday(startDate);
            _viewDate = viewDate;

            LoadStoreDayInfo();
        }
Example #5
0
        public StoreWeekCalculater(long storeid, DateTime abegin, DateTime aend, EmployeeTimeService timeservice)
        {
            _storeid = storeid;
            _begindate = abegin;
            _enddate = aend;

            _timeservice = timeservice;
            _employeeservice = _timeservice.EmployeeService as EmployeeService;
            _storeservice = _employeeservice.StoreService as StoreService;

            CountryId = _storeservice.GetCountryByStoreId(_storeid);

            _absencemanager = new AbsenceManager(_storeservice.CountryService.AbsenceService);
            _absencemanager.CountryId = CountryId;

            _wmodelmanager = new WorkingModelManagerNew(_storeservice.CountryService.WorkingModelService);
            _wmodelmanager.CountryId = CountryId;

            Init();
        }
Example #6
0
        private void LoadCountryEnvironment()
        {
            if (_absencemanager == null)
                _absencemanager = new AbsenceManager(ClientEnvironment.AbsenceService, CurrentCountryId);

            _absencemanager.CountryId = CurrentCountryId;

            if (_longabsencesmanager == null)
                _longabsencesmanager = new LongTimeAbsenceManager(ClientEnvironment.LongTimeAbsenceService);

            _longabsencesmanager.CountryId = CurrentCountryId;

            BuildQuickAbsenceMenus();
        }
Example #7
0
        public static void RecalculateHolidaysTimeRanges(long countryid, CacheListEmployeeContracts contracts, List<AbsenceTimeRecording> absences)
        {
            if (absences == null || absences.Count == 0) return;

            int Year = -1;

            AbsenceManager absenceManager = new AbsenceManager(ServerEnvironment.AbsenceService, countryid);

            double avgWorkingDays = 0;// ServerEnvironment.AvgWorkingDaysInWeekService.GetAvgWorkingDaysInWeek(ServerEnvironment.CountryService.AustriaCountryID, Year);

            foreach (AbsenceTimeRecording absence in absences)
            {
                if (absenceManager.IsHoliday(absence.AbsenceID))
                {
                    absence.Absence = absenceManager.GetById(absence.AbsenceID);
                    short time = absence.Time;

                    int contractHours = contracts.GetContractHours(absence.EmployeeID, DateTimeHelper.GetMonday(absence.Date), DateTimeHelper.GetSunday(absence.Date));

                    if (contractHours > 0)
                    {
                        if (Year != DateTimeHelper.GetYearByDate(absence.Date))
                        {
                            Year = DateTimeHelper.GetYearByDate(absence.Date);
                            avgWorkingDays = ServerEnvironment.AvgWorkingDaysInWeekService.GetAvgWorkingDaysInWeek(countryid, Year);
                        }
                        absence.ApplyTime(contractHours, avgWorkingDays);

                        if (absence.Time != time)
                        {
                            ServerEnvironment.AbsenceTimeRecordingService.SaveOrUpdate(absence);
                        }
                    }
                }
            }
        }
Example #8
0
        void LoadAbsences()
        {

            if (Country == null)
            {
                _bindingAbsences.Clear();
            }
            else
            {
                gridViewAbsence.BeginDataUpdate();
                try
                {

                    _absencemanager = new AbsenceManager(ClientEnvironment.AbsenceService);
                    _absencemanager.CountryId = Country.ID;

                    _bindingAbsences.Clear();

                    _bindingAbsences.CopyList(_absencemanager.ToList);

                    LoadUsedAbsenceIds();
                }
                finally
                {
                    gridViewAbsence.EndDataUpdate();
                }
            }

            if (gridControl.DataSource == null)
                gridControl.DataSource = _bindingAbsences;
        }