public async Task <List <AreasLocacao> > GetAreasLocacaoResultSet(NpgsqlCommand command) { List <AreasLocacao> list = new List <AreasLocacao>(); command.ExecuteNonQuery(); using var reader = await command.ExecuteReaderAsync(); while (await reader.ReadAsync()) { DataTable schemaTable = reader.GetSchemaTable(); JTokenWriter writer = new JTokenWriter(); writer.WriteStartObject(); foreach (DataRow row in schemaTable.Rows) { writer.WritePropertyName(row[0].ToString()); writer.WriteValue(reader[row[0].ToString()]); } writer.WriteEndObject(); JObject o = (JObject)writer.Token; var stringJson = o.ToString(); AreasLocacao p = JsonConvert.DeserializeObject <AreasLocacao>(stringJson); list.Add(p); } return(list); }
public async Task <bool> InsertAreasLocacoes(NpgsqlConnection conexao, List <AreasLocacao> areasLocacao, int codigoLocacao) { for (int i = 0; i < areasLocacao.Count; i++) { AreasLocacao area = areasLocacao[i]; area.Ativar(); area.PrepareSave(); string sql = @"INSERT INTO areaslocacoes(codigolocacao, codigoarea) VALUES (@codigoLocacao, @codigoArea);"; NpgsqlCommand command = new NpgsqlCommand(sql, conexao); command.Parameters.AddWithValue("@codigoLocacao", codigoLocacao); command.Parameters.AddWithValue("@codigoArea", area.codigo); await command.ExecuteNonQueryAsync(); } return(true); }