Bewertungssystem angefangen

This commit is contained in:
2023-09-11 20:39:23 +02:00
parent f41cfff5c0
commit 560ac6246b
32 changed files with 9504 additions and 51 deletions

View File

@@ -8,11 +8,11 @@ using System.Threading.Tasks;
namespace dcnsanplanung.wpf.ViewModel
{
internal class BaseViewModel : INotifyPropertyChanged
internal abstract class BaseViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged([CallerMemberName] string propertyName = "")
protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
if(PropertyChanged != null)
{

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace dcnsanplanung.wpf.ViewModel
{
internal class CellViewModel : BaseViewModel, ICellViewModel
{
private ICell _cell;
public ICell Cell {
get { return _cell; }
set {
_cell = value;
OnPropertyChanged(nameof(_cell));
}
}
public ICommand ChangeCellStateCommand { get; }
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Windows.Media;
namespace dcnsanplanung.wpf.ViewModel
{
internal class DesignDynamicGridViewModel : BaseViewModel
{
public ObservableCollection<ObservableCollection<ICellViewModel>> Cells { get; } = null;
public int GridWidth { get; } = 5;
public int GridHeight { get; } = 5;
public Color StartColor { get; set; } = Colors.AliceBlue;
public Color FinishColor { get; set; } = Colors.DarkBlue;
public Color BorderColor { get; set; } = Colors.DarkGray;
public DesignDynamicGridViewModel()
{
Cells = new ObservableCollection<ObservableCollection<ICellViewModel>>();
ICellViewModel cell = new CellViewModel();
Cells.Add(new ObservableCollection<ICellViewModel>()
{
});
}
}
public interface ICellViewModel
{
ICell Cell { get; set; }
ICommand ChangeCellStateCommand { get; }
}
public interface ICell
{
/// <summary>
/// State of the cell.
/// </summary>
bool State { get; set; }
}
}

View File

@@ -0,0 +1,45 @@
using CommunityToolkit.Mvvm.Input;
using dcnsanplanung.DAL.Services.PostgresqlData;
using dcnsanplanung.shared.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace dcnsanplanung.wpf.ViewModel
{
internal class HaltungObjektViewModel : BaseViewModel
{
private Haltung model;
public string Objektbezeichnung { get => model.Objektbezeichnung; }
public string SK { get => model.Bewertungklasse.ToString(); }
public string DN { get => model.DN.ToString(); }
public string Material { get => model.Material; }
public List<Schaden> Schaeden { get => model.Kodierungen; }
public HaltungObjektViewModel(Haltung selectedHaltung)
{
model = selectedHaltung;
LadeSchaeden();
}
private async void LadeSchaeden()
{
SchadenDataService schadenDataService = new SchadenDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
IEnumerable<Schaden> src_kodierung = await schadenDataService.GetAllByHaltung(model);
model.Kodierungen = src_kodierung.ToList();
OnPropertyChanged(nameof(Schaeden));
}
}
}

View File

@@ -0,0 +1,61 @@
using CommunityToolkit.Mvvm.Input;
using dcnsanplanung.shared.Model;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace dcnsanplanung.wpf.ViewModel
{
internal class MainWindowViewModel : BaseViewModel
{
public List<Haltung> VerfügbareHaltungen { get; set; } = new List<Haltung>();
public ICommand LoadXMLFile { get; set; }
private Haltung? selectedHaltung;
public Haltung? SelectedHaltung
{
get => selectedHaltung;
set
{
if(selectedHaltung != value)
{
selectedHaltung = value;
OnPropertyChanged();
}
}
}
public MainWindowViewModel()
{
LoadHaltungen();
LoadXMLFile = new RelayCommand(() => dooAsync());
}
async Task dooAsync()
{
DAL.Helper.WriteToDatabase writer = new DAL.Helper.WriteToDatabase(@"D:\Airbus\Airbus Nordenham RW Viewer für Sanierungskonzept\Airbus Nordenham RW.xml");
await writer.WriteInHaltung();
//Debugger.Break();
await writer.WriteInLV();
}
private async void LoadHaltungen()
{
DAL.Services.PostgresqlData.HaltungDataService haltungDataService = new DAL.Services.PostgresqlData.HaltungDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
var s = await haltungDataService.GetAllByProjekt(0);
foreach(var item in s)
{
VerfügbareHaltungen.Add(item);
}
OnPropertyChanged(nameof(VerfügbareHaltungen));
}
}
}