Edition of primitives is changed

This commit is contained in:
Evgeny Redikultsev
2022-10-30 18:58:51 +05:00
parent 87a42efc24
commit e1af4d5e07
48 changed files with 1198 additions and 146 deletions

View File

@@ -1,55 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StructureHelper.Infrastructure.UI.DataContexts;
using StructureHelperCommon.Models.NdmPrimitives;
using StructureHelperCommon.Models.Shapes;
using Point = StructureHelper.Infrastructure.UI.DataContexts.Point;
using Rectangle = StructureHelper.Infrastructure.UI.DataContexts.Rectangle;
namespace StructureHelper.Services
{
public interface IPrimitiveRepository
{
void Add(PrimitiveBase primitive);
void Delete(PrimitiveBase primitive);
IEnumerable<Point> GetPoints();
IEnumerable<Rectangle> GetRectangles();
}
class PrimitiveRepository : IPrimitiveRepository
{
List<Point> points = new List<Point>();
List<Rectangle> rectangles = new List<Rectangle>();
public void Add(PrimitiveBase primitive)
{
switch (primitive)
{
case Point point:
points.Add(point);
break;
case Rectangle rectangle:
rectangles.Add(rectangle);
break;
}
}
public void Delete(PrimitiveBase primitive)
{
switch (primitive)
{
case Point point:
points.Remove(point);
break;
case Rectangle rectangle:
rectangles.Remove(rectangle);
break;
}
}
public IEnumerable<Point> GetPoints() => points;
public IEnumerable<Rectangle> GetRectangles() => rectangles;
}
}

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StructureHelper.Infrastructure.UI.DataContexts;
using StructureHelperCommon.Models.NdmPrimitives;
using StructureHelperCommon.Models.Shapes;
using Point = StructureHelper.Infrastructure.UI.DataContexts.Point;
using Rectangle = StructureHelper.Infrastructure.UI.DataContexts.Rectangle;
namespace StructureHelper.Services.Primitives
{
public interface IPrimitiveRepository
{
IEnumerable<PrimitiveBase> Primitives { get; }
void Add(PrimitiveBase primitive);
void Delete(PrimitiveBase primitive);
void Clear();
}
}

View File

@@ -0,0 +1,36 @@
using StructureHelper.Infrastructure.UI.DataContexts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelper.Services.Primitives
{
public class PrimitiveRepository : IPrimitiveRepository
{
List<PrimitiveBase> primitives;
public IEnumerable<PrimitiveBase> Primitives { get => primitives; }
public PrimitiveRepository()
{
primitives = new List<PrimitiveBase>();
}
public void Add(PrimitiveBase primitive)
{
primitives.Add(primitive);
}
public void Clear()
{
primitives = new List<PrimitiveBase>();
}
public void Delete(PrimitiveBase primitive)
{
primitives.Remove(primitive);
}
}
}