Exemplo n.º 1
0
        public IEnumerable <Tax> Get(TaxSearchFilter filter)
        {
            try
            {
                if (filter == null)
                {
                    throw new ArgumentNullException("filter");
                }

                if (string.IsNullOrEmpty(filter.CompanyId))
                {
                    throw new ArgumentNullException("CompanyId");
                }

                if (string.IsNullOrEmpty(filter.Keyword))
                {
                    filter.Keyword = "*";
                }

                if (filter.Take <= 0)
                {
                    filter.Take = 100;
                }

                Expression <Func <Tax, bool> > predicate = x =>
                                                           x.CompanyId == filter.CompanyId &&
                                                           (filter.Keyword == "*" || x.Code.StartsWith(filter.Keyword) || x.Name.StartsWith(filter.Keyword));

                Expression <Func <Tax, bool> > statusFilter = s => s.IsActive == (filter.Active ?? true);

                Expression <Func <Tax, bool> > taxFilter = s => s.IsCompound == (filter.IsCompound ?? true);

                if (filter.Active != null)
                {
                    predicate = predicate.And(statusFilter);
                }

                if (filter.IsCompound != null)
                {
                    predicate = predicate.And(taxFilter);
                }

                return(this._taxRepository.Find(predicate).Skip(filter.Start).Take(filter.Take).ToList());
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 2
0
        public async Task <HttpResponseMessage> Get(TaxSearchFilter filter)
        {
            HttpResponseMessage response = null;

            if (filter != null)
            {
                var session = (Session)ContextOperator.Get(ContextKeys.SESSION_ID);
                filter.CompanyId = session.CompanyId;
                var collection = this._taxService.Get(filter);
                response = Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage <object>(true, "Succeeded", collection));
            }
            else
            {
                response = Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage <object>(false, MessageString.INVALID_REQUEST_PARMS, null));
            }

            return(await Task.Run(() => response));
        }