start polygon

This commit is contained in:
Riccardo Usardi committed 2025-07-10 21:52:06 +02:00
1 parent 5aca82244e
commit 6e5e25a141
22 files changed
+431 -210

No files matched your search

@@ -7,6 +7,7 @@ using System.Text;
using System.Threading.Tasks;
using uWine.Core.Domain.Entities;
using uWine.Core.Domain.Repositories;
using uWine.Core.Infrastructure.Helpers;
namespace uWine.Core.Infrastructure.Repository
{
@@ -38,8 +39,8 @@ namespace uWine.Core.Infrastructure.Repository
command.Parameters.AddWithValue("@name", vineyard.Name);
command.Parameters.AddWithValue("@location", vineyard.Location);
command.Parameters.AddWithValue("@hectares", vineyard.Hectares);
command.Parameters.AddWithValue("@latitude", vineyard.Latitude);
command.Parameters.AddWithValue("@longitude", vineyard.Longitude);
command.Parameters.AddWithValue("@latitude", vineyard.Coordinates.Latitude);
command.Parameters.AddWithValue("@longitude", vineyard.Coordinates.Longitude);
using (var reader = command.ExecuteReader())
{
@@ -55,6 +56,20 @@ namespace uWine.Core.Infrastructure.Repository
}
}
public void InsertArea(Dictionary<int,Coordinates> coordinates, int vineyardId)
{
var polygon = CoordinatesHelper.ToWktPolygon(coordinates);
using (var connection = Connection())
{
connection.Open();
var command = new MySqlCommand("UPDATE t_vineyard SET area = ST_GeomFromText(@polygon, 4326) where id = @id", connection);
command.Parameters.AddWithValue("@id", vineyardId);
command.Parameters.AddWithValue("@polygon", polygon);
command.ExecuteNonQuery();
}
}
public List<Vineyard> GetOwnerVineyards(int ownerId)
{
var vineyards = new List<Vineyard>();
@@ -71,16 +86,7 @@ namespace uWine.Core.Infrastructure.Repository
{
while (reader.Read())
{
var vineyard = new Vineyard
{
Id = reader.GetInt32(0),
Name = reader.GetString(1),
Location = reader.GetString(2),
Hectares = reader.GetDouble(3),
Latitude = reader.GetDouble(4),
Longitude = reader.GetDouble(5)
};
vineyards.Add(vineyard);
vineyards.Add(Vineyard.FromRecord(reader));
}
}
}