Klassifizierungssystem hinzugefügt
This commit is contained in:
@@ -22,6 +22,9 @@
|
||||
</ComboBox>
|
||||
|
||||
<Button Name="LoadXML" Command="{Binding LoadXMLFile}" Content="LoadXML" />
|
||||
<Button Content="Klassifiziere" Command="{Binding Klassifiere}" />
|
||||
<Label Content="{Binding ZahlEinzelfall}" />
|
||||
<Button Content="Zeige Einzelfall" Command="{Binding SelectEinzelfall}" />
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
|
||||
@@ -18,18 +18,27 @@ namespace dcnsanplanung.wpf.ViewModel
|
||||
public string SK { get => model.Bewertungklasse.ToString(); }
|
||||
public string DN { get => model.DN.ToString(); }
|
||||
public string Material { get => model.Material; }
|
||||
public string Guid { get => model.Guid.ToString(); }
|
||||
|
||||
public List<Schaden> Schaeden { get => model.Kodierungen; }
|
||||
|
||||
|
||||
public ICommand Speichern { get; set; }
|
||||
|
||||
|
||||
public HaltungObjektViewModel(Haltung selectedHaltung)
|
||||
{
|
||||
model = selectedHaltung;
|
||||
Speichern = new RelayCommand(() => doSpeichern());
|
||||
LadeSchaeden();
|
||||
|
||||
}
|
||||
|
||||
private void doSpeichern()
|
||||
{
|
||||
SchadenDataService schadenDataService = new SchadenDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||
schadenDataService.UpdateSchadenBuld(model.Kodierungen);
|
||||
}
|
||||
|
||||
private async void LadeSchaeden()
|
||||
{
|
||||
SchadenDataService schadenDataService = new SchadenDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using dcnsanplanung.DAL.Services.PostgresqlData;
|
||||
using dcnsanplanung.shared.Model;
|
||||
|
||||
using System;
|
||||
@@ -15,7 +16,13 @@ namespace dcnsanplanung.wpf.ViewModel
|
||||
{
|
||||
public List<Haltung> VerfügbareHaltungen { get; set; } = new List<Haltung>();
|
||||
|
||||
Queue<Haltung> Einzelfallbetrachtung = new Queue<Haltung>();
|
||||
|
||||
public ICommand LoadXMLFile { get; set; }
|
||||
public ICommand Klassifiere { get; set; }
|
||||
public ICommand SelectEinzelfall { get; set; }
|
||||
|
||||
public string ZahlEinzelfall => Einzelfallbetrachtung.Count.ToString();
|
||||
|
||||
private Haltung? selectedHaltung;
|
||||
public Haltung? SelectedHaltung
|
||||
@@ -35,7 +42,58 @@ namespace dcnsanplanung.wpf.ViewModel
|
||||
|
||||
LoadHaltungen();
|
||||
LoadXMLFile = new RelayCommand(() => dooAsync());
|
||||
|
||||
Klassifiere = new RelayCommand(() => dooKlassifiziereAsync());
|
||||
SelectEinzelfall = new RelayCommand(() => selectEinzelfall());
|
||||
|
||||
}
|
||||
|
||||
private void selectEinzelfall()
|
||||
{
|
||||
Haltung? einzelfall = Einzelfallbetrachtung.Dequeue();
|
||||
if (einzelfall == null) return;
|
||||
W_ObjektView w_ObjektView = new W_ObjektView();
|
||||
w_ObjektView.DataContext = new HaltungObjektViewModel(einzelfall);
|
||||
w_ObjektView.Show();
|
||||
}
|
||||
|
||||
private async void dooKlassifiziereAsync()
|
||||
{
|
||||
DAL.Services.PostgresqlData.HaltungDataService haltungDataService = new DAL.Services.PostgresqlData.HaltungDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||
var s = await haltungDataService.GetAllByProjekt(0);
|
||||
// Alle Haltungen laden
|
||||
SchadenDataService schadenDataService = new SchadenDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||
foreach (var item in s)
|
||||
{
|
||||
|
||||
IEnumerable<Schaden> src_kodierung = await schadenDataService.GetAllByHaltung(item);
|
||||
item.Kodierungen = src_kodierung.ToList();
|
||||
}
|
||||
|
||||
// Alle Schäden Klassifizieren
|
||||
foreach(var haltung in s)
|
||||
{
|
||||
bool einzelfall = false;
|
||||
foreach(var schaden in haltung.Kodierungen)
|
||||
{
|
||||
var k = bewertung.BewM149.Klassifiziere(schaden.Hauptcode, schaden.CH1, schaden.CH2, schaden.Q1, schaden.Q2, (int)haltung.DN);
|
||||
//SchadenDataService schadenDataService = new SchadenDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||
if (k.Count == 0) continue;
|
||||
schaden.KB = k["B"];
|
||||
schaden.KD = k["D"];
|
||||
schaden.KS = k["S"];
|
||||
|
||||
if(schaden.KB == 7 || schaden.KD == 7 || schaden.KS == 7)
|
||||
{
|
||||
einzelfall = true;
|
||||
}
|
||||
await schadenDataService.Update(schaden);
|
||||
}
|
||||
if(einzelfall)
|
||||
{
|
||||
Einzelfallbetrachtung.Enqueue(haltung);
|
||||
OnPropertyChanged("ZahlEinzelfall");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async Task dooAsync()
|
||||
|
||||
@@ -39,13 +39,16 @@
|
||||
<Label Grid.Row="3" Content="Material" />
|
||||
<Label Grid.Row="3" Grid.Column="1" Content="{Binding Material}" />
|
||||
|
||||
<Button Grid.Row="4" Content="Speichern" Command="{Binding Speichern}" />
|
||||
|
||||
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
|
||||
<!--<views:DynamicGridView Grid.Row="1" x:Name="DynamicGridView" DataContext="{Binding Schaeden}"></views:DynamicGridView>-->
|
||||
<ListView Grid.Row="1" ItemsSource="{Binding Schaeden}" AlternationCount="2">
|
||||
<!--<ListView Grid.Row="1" ItemsSource="{Binding Schaeden}" AlternationCount="2">
|
||||
<ListView.ItemContainerStyle>
|
||||
<Style TargetType="ListViewItem">
|
||||
<Setter Property="Template">
|
||||
@@ -61,7 +64,7 @@
|
||||
<ColumnDefinition Width="80" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Entfernung}" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding Kodierung}" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding Hauptcode}" />
|
||||
<TextBlock Grid.Column="2" Text="{Binding Schadensklasse}" />
|
||||
|
||||
|
||||
@@ -136,15 +139,21 @@
|
||||
</Style>
|
||||
</ListView.Style>
|
||||
|
||||
</ListView>
|
||||
<!--<DataGrid Grid.Row="1" ItemsSource="{Binding Schaeden}" AutoGenerateColumns="False">
|
||||
</ListView>-->
|
||||
<DataGrid Grid.Row="1" ItemsSource="{Binding Schaeden}" AutoGenerateColumns="False">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="Entfernung" Binding="{Binding Entfernung}" />
|
||||
<DataGridTextColumn Header="Kodierung" Binding="{Binding Kodierung}" />
|
||||
<DataGridTextColumn Header="Schadensklasse" Binding="{Binding Schadensklasse}" />
|
||||
<DataGridTextColumn Header="Hauptcode" Binding="{Binding Hauptcode}" />
|
||||
<DataGridTextColumn Header="Ch1" Binding="{Binding CH1}" />
|
||||
<DataGridTextColumn Header="Ch2" Binding="{Binding CH2}" />
|
||||
<DataGridTextColumn Header="Q1" Binding="{Binding Q1}" />
|
||||
<DataGridTextColumn Header="Q2" Binding="{Binding Q2}" />
|
||||
<DataGridTextColumn Header="D" Binding="{Binding KD}" />
|
||||
<DataGridTextColumn Header="S" Binding="{Binding KS}" />
|
||||
<DataGridTextColumn Header="B" Binding="{Binding KB}" />
|
||||
</DataGrid.Columns>
|
||||
|
||||
</DataGrid>-->
|
||||
</DataGrid>
|
||||
|
||||
</Grid>
|
||||
</Window>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\dcnsanplanung.bewertung\dcnsanplanung.bewertung.csproj" />
|
||||
<ProjectReference Include="..\dcnsanplanung.DAL\dcnsanplanung.DAL.csproj" />
|
||||
<ProjectReference Include="..\dcnsanplanung.shared\dcnsanplanung.shared.csproj" />
|
||||
<ProjectReference Include="..\Schnittstelle\Schnittstelle\Schnittstelle.csproj" />
|
||||
|
||||
Reference in New Issue
Block a user