Beispiel #1
0
        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));
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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));
        }