Добавлены сервисы CalculationService, PrimitiveService, Common-сборка с типами

Необходимо реализовать в дальнейшем GetInnerPoints в PrimitiveService
This commit is contained in:
NickAppLab
2022-07-26 03:53:57 +05:00
parent 47dc9617c3
commit d9cb4fe3b8
41 changed files with 426 additions and 89 deletions

View File

@@ -1,13 +1,17 @@
using System.Windows;
using StructureHelper.Services;
namespace StructureHelper.Windows.MainWindow
{
public partial class MainView : Window
{
public MainView()
public IPrimitiveRepository PrimitiveRepository { get; }
public IPrimitiveService PrimitiveService { get; }
public MainView(IPrimitiveRepository primitiveRepository, IPrimitiveService primitiveService, MainViewModel viewModel)
{
var model = new MainModel();
var viewModel = new MainViewModel(model, this);
PrimitiveRepository = primitiveRepository;
PrimitiveService = primitiveService;
DataContext = viewModel;
InitializeComponent();
}

View File

@@ -6,14 +6,16 @@ using StructureHelper.Infrastructure;
using StructureHelper.Infrastructure.Extensions;
using StructureHelper.Infrastructure.UI.DataContexts;
using StructureHelper.MaterialCatalogWindow;
using StructureHelper.Services;
using StructureHelper.Windows.ColorPickerWindow;
namespace StructureHelper.Windows.MainWindow
{
public class MainViewModel : ViewModelBase
{
private MainModel rectanglesModel;
private MainView rectanglesView;
private IPrimitiveService PrimitiveService { get; }
private IPrimitiveRepository PrimitiveRepository { get; }
private MainModel Model { get; }
public ObservableCollection<PrimitiveBase> Primitives { get; set; }
public ICommand AddRectangle { get; }
@@ -178,13 +180,12 @@ namespace StructureHelper.Windows.MainWindow
public ICommand SetPopupCanBeClosedFalse { get; }
private double delta = 0.5;
public MainViewModel() { }
public MainViewModel(MainModel rectanglesModel, MainView rectanglesView)
public MainViewModel(MainModel model, IPrimitiveService primitiveService, IPrimitiveRepository primitiveRepository)
{
this.rectanglesModel = rectanglesModel;
this.rectanglesView = rectanglesView;
PrimitiveService = primitiveService;
PrimitiveRepository = primitiveRepository;
Model = model;
CanvasWidth = 1500;
CanvasHeight = 1000;
@@ -304,17 +305,21 @@ namespace StructureHelper.Windows.MainWindow
});
Primitives = new ObservableCollection<PrimitiveBase>();
AddRectangle = new RelayCommand(o =>
{
var rectangle = new Rectangle(60, 40, YX1, XY1, this);
Primitives.Add(rectangle);
PrimitivesCount = Primitives.Count;
PrimitiveRepository.Add(rectangle);
});
AddEllipse = new RelayCommand(o =>
{
var point = new Point(2000, YX1, XY1, this);
Primitives.Add(point);
PrimitivesCount = Primitives.Count;
PrimitiveRepository.Add(point);
});
SetPopupCanBeClosedTrue = new RelayCommand(o =>
@@ -329,4 +334,4 @@ namespace StructureHelper.Windows.MainWindow
});
}
}
}
}