internal IAvailableTime FindAvailableTime(IAvailableTime a)
        {
            var query = repo.AvailableTimes.AsQueryable();

            query = BuildFindAvailableTimeQuery(a, query);

            return(FindAResult(query));
        }
        internal ICollection <AvailableTime> FindMultipleAvailableTimes(IAvailableTime a)
        {
            var query = repo.AvailableTimes.AsQueryable();

            query = BuildFindAvailableTimeQuery(a, query);

            return(FindMultipleResults(query));
        }
        internal bool DeleteAvailableTime(IAvailableTime a)
        {
            EntityEntry entry = null;
            EntityState state = EntityState.Unchanged;

            entry = repo.Remove(a);

            state = CheckEntryState(state, entry);
            return(VerifyEntryState(state, EntityState.Deleted));
        }
        internal bool UpdateAvailableTime(IAvailableTime a)
        {
            EntityEntry entry = null;
            EntityState state = EntityState.Unchanged;

            entry = repo.Update(a);

            state = CheckEntryState(state, entry);
            return(VerifyEntryState(state, EntityState.Modified));
        }
        internal bool AddAvailableTime(IAvailableTime a)
        {
            EntityEntry entry = null;
            EntityState state = EntityState.Unchanged;

            entry = repo.Add(a);

            state = CheckEntryState(state, entry);
            return(VerifyEntryState(state, EntityState.Added));
        }
 private IQueryable <AvailableTime> BuildFindAvailableTimeQuery(IAvailableTime a, IQueryable <AvailableTime> query)
 {
     if (a.From != default(DateTime))
     {
         query = query.Where(x => x.From.Date == a.From.Date);
     }
     if (a.To != default(DateTime))
     {
         query = query.Where(x => x.To.Date == a.To.Date);
     }
     return(query);
 }