Example #1
0
        public ActionResult Search([FromBody] ProviderSearchDTO model)
        {
            Expression <Func <Provider, bool> > filter = x => !string.IsNullOrWhiteSpace(x.Id);

            if (!string.IsNullOrWhiteSpace(model.Name))
            {
                filter = filter.AndOrCustom(
                    x => x.Name.ToUpper().Contains(model.Name.ToUpper()),
                    model.Condition.Equals(ActionDto.AND));
            }

            if (!string.IsNullOrWhiteSpace(model.Phone))
            {
                filter = filter.AndOrCustom(
                    x => x.Phone.ToUpper().Contains(model.Phone.ToUpper()),
                    model.Condition.Equals(ActionDto.AND));
            }

            if (!string.IsNullOrWhiteSpace(model.Email))
            {
                filter = filter.AndOrCustom(
                    x => x.Email.ToUpper().Contains(model.Email.ToUpper()),
                    model.Condition.Equals(ActionDto.AND));
            }

            var providers = this.service.Search(filter);

            return(Ok(providers));
        }
Example #2
0
        public ActionResult Search([FromBody] ProviderSearchDTO model)
        {
            Expression <Func <Provider, bool> > filter = x => !string.IsNullOrWhiteSpace(x.Id);

            try{
                filter = filter.AndOrCustom(
                    x => x.Name.ToUpper().Contains(model.Name.ToUpper()));

                filter = filter.AndOrCustom(
                    x => x.Email.ToUpper().Contains(model.Email.ToUpper()));

                var provider = this.mapper.Map <IEnumerable <ProviderSearchDTO> >(this.service.Search(filter));

                return(Ok(provider));
            }catch (Exception) {
                return(Ok(new { Success = false, Message = "The name or email are invalid" }));
            }
        }