public async Task <IWrappedResponse> Search(LoadingLocationsSearchRequest request)
        {
            var query = _olmaLoadingLocationRepo.FindAll()
                        .IgnoreQueryFilters().Where(i => !i.IsDeleted)
                        .AsNoTracking().Where(d => !d.IsDeleted);

            if (request.Id.HasValue)
            {
                query = query.Where(d => d.Id == request.Id);
                return(Ok(await query.ProjectTo <LoadingLocationAdministration>(Mapper.ConfigurationProvider).FirstOrDefaultAsync()));
            }

            if (request.CustomerDivisionId.HasValue)
            {
                var olmaLoadingLocations = await query.Where(d => d.CustomerDivisionId == request.CustomerDivisionId)
                                           .Include(a => a.Address).ToListAsync();

                return(Ok(Mapper.Map <IEnumerable <LoadingLocationAdministration> >(olmaLoadingLocations.AsEnumerable())));
            }

            return(new WrappedResponse
            {
                ResultType = ResultType.BadRequest,
                State = ErrorHandler.Create().AddMessage(new GeneralError()).GetServiceState()
            });
        }
        public async Task <ActionResult <LoadingLocationAdministration> > GetById(int id)
        {
            var request = new LoadingLocationsSearchRequest
            {
                Id = id
            };

            return(await _loadingLocationsService.Search(request).Convert <LoadingLocationAdministration>(this));
        }
        public async Task <ActionResult <IEnumerable <LoadingLocationAdministration> > > GetByCustomerDivisionId(int id)
        {
            var request = new LoadingLocationsSearchRequest
            {
                CustomerDivisionId = id
            };

            return(await _loadingLocationsService.Search(request).Convert <IEnumerable <LoadingLocationAdministration> >(this));
        }