У меня есть этот алгоритм метода записи, который связывается с моей базой данных.В основном я пытаюсь вставить в мою базу данных некоторые атрибуты, которые хранятся в списке.Пример: предполагая, что в моем списке 6 элементов, а каждый элемент имеет 3 атрибута, я хочу отправить 3 атрибута каждого элемента в базу данных.С помощью этого алгоритма я отправляю только 3 атрибута последнего элемента.
[HttpPost]
[Route("cadastrar")]
public HttpResponseMessage Post(Codec codec)
{
try
{
bool resultado = false;
if (codec == null) throw new ArgumentNullException("codec");
using (SqlConnection connection = new SqlConnection(this.ConnectionString))
{
AvlDataPacket objeto = Controller.parssingAvlData(codec.Pacote);
connection.Open();
using(SqlCommand command = new SqlCommand())
{
command.Connection = connection;
foreach (var element in objeto.avlDataList)
{
codec.Latitude = element.gpsElement.Latitude;
codec.Longitude = element.gpsElement.Longitude;
codec.Altitude = element.gpsElement.Altitude;
codec.Angle = element.gpsElement.Angle;
codec.Satellites = element.gpsElement.Satellites;
codec.Speed = element.gpsElement.Speed;
codec.Ignition = element.ioElement.acharIoElement();
command.Parameters.Clear();
command.CommandText = "insert into tabela (latitude, longitude, altitude, angle, satellites, speed, ignition) " +
"values (@latitude, @longitude, @altitude, @angle, @satellites, @speed, @ignition)";
command.Parameters.AddWithValue("latitude", codec.Latitude);
command.Parameters.AddWithValue("longitude", codec.Longitude);
command.Parameters.AddWithValue("altitude", codec.Altitude);
command.Parameters.AddWithValue("angle", codec.Angle);
command.Parameters.AddWithValue("satellites", codec.Satellites);
command.Parameters.AddWithValue("speed", codec.Speed);
command.Parameters.AddWithValue("ignition", codec.Ignition);
}
int i = command.ExecuteNonQuery();
resultado = i > 0;
}
connection.Close();
}
return Request.CreateResponse(HttpStatusCode.OK, resultado);
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
}
}