Imprägnierungedit weitergeschrieben
This commit is contained in:
@@ -14,20 +14,24 @@ namespace DaSaSo.ViewModel.Commands
|
||||
private IDataService<Impregnation> _impregnationService;
|
||||
private ImpregnierungListViewModel _impregnierungListViewModel;
|
||||
private IRenavigator _editRenavigator;
|
||||
private IActualProject _actualProject;
|
||||
|
||||
public EditImpregnationCommand(
|
||||
IDataService<Impregnation> impregnationService,
|
||||
ImpregnierungListViewModel impregnierungListViewModel,
|
||||
IActualProject actualProject,
|
||||
IRenavigator editRenavigator)
|
||||
{
|
||||
_impregnationService = impregnationService;
|
||||
_impregnierungListViewModel = impregnierungListViewModel;
|
||||
_actualProject = actualProject;
|
||||
_editRenavigator = editRenavigator;
|
||||
}
|
||||
|
||||
public override Task ExecuteAsync(object? parameter)
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
_actualProject.SetImpregnation(_impregnierungListViewModel.SelectedImpregnation);
|
||||
_editRenavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -8,5 +10,52 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class ImpregnierungEditViewModel : BaseViewModel
|
||||
{
|
||||
private Impregnation _model;
|
||||
|
||||
public int DN
|
||||
{
|
||||
get => _model.DN;
|
||||
set
|
||||
{
|
||||
_model.DN = value;
|
||||
}
|
||||
}
|
||||
public string LinerCharge
|
||||
{
|
||||
get => _model.LinerNumber;
|
||||
set
|
||||
{
|
||||
_model.LinerNumber = value;
|
||||
}
|
||||
}
|
||||
public decimal Wandstärke
|
||||
{
|
||||
get => _model.WallThickness;
|
||||
set
|
||||
{
|
||||
_model.WallThickness = value;
|
||||
}
|
||||
}
|
||||
public decimal LinerLänge
|
||||
{
|
||||
get => _model.Linerlength;
|
||||
set
|
||||
{
|
||||
_model.Linerlength = value;
|
||||
}
|
||||
}
|
||||
public string Imprägniernummer
|
||||
{
|
||||
get => _model.Number;
|
||||
set
|
||||
{
|
||||
_model.Number = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ImpregnierungEditViewModel(IActualProject actualProject)
|
||||
{
|
||||
_model = actualProject.AktuellImpregnation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace DaSaSo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public ImpregnierungListViewModel(IDataService<Impregnation> impregnationService, IRenavigator editRenavigator)
|
||||
public ImpregnierungListViewModel(IDataService<Impregnation> impregnationService,IActualProject actualProject, IRenavigator editRenavigator)
|
||||
{
|
||||
IsLoading = true;
|
||||
Impregnations = new ObservableCollection<Impregnation>();
|
||||
@@ -63,7 +63,7 @@ namespace DaSaSo.ViewModel
|
||||
});
|
||||
|
||||
//AddImpregnationCommand = //new AddImpregnationCommand(_impregnationService, editRenavigator);
|
||||
EditImpregnationCommand = new EditImpregnationCommand(_impregnationService, this, editRenavigator);
|
||||
EditImpregnationCommand = new EditImpregnationCommand(_impregnationService, this,actualProject, editRenavigator);
|
||||
LoadImpregnations();
|
||||
|
||||
}
|
||||
|
||||
@@ -19,12 +19,14 @@ namespace DaSaSo.ViewModel.Interface
|
||||
Buildingsite AktuellBaustelle { get; }
|
||||
SewerObject AktuellSewerObject { get; }
|
||||
SewerDamage AktuellSewerDamage { get; }
|
||||
Impregnation AktuellImpregnation { get; }
|
||||
|
||||
void SetClient(Client client, bool notification = true);
|
||||
void SetProject(Project project, bool notification = true);
|
||||
void SetBuildingSite(Buildingsite buildingsite);
|
||||
void SetSewerObject(SewerObject sewerObject, bool notification = true);
|
||||
void SetSewerDamage(SewerDamage sewerDamage, bool notification = true);
|
||||
void SetImpregnation(Impregnation impregnation, bool notification = true);
|
||||
void ResetProject();
|
||||
void ResetBuildingSite();
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
public Buildingsite? AktuellBaustelle { get; private set; }
|
||||
public Project? AktuellProjekt { get; private set; }
|
||||
public SewerObject? AktuellSewerObject { get; private set; }
|
||||
|
||||
public SewerDamage? AktuellSewerDamage { get; private set; }
|
||||
public Impregnation? AktuellImpregnation { get; private set; }
|
||||
|
||||
|
||||
#region events
|
||||
@@ -57,7 +57,6 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
|
||||
public void SetProject(Project project, bool notification = true)
|
||||
{
|
||||
|
||||
AktuellProjekt = project;
|
||||
if(notification)
|
||||
OnProjectChanged();
|
||||
@@ -76,7 +75,12 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
OnSewerObjectChanged();
|
||||
}
|
||||
|
||||
|
||||
public void SetImpregnation(Impregnation impregnation, bool notification = true)
|
||||
{
|
||||
AktuellImpregnation = impregnation;
|
||||
if (notification)
|
||||
return; // TODO notification wird aktuell nicht benötigt
|
||||
}
|
||||
public void ResetProject()
|
||||
{
|
||||
SetProject(null);
|
||||
|
||||
@@ -41,119 +41,7 @@ namespace DaSaSo.Wpf
|
||||
.AddDBContext();
|
||||
}
|
||||
|
||||
/* return Host.CreateDefaultBuilder(args)
|
||||
.ConfigureAppConfiguration(c=>
|
||||
{
|
||||
c.AddJsonFile("appsettings.json");
|
||||
c.AddEnvironmentVariables();
|
||||
})
|
||||
.ConfigureServices((context, services) =>
|
||||
{
|
||||
|
||||
string connectionString = context.Configuration.GetConnectionString("default");
|
||||
|
||||
services.AddDbContext<DaSaSoDbContext>(o => o.UseSqlServer(connectionString));
|
||||
services.AddSingleton<DaSaSoDbContextFactory>(new DaSaSoDbContextFactory(connectionString));
|
||||
|
||||
services.AddSingleton<IDataService<Client>, ClientDataService>();
|
||||
services.AddSingleton<IDataService<Project>, ProjectDataService>();
|
||||
services.AddSingleton<IDataService<Buildingsite>, BuildingsiteDataService>();
|
||||
services.AddSingleton<IDataService<SewerObject>, SewerObjectDataService>();
|
||||
services.AddSingleton<ClientListViewModel>();
|
||||
services.AddSingleton<IProjectService, ProjectService>();
|
||||
services.AddSingleton<IBuildingsiteService, BuildingsiteService>();
|
||||
services.AddSingleton<ISewerObjectService, SewerObjectService>();
|
||||
|
||||
|
||||
services.AddSingleton<IViewModelAbstractFactory, MainWindowViewModelFactory>();
|
||||
services.AddSingleton<IViewModelSewerMainFactory, SewerWindowViewModelFactory>();
|
||||
services.AddSingleton<CreateViewModel<ClientEditViewModel>>(services =>
|
||||
{
|
||||
return () => new ClientEditViewModel(
|
||||
services.GetRequiredService<IDataService<Client>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelDelegateRenavigator(
|
||||
services.GetRequiredService<IMainWindowNavigator>()
|
||||
));
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
|
||||
{
|
||||
return () => new HomeViewModel();
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<SewerStammdatenViewModel>>(services =>
|
||||
{
|
||||
return () => new SewerStammdatenViewModel(
|
||||
services.GetRequiredService<IActualProject>()
|
||||
);
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<SewerDamageListViewModel>>(services =>
|
||||
{
|
||||
return () => new SewerDamageListViewModel();
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<ClientListViewModel>>(services =>
|
||||
{
|
||||
return () => new ClientListViewModel(
|
||||
services.GetRequiredService<IDataService<Client>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelDelegateRenavigator(
|
||||
services.GetRequiredService<IMainWindowNavigator>()
|
||||
));
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<SewerMainListViewModel>>(services =>
|
||||
{
|
||||
return () => new SewerMainListViewModel(
|
||||
services.GetRequiredService<IDataService<SewerObject>>(),
|
||||
services.GetRequiredService<ISewerMainNavigator>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
services.GetRequiredService<IViewModelSewerMainFactory>(),
|
||||
new ViewModelDelegateRenavigator(
|
||||
services.GetRequiredService<IMainWindowNavigator>()
|
||||
),
|
||||
services.GetRequiredService<ISewerObjectService>()
|
||||
);
|
||||
});
|
||||
services.AddSingleton<CreateViewModel<ProjectListViewModel>>(services =>
|
||||
{
|
||||
return () => new ProjectListViewModel(
|
||||
services.GetRequiredService<IDataService<Project>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelDelegateRenavigator(
|
||||
services.GetRequiredService<IMainWindowNavigator>()),
|
||||
services.GetRequiredService<IProjectService>()
|
||||
|
||||
);
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<BuildingsiteListViewModel>>(services =>
|
||||
{
|
||||
return () => new BuildingsiteListViewModel(
|
||||
services.GetRequiredService<IDataService<Buildingsite>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
new ViewModelDelegateRenavigator(
|
||||
services.GetRequiredService<IMainWindowNavigator>()),
|
||||
services.GetRequiredService<IBuildingsiteService>()
|
||||
);
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<SewerObjectListViewModel>>(services =>
|
||||
{
|
||||
return () => new SewerObjectListViewModel(
|
||||
services.GetRequiredService<IDataService<SewerObject>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
services.GetRequiredService<ISewerObjectService>()
|
||||
);
|
||||
});
|
||||
|
||||
//services.AddSingleton<INavigator, Navigator>();
|
||||
services.AddScoped<IActualProject, ActualProject>();
|
||||
services.AddScoped<IMainWindowNavigator, MainWindowNavigator>();
|
||||
services.AddScoped<ISewerMainNavigator, SewerMainNavigator>();
|
||||
|
||||
services.AddScoped<MainWindowViewModel>();
|
||||
});
|
||||
}
|
||||
*/
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
|
||||
@@ -177,7 +65,7 @@ namespace DaSaSo.Wpf
|
||||
|
||||
protected override async void OnExit(ExitEventArgs e)
|
||||
{
|
||||
_host.StopAsync();
|
||||
await _host.StopAsync();
|
||||
_host.Dispose();
|
||||
base.OnExit(e);
|
||||
}
|
||||
|
||||
@@ -73,12 +73,15 @@ namespace DaSaSo.Wpf.HostBuilders
|
||||
{
|
||||
return () => new ImpregnierungListViewModel(
|
||||
services.GetRequiredService<IDataService<Impregnation>>(),
|
||||
services.GetRequiredService<IActualProject>(),
|
||||
services.GetRequiredService<ViewModelDelegateRenavigator<ImpregnierungEditViewModel>>()
|
||||
);
|
||||
});
|
||||
services.AddTransient<CreateViewModel<ImpregnierungEditViewModel>>(services =>
|
||||
{
|
||||
return () => new ImpregnierungEditViewModel();
|
||||
return () => new ImpregnierungEditViewModel(
|
||||
services.GetRequiredService<IActualProject>()
|
||||
);
|
||||
});
|
||||
|
||||
services.AddTransient<CreateViewModel<SewerStammdatenViewModel>>(services =>
|
||||
|
||||
@@ -3,10 +3,40 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:DaSaSo.Wpf.View.Impregnation"
|
||||
xmlns:local="clr-namespace:DaSaSo.Wpf.View.Impregnation" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:ImpregnierungEditViewModel}"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Column="0" Grid.Row="0" Content="Imprägniernummer" />
|
||||
<Label Grid.Column="0" Grid.Row="1" Content="Linercharge" />
|
||||
<Label Grid.Column="0" Grid.Row="2" Content="Liner Länge" />
|
||||
<Label Grid.Column="0" Grid.Row="3" Content="Durchmesser" />
|
||||
<Label Grid.Column="0" Grid.Row="4" Content="Wandstärke" />
|
||||
<Label Grid.Column="0" Grid.Row="5" Content="Datum" />
|
||||
<Label Grid.Column="0" Grid.Row="6" Content="Vorhanden" />
|
||||
|
||||
<TextBox Grid.Column="1" Grid.Row="0" Text="{Binding Imprägniernummer}" />
|
||||
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding LinerCharge}" />
|
||||
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding LinerLänge}" />
|
||||
<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding DN}" />
|
||||
<TextBox Grid.Column="1" Grid.Row="4" Text="{Binding Wandstärke}" />
|
||||
<TextBox Grid.Column="1" Grid.Row="5" Text="" />
|
||||
<CheckBox Grid.Column="1" Grid.Row="6" Content="Ja" Style="{StaticResource checkBoxCircleSmall}"/>
|
||||
|
||||
<Button Grid.Row="7" Grid.ColumnSpan="2" Content="Speichern" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
<DataTemplate DataType="{x:Type viewmodel:ImpregnierungListViewModel}">
|
||||
<ImpregnationViews:ImpregnationListView />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type viewmodel:ImpregnierungEditViewModel}">
|
||||
<ImpregnationViews:ImpregnationEditView />
|
||||
</DataTemplate>
|
||||
</Window.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
|
||||
Reference in New Issue
Block a user