public FindReservationsResponse Find(FindReservationsRequest request)
        {
            try
            {
                _reservationQuery.WithOnlyActivated(true);
                _reservationQuery.WithOnlyStatusActivated(request.OnlyStatusActivated);
                _reservationQuery.WithOnlyStatusDeactivated(request.OnlyStatusDeactivated);
                _reservationQuery.WithWorker(request.WorkerId);
                _reservationQuery.WithSaucer(request.SaucerId);
                _reservationQuery.WithDealer(request.DealerId);
                _reservationQuery.WithOnlyToday(request.OnlyToday);
                _reservationQuery.WithDate(request.Date);
                _reservationQuery.WithPortion(request.Portion);
                _reservationQuery.Sort(request.Sort, request.SortBy);
                var totalRecords = _reservationQuery.TotalRecords();
                _reservationQuery.Paginate(request.StartPage, request.EndPage);
                var reservations = _reservationQuery.Execute();

                return(new FindReservationsResponse
                {
                    Reservations = TypeAdapter.Adapt <List <ReservationResponse> >(reservations),
                    TotalRecords = totalRecords
                });
            }
            catch (DataAccessException)
            {
                throw new ApplicationException();
            }
        }
 public FindReservationsResponse Get(FindReservationsRequest request)
 {
     return(_reservationService.Find(request));
 }