Пример #1
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;
            }
        }
Пример #2
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;
        }
Пример #3
0
 public AbsenceForm()
 {
     InitializeComponent();
     conn = new ConnectionClass();
     am   = new AbsenceManager();
     DataUpdate();
 }
Пример #4
0
 public AbsenceADWindow(AbsenceManager am, int id)
 {
     InitializeComponent();
     absencemanage = am;
     this.id       = id;
     lbdescription.Items.Add(absencemanage.GetDescription(this.id));
 }
Пример #5
0
        protected override bool SaveEntity()
        {
            Debug.Assert(Absence != null);
            if (!IsModified())
            {
                return(true);
            }
            else
            {
                if (Absence.IsNew)
                {
                    Absence.LanguageID = SharedConsts.NeutralLangId;
                }

                Absence copyAbsence = CreateCopyAbsence();

                SaveInputDataTo(copyAbsence);
                try
                {
                    if (Absence.IsNew)
                    {
                        copyAbsence = ClientEnvironment.AbsenceService.Save(copyAbsence);
                    }
                    else
                    {
                        ClientEnvironment.AbsenceService.SaveOrUpdate(copyAbsence);
                    }


                    AssignAbsence(copyAbsence, Absence);

                    _modified = true;

                    if (AbsenceManager != null && AbsenceManager.GetById(Absence.ID) == null)
                    {
                        AbsenceManager.AddToDiction(Absence);
                    }
                }
                catch (ValidationException)
                {
                    string str = GetLocalized("ErrorUniqueAbsenceNameOrAbb");
                    if (String.IsNullOrEmpty(str))
                    {
                        str = "Absence name or abbreviation not unique";
                    }
                    ErrorMessage(str);
                    return(false);
                }
                catch (EntityException ex)
                {
                    ProcessEntityException(ex);
                    return(false);
                }
            }
            return(true);
        }
Пример #6
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);
        }
Пример #7
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);
                }
            }
        }
Пример #8
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);
                        }
                    }
                }
            }
        }
Пример #9
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();
        }
Пример #10
0
        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();
        }
Пример #11
0
        protected override bool ValidateEntity()
        {
            Debug.Assert(Absence != null);

            if (String.IsNullOrEmpty(AbsenceName))
            {
                ErrorMessage(GetLocalized("err_enter_absence_name"));
                textEditAbsenceName.Focus();
                return(false);
            }
            else
            {
                textEditAbsenceName.ErrorText = String.Empty;
            }

            if (Abbreviation.Length == 0)
            {
                ErrorMessage(GetLocalized("err_enter_abbreviation"));
                //textEditAbsenceName.ErrorText = "Enter abbreviation";
                textEditAbsenceAbbreviation.Focus();
                return(false);
            }
            else
            {
                textEditAbsenceAbbreviation.ErrorText = String.Empty;
            }
            if (IsModified() && !isChecked && ((AbsenceColor < lightWhite && AbsenceColor > darkWhite) || (AbsenceColor < lightBlack && AbsenceColor > darkBlack)))
            {
                InfoMessage(GetLocalized("err_enter_absence_colour"));
                cbAbsenceColor.Focus();
                isChecked = true;
                return(false);
            }



            if (CountryID == -1)
            {
                ErrorMessage(GetLocalized("err_absence_select_country"));
                //cbCountries.ErrorText = "Select country";
                cbCountries.Focus();
                return(false);
            }
            else
            {
                cbCountries.ErrorText = String.Empty;
            }



            if (Absence.CountryID == ClientEnvironment.CountryService.AustriaCountryID)
            {
                if (AbsenceManager != null)
                {
                    if (!String.IsNullOrEmpty(txtEditSystemId.Text))
                    {
                        int?systemid = Convert.ToInt32(txtEditSystemId.Text);
                        if (systemid == 0)
                        {
                            systemid = null;
                        }
                        if (!AbsenceManager.IsValidSystemId(Absence.ID, systemid))
                        {
                            ErrorMessage(GetLocalized("err_systemid_must_be_unique"));
                            txtEditSystemId.Focus();
                            return(false);
                        }
                    }
                }
            }


            return(true);
        }