private void AddShape(MainAreaDto area, Guid areaId, Guid shapId, AreaMapBulk bulk) { bulk.Shape.Add(new Shape() { Id = shapId, TypeId = area.Shape.Type, AreaId = areaId }); }
private static void AddPloygon(SqlDataReader reader, MainAreaDto area) { area.Shape.Data = new PolygonDto() { CoordinateId = Guid.Parse(reader["DataId"].ToString()), Coordinate = JsonSerializer .Deserialize <List <PolygonCoordinateDto> >(reader["CoordinatesAsJson"].ToString()) }; }
private void AddArea(MainAreaDto area, Guid areaId, Guid shapId, AreaMapBulk bulk) { bulk.Area.Add( new Domain.Entities.Area() { Id = areaId, Name = area.Name, ShapeId = shapId }); }
private static void AddCircle(SqlDataReader reader, MainAreaDto area) { area.Shape.Data = new CircleDto() { CoordinateId = Guid.Parse(reader["DataId"].ToString()), Coordinate = new CoordinateDto() { Latitude = double.Parse(reader["Latitude"].ToString()), Longitude = double.Parse(reader["Longitude"].ToString()) }, Radius = double.Parse(reader["Radius"].ToString()) }; }
private static void AddRectangle(SqlDataReader reader, MainAreaDto area) { area.Shape.Data = new RectangleDto() { BoundsId = Guid.Parse(reader["DataId"].ToString()), Bounds = new RectangleBoundsDto() { East = double.Parse(reader["East"].ToString()), North = double.Parse(reader["North"].ToString()), South = double.Parse(reader["South"].ToString()), West = double.Parse(reader["West"].ToString()), } }; }
public async Task <List <MainAreaDto> > GetAllAreasAsync() { var areasList = new List <MainAreaDto>(); using (var connection = new SqlConnection(Context.Database.GetConnectionString())) using (connection) { //for pagination case , you can use [spGetAreasByPage]. Ex: get 10 page: spGetAreasByPage 1,10 SqlCommand command = new SqlCommand("spGetAllAreas", connection) { CommandType = CommandType.StoredProcedure }; connection.Open(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (await reader.ReadAsync()) { var type = int.Parse(reader["TypeId"].ToString()); var area = new MainAreaDto() { Name = reader["Name"].ToString(), Id = Guid.Parse(reader["Id"].ToString()) }; area.Shape = new ShapeDto() { Type = type, Id = Guid.Parse(reader["ShapeId"].ToString()) }; switch (type) { case ShapeType.Circle: { AddCircle(reader, area); } break; case ShapeType.Rectangle: { AddRectangle(reader, area); } break; case ShapeType.Polygon: { AddPloygon(reader, area); } break; } areasList.Add(area); } } reader.Close(); } return(areasList); }