public HttpResponseMessage AutoCompleteMunicipio(string sigla = "") { List <Cidade> lst = null; string termo = this.Request.GetQueryNameValuePairs().Where(c => c.Key == "id").FirstOrDefault().Value.ToUpper(); decimal codigo = 0; if (decimal.TryParse(termo, out codigo)) { codigo = decimal.Parse(termo); } var predicate = UtilEntity.True <Cidade>(); if (codigo == 0) { predicate = predicate.And(p => p.Nome.Contains(termo)); } if (codigo > 0) { predicate = predicate.And(p => p.ID == codigo); } try { using (UnitOfWork UoW = new UnitOfWork()) { if (!String.IsNullOrEmpty(sigla)) { Estado estado = UoW.EstadoRepository.Carregar(c => c.Sigla == sigla, o => o.OrderBy(by => by.ID)); predicate = predicate.And(p => p.EstadoID == estado.ID); } lst = UoW.CidadeRepository.Listar(predicate, o => o.OrderBy(by => by.Nome)); } return(Request.CreateResponse(HttpStatusCode.OK, lst)); } catch (ArgumentException aex) { var errorResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, new HttpError(aex.Message)); throw new HttpResponseException(errorResponse); } catch (Exception ex) { var errorResponse = Request.CreateErrorResponse(HttpStatusCode.Conflict, new HttpError(ex.Message)); throw new HttpResponseException(errorResponse); } }
public HttpResponseMessage AutoCompleteEstado(string regiao = "") { List <Estado> lst = null; string termo = this.Request.GetQueryNameValuePairs().Where(c => c.Key == "id").FirstOrDefault().Value.ToUpper(); decimal codigo = 0; if (decimal.TryParse(termo, out codigo)) { codigo = decimal.Parse(termo); } var predicate = UtilEntity.True <Estado>(); if (codigo == 0) { predicate = predicate.And(p => p.Nome.Contains(termo) || p.Sigla.Contains(termo)); } if (codigo > 0) { predicate = predicate.And(p => p.ID == codigo); } if (!string.IsNullOrEmpty(regiao)) { predicate = predicate.And(p => p.Regiao.Equals(regiao)); } try { using (UnitOfWork UoW = new UnitOfWork()) { lst = UoW.EstadoRepository.Listar(predicate, p => p.OrderBy(n => n.Nome)); } return(Request.CreateResponse(HttpStatusCode.OK, lst)); } catch (ArgumentException aex) { var errorResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, new HttpError(aex.Message)); throw new HttpResponseException(errorResponse); } catch (Exception ex) { var errorResponse = Request.CreateErrorResponse(HttpStatusCode.Conflict, new HttpError(ex.Message)); throw new HttpResponseException(errorResponse); } }