private string InsertConveniosDB(List <string> arraySituacao) { string urlTodosConvenios = ""; try { using (var context = new ApplicationDBContext()) { foreach (var situacao in arraySituacao) { // convenios de Sao Luis - MA urlTodosConvenios = "http://api.convenios.gov.br/siconv/v1/consulta/convenios.json?id_proponente=29138369000147&id_situacao=" + situacao; //29138369000147 -> teresopolis // "POINT(-42.9658788 -22.4133074)" //6307102000130 -> prefeitura slz // "POINT(-44.2691611 -2.6258591)" var ReadData = new System.Net.WebClient().DownloadString(urlTodosConvenios); ListaConvenios listaConvenios = JsonConvert.DeserializeObject <ListaConvenios>(ReadData); foreach (var convenio in listaConvenios.convenios) { string urlConvenioId = convenio.href + ".json"; ReadData = new System.Net.WebClient().DownloadString(urlConvenioId); Convenios convenioJson = JsonConvert.DeserializeObject <Convenios>(ReadData); string urlConcedenteId = convenio.orgao_concedente.orgao.href + ".json"; ReadData = new System.Net.WebClient().DownloadString(urlConcedenteId); Concedente concedenteJson = JsonConvert.DeserializeObject <Concedente>(ReadData); var tempSitId = int.Parse(situacao); context.Convenio.Add(new Convenio { DataInicio = convenio.data_inicio_vigencia, DataFim = convenio.data_fim_vigencia, ValorTotal = convenio.valor_global, DescricaoObjeto = convenioJson.convenios.FirstOrDefault().objeto, SincovId = convenio.id, Coordenadas = DbGeography.FromText("POINT(-42.9658788 -22.4133074)"), // mudar SituacaoId = context.Situacao.Where(x => x.SincovId == tempSitId).FirstOrDefault().Id, ProponenteId = 3, // mudar ParecerGovernoId = 1, ConcedenteSincovId = convenio.orgao_concedente.orgao.id, ConcedenteNome = concedenteJson.orgaos.FirstOrDefault().nome }); } } context.SaveChanges(); return("Convenios adicionados com sucesso"); } } catch (Exception ex) { return("Erro: " + ex.Message); } }
public ListaConvenios ListagemConvenio(string filtro) { ListaConvenios lisc = new ListaConvenios(); try { cmdConvenio.CommandType = CommandType.StoredProcedure; cmdConvenio.CommandText = "selecionar_convenio"; cmdConvenio.Connection = conConvenio; cmdConvenio.Parameters.AddWithValue("filtro", filtro); conConvenio.Open(); MySqlDataReader dr = cmdConvenio.ExecuteReader(); if (!dr.HasRows) { return(lisc); } while (dr.Read()) { Convenio con = new Convenio(); con.Cid = int.Parse(dr["con_id"].ToString()); con.NomeConvenio = dr["con_convenio"].ToString(); con.Cnpj = dr["con_cnpj"].ToString(); con.Contato = dr["con_contato"].ToString(); con.Telefone = dr["con_telefone"].ToString(); con.Email = dr["con_email"].ToString(); lisc.Add(con); } return(lisc); } catch (Exception ex) { throw ex; } finally { cmdConvenio.Parameters.Clear(); conConvenio.Close(); } }
private string InsertConveniosDB(List <string> arraySituacao, string id) { string urlTodosConvenios = ""; try { using (var context = new ApplicationDBContext()) { foreach (var situacao in arraySituacao) { urlTodosConvenios = "http://api.convenios.gov.br/siconv/v1/consulta/convenios.json?id_proponente=" + id + "&id_situacao=" + situacao; //29138369000147 -> teresopolis // "POINT(-42.9658788 -22.4133074)" //6307102000130 -> prefeitura slz // "POINT(-44.2691611 -2.6258591)" var ReadData = new System.Net.WebClient().DownloadString(urlTodosConvenios); ListaConvenios listaConvenios = JsonConvert.DeserializeObject <ListaConvenios>(ReadData); List <string> listProponentes = new List <string>(); foreach (var convenio in listaConvenios.convenios) { string urlConvenioId = convenio.href + ".json"; ReadData = new System.Net.WebClient().DownloadString(urlConvenioId); Convenios convenioJson = JsonConvert.DeserializeObject <Convenios>(ReadData); string urlConcedenteId = convenio.orgao_concedente.orgao.href + ".json"; ReadData = new System.Net.WebClient().DownloadString(urlConcedenteId); Concedente concedenteJson = JsonConvert.DeserializeObject <Concedente>(ReadData); string proponenteId = convenio.proponente.Proponente.href + ".json"; ReadData = new System.Net.WebClient().DownloadString(proponenteId); Proponentes proponenteJson = JsonConvert.DeserializeObject <Proponentes>(ReadData); string municipioId = proponenteJson.proponentes[0].municipio.Municipio.href + ".json"; ReadData = new System.Net.WebClient().DownloadString(municipioId); Municipio municipioJson = JsonConvert.DeserializeObject <Municipio>(ReadData); var propId = proponenteJson.proponentes[0].id; var prop = context.Proponente.FirstOrDefault(x => x.SincovId == propId); bool contaisProp = true; Proponente temp = null; if (prop == null && !listProponentes.Contains(propId)) { temp = new Proponente { CEP = proponenteJson.proponentes[0].cep, Cidade = municipioJson.municipios[0].nome, Endereco = proponenteJson.proponentes[0].endereco, Estado = municipioJson.municipios[0].uf.sigla, Nome = proponenteJson.proponentes[0].nome, ResponsavelNome = proponenteJson.proponentes[0].nome_responsavel, ResponsavelSincovId = proponenteJson.proponentes[0].pessoa_responsavel.PessoaResponsavel.id, ResponsavelTelefone = proponenteJson.proponentes[0].telefone, SincovId = propId }; context.Proponente.Add(temp); context.SaveChanges(); listProponentes.Add(propId); contaisProp = false; } var tempSitId = int.Parse(situacao); context.Convenio.Add(new Convenio { DataInicio = convenio.data_inicio_vigencia, DataFim = convenio.data_fim_vigencia, ValorTotal = convenio.valor_global, DescricaoObjeto = convenioJson.convenios.FirstOrDefault().objeto, SincovId = convenio.id, Coordenadas = DbGeography.FromText("POINT(-42.9658788 -22.4133074)"), // mudar SituacaoId = context.Situacao.Where(x => x.SincovId == tempSitId).FirstOrDefault().Id, ProponenteId = (!contaisProp ? temp.Id : prop.Id), // caso nao exista no BD, add o criado anteriormente. Caso exista, add o consultado do banco ParecerGovernoId = 1, ConcedenteSincovId = convenio.orgao_concedente.orgao.id, ConcedenteNome = concedenteJson.orgaos.FirstOrDefault().nome }); } } context.SaveChanges(); return("Convenios adicionados com sucesso"); } } catch (Exception ex) { return("Erro: " + ex.Message); } }