public static APIAnswer ExecGenericStandardAnswer(Database db, string proc, params KeyValuePair <string, object>[] parms) { if (!proc.HasContent()) { return(APIAnswer.Error(-2000, "proc invalida")); } if (parms != null && parms.Length > 0) { proc = proc.FormatWith(parms.ToDictionaryStringObject()); } try { var retlist = db.SqlQuery <APIAnswer>(proc).ToArray(); if (retlist.Length == 0) { return(APIAnswer.Error(-2001, proc + ":retorno zerado")); } if (retlist.Length > 1) { return(APIAnswer.Error(-2002, proc + ":retorno de mais de um")); } return(retlist[0]); } catch (Exception ex) { return(APIAnswer.Error(-2001, proc + ":" + ex.ToString())); } }
public static APIAnswer ConsultaCEP(string cep, out Address addr) { //TODO: colocar tratamento de serviço com PARAMETRIZAÇÃO DE URL, ERRO, TIMEOUT //TODO: trazer para cá todos os serviços de consulta addr = null; try { var oEnder = new ECTService.AtendeClienteClient(); var ret = oEnder.consultaCEP(cep); if (ret == null) { return(APIAnswer.Error(-1, "Nao encontrado.")); } addr = new Address() { CEP = ret.cep, Bairro = ret.bairro, Cidade = ret.cidade, Complemento2 = ret.complemento2, Endereco = ret.end, UF = ret.uf }; return(APIAnswer.Returns(addr)); } catch (Exception ex) { if (ex.ToString().ToUpper().Contains("CEP INV")) { return(APIAnswer.Error(-1, ex.ToString(), "CEP INVALIDO")); } return(APIAnswer.Error(-10, ex.ToString())); } }