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); }
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); }