예제 #1
0
        public double GetDismissalDuration(PersonnelDismissal personDismissal)
        {
            if (personDismissal == null)
            {
                return(0);
            }

            return(personDismissal.DismissalDuration == RequestDuration.Daily
                        ? ((personDismissal as PersonnelDailyDismissal).ToDate - (personDismissal as PersonnelDailyDismissal).FromDate)
                   .TotalSeconds
                        : ((personDismissal as PersonnelHourlyDismissal).ToTime - (personDismissal as PersonnelHourlyDismissal).FromTime)
                   .TotalSeconds);
        }
예제 #2
0
        public PersonnelDismissal GetEntranceDateDismissal(PersonnelEntrance entrance)
        {
            PersonnelDismissal personDismissal = null;

            var personDismissals = _personnelDismissalRepository
                                   .Get(q => q.PersonnelId == entrance.PersonnelId &&
                                        q.ActionDate.HasValue &&
                                        q.RequestAction == RequestAction.Accept
                                        , includeProperties: "Dismissal")
                                   .OrderByDescending(o => o.ActionDate).ToList();

            foreach (var item in personDismissals)
            {
                if (personDismissal != null)
                {
                    break;
                }
                switch (item.DismissalDuration)
                {
                case RequestDuration.Daily:
                    if ((item as PersonnelDailyDismissal).FromDate == entrance.EnterDate)
                    {
                        personDismissal = item;
                    }
                    break;

                case RequestDuration.Hourly:
                    if ((item as PersonnelHourlyDismissal).Date == entrance.EnterDate)
                    {
                        personDismissal = item;
                    }
                    break;
                }
            }
            return(personDismissal);
        }