public async Task <CalendarEntryDTO> GetCalendarEntryById(int entryId) { var entry = await _context.CalendarEntries.FindAsync(entryId); if (entry == null) { throw new ArgumentException("Entry was deleted by someone else."); } return(DtoMapper.MapCalendarEntryToDTO(entry)); }
public List <CalendarEntryDTO> GetCalendarEntries(int year, int month) { var startDate = new DateTime(year, month, 1); var endDate = startDate.AddMonths(1); return(_context .CalendarEntries .Where(x => x.StartDate >= startDate && x.StartDate < endDate || x.EndDate >= startDate && x.StartDate < startDate) .Select(x => DtoMapper.MapCalendarEntryToDTO(x)) .ToList()); }
public async Task <CalendarEntryDTO> AddUpdateCalendarEntry(string loggedUserId, EmployeeTypeEnum loggedUserType, CalendarEntryDTO entryDTO) { if (entryDTO.EmployeeId != loggedUserId && loggedUserType == EmployeeTypeEnum.User) { throw new AdminRoleRequiredException(); } if (entryDTO.StartDate >= entryDTO.EndDate) { throw new ArgumentException("End Date must be after Start Date"); } CalendarEntry entry = entryDTO.IsNew ? await addCalendarEntry(loggedUserType, entryDTO) : await updateCalendarEntry(loggedUserId, loggedUserType, entryDTO); await _context.SaveChangesAsync(); return(DtoMapper.MapCalendarEntryToDTO(entry)); }