Leitungen können nun bearbeitet werden
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -17,3 +17,4 @@ project.fragment.lock.json
|
|||||||
*.pch
|
*.pch
|
||||||
*.tmp
|
*.tmp
|
||||||
/DaSaSo.InMemoryProvider/obj/Debug/*
|
/DaSaSo.InMemoryProvider/obj/Debug/*
|
||||||
|
/DaSaSo.ViewModel/version.txt
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ namespace DaSaSo.Domain.Services.SewerObjectService
|
|||||||
{
|
{
|
||||||
SewerObject sewerObject = new SewerObject()
|
SewerObject sewerObject = new SewerObject()
|
||||||
{
|
{
|
||||||
BuildingSite = aktuellBaustelle
|
BuildingSite = aktuellBaustelle,
|
||||||
|
StreetName = "Bitte aktualisieren!"
|
||||||
};
|
};
|
||||||
aktuellBaustelle.SewerObjects.Add(sewerObject);
|
aktuellBaustelle.SewerObjects.Add(sewerObject);
|
||||||
await _buildingsiteService.Update(aktuellBaustelle.Id, aktuellBaustelle);
|
await _buildingsiteService.Update(aktuellBaustelle.Id, aktuellBaustelle);
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using DaSaSo.Domain.Model;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Domain.Services.SewerPointServices
|
||||||
|
{
|
||||||
|
public interface ISewerpointService
|
||||||
|
{
|
||||||
|
Task<SewerPoint> CreateOrFindSewerpoint(string objektbezeichnung);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
using DaSaSo.Domain.Model;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Domain.Services.SewerPointServices
|
||||||
|
{
|
||||||
|
public class SewerpointService : ISewerpointService
|
||||||
|
{
|
||||||
|
private readonly IDataService<SewerPoint> _sewerPointService;
|
||||||
|
|
||||||
|
public SewerpointService(IDataService<SewerPoint> sewerPointService)
|
||||||
|
{
|
||||||
|
_sewerPointService = sewerPointService;
|
||||||
|
|
||||||
|
}
|
||||||
|
public async Task<SewerPoint> CreateOrFindSewerpoint(string objektbezeichnung)
|
||||||
|
{
|
||||||
|
SewerPoint result = new SewerPoint()
|
||||||
|
{
|
||||||
|
Objektnummer = objektbezeichnung
|
||||||
|
};
|
||||||
|
return await _sewerPointService.Create(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0-rc.1.21452.10" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0-rc.1.21452.10" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.0-rc.1.21452.10" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.0-rc.1.21452.10">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.0-rc.1.21452.10">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
|||||||
@@ -8,28 +8,26 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace DaSaSo.EntityFramework
|
namespace DaSaSo.EntityFramework
|
||||||
{
|
{
|
||||||
public class DaSaSoDbContextFactory : IDesignTimeDbContextFactory<DaSaSoDbContext>
|
public class DaSaSoDbContextFactory
|
||||||
{
|
{
|
||||||
private readonly string _connectionString;
|
private readonly Action<DbContextOptionsBuilder> _configureDbContext;
|
||||||
|
|
||||||
public DaSaSoDbContextFactory()
|
public DaSaSoDbContextFactory(Action<DbContextOptionsBuilder> configureDbContext)
|
||||||
{
|
{
|
||||||
|
_configureDbContext = configureDbContext;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
public DaSaSoDbContextFactory(string connectionString)
|
|
||||||
{
|
|
||||||
_connectionString = connectionString;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DaSaSoDbContext CreateDbContext()
|
public DaSaSoDbContext CreateDbContext()
|
||||||
{
|
{
|
||||||
var options = new DbContextOptionsBuilder<DaSaSoDbContext>();
|
DbContextOptionsBuilder<DaSaSoDbContext>? options = new DbContextOptionsBuilder<DaSaSoDbContext>();
|
||||||
|
_configureDbContext(options);
|
||||||
//_connectionString = "Host = localhost; Database = dasaso; Username = kansan; Password = kansan";
|
//_connectionString = "Host = localhost; Database = dasaso; Username = kansan; Password = kansan";
|
||||||
options.UseNpgsql(_connectionString);
|
//options.UseNpgsql(_connectionString);
|
||||||
DaSaSoDbContext result = new DaSaSoDbContext(options.Options);
|
//DaSaSoDbContext result = new DaSaSoDbContext(options.Options);
|
||||||
return result;
|
return new DaSaSoDbContext(options.Options);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
public DaSaSoDbContext CreateDbContext(string[]? args = null)
|
public DaSaSoDbContext CreateDbContext(string[]? args = null)
|
||||||
{
|
{
|
||||||
var options = new DbContextOptionsBuilder<DaSaSoDbContext>();
|
var options = new DbContextOptionsBuilder<DaSaSoDbContext>();
|
||||||
@@ -37,5 +35,6 @@ namespace DaSaSo.EntityFramework
|
|||||||
DaSaSoDbContext result = new DaSaSoDbContext(options.Options);
|
DaSaSoDbContext result = new DaSaSoDbContext(options.Options);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,9 +35,14 @@ namespace DaSaSo.EntityFramework.Services
|
|||||||
return await _nonQueryDataService.Delete(id);
|
return await _nonQueryDataService.Delete(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<Buildingsite> Get(int id)
|
public async Task<Buildingsite> Get(int id)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
using (DaSaSoDbContext context = _contextFactory.CreateDbContext())
|
||||||
|
{
|
||||||
|
Buildingsite entity = await context.Buildingsites.FirstOrDefaultAsync((e) => e.Id == id);
|
||||||
|
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<IEnumerable<Buildingsite>> GetAll()
|
public Task<IEnumerable<Buildingsite>> GetAll()
|
||||||
|
|||||||
@@ -31,9 +31,14 @@ namespace DaSaSo.EntityFramework.Services
|
|||||||
return await _nonQueryDataService.Delete(id);
|
return await _nonQueryDataService.Delete(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<Project> Get(int id)
|
public async Task<Project> Get(int id)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
using (DaSaSoDbContext context = _contextFactory.CreateDbContext())
|
||||||
|
{
|
||||||
|
Project entity = await context.Projects.FirstOrDefaultAsync((e) => e.Id == id);
|
||||||
|
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<Project>> GetAllByClient(Client client)
|
public async Task<IEnumerable<Project>> GetAllByClient(Client client)
|
||||||
|
|||||||
53
DaSaSo.EntityFramework/Services/SewerpointDataService.cs
Normal file
53
DaSaSo.EntityFramework/Services/SewerpointDataService.cs
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
|
using DaSaSo.EntityFramework.Services.Common;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.EntityFramework.Services
|
||||||
|
{
|
||||||
|
public class SewerpointDataService : IDataService<SewerPoint>
|
||||||
|
{
|
||||||
|
private readonly DaSaSoDbContextFactory _contextFactory;
|
||||||
|
private readonly NonQueryDataService<SewerPoint> _nonQueryDataService;
|
||||||
|
|
||||||
|
public SewerpointDataService(DaSaSoDbContextFactory contextFactory)
|
||||||
|
{
|
||||||
|
_contextFactory = contextFactory;
|
||||||
|
_nonQueryDataService = new NonQueryDataService<SewerPoint>(contextFactory);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<SewerPoint> Create(SewerPoint entity)
|
||||||
|
{
|
||||||
|
return await _nonQueryDataService.Create(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SewerPoint CreateNonAsync(SewerPoint entity)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<bool> Delete(int id)
|
||||||
|
{
|
||||||
|
return await _nonQueryDataService.Delete(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<SewerPoint> Get(int id)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<IEnumerable<SewerPoint>> GetAll()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<SewerPoint> Update(int id, SewerPoint entity)
|
||||||
|
{
|
||||||
|
return await _nonQueryDataService.Update(id, entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -75,7 +75,7 @@ namespace DaSaSo.ViewModel
|
|||||||
private void SaveBuildingsite()
|
private void SaveBuildingsite()
|
||||||
{
|
{
|
||||||
_buildingsiteService.Update(Model.Id, Model);
|
_buildingsiteService.Update(Model.Id, Model);
|
||||||
//_renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService,_actualProject,_renavigator))
|
_renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService, _actualProject, _renavigator, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ namespace DaSaSo.ViewModel
|
|||||||
{
|
{
|
||||||
_selectedBuildingsite = value;
|
_selectedBuildingsite = value;
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
|
OnPropertyChanged(nameof(CanSelectBuildingsite));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,6 +41,7 @@ namespace DaSaSo.ViewModel
|
|||||||
public ICommand SelectCommand { get; set; }
|
public ICommand SelectCommand { get; set; }
|
||||||
public ICommand AddCommand { get; set; }
|
public ICommand AddCommand { get; set; }
|
||||||
public ICommand EditCommand { get; set; }
|
public ICommand EditCommand { get; set; }
|
||||||
|
public bool CanSelectBuildingsite => SelectedBuildingsite != null;
|
||||||
|
|
||||||
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService)
|
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService)
|
||||||
{
|
{
|
||||||
@@ -49,7 +51,7 @@ namespace DaSaSo.ViewModel
|
|||||||
Buildingsites = new ObservableCollection<Buildingsite>();
|
Buildingsites = new ObservableCollection<Buildingsite>();
|
||||||
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
|
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
|
||||||
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
||||||
AddCommand = new AddBuildingsiteCommand(actualProject, buildingsiteService);
|
AddCommand = new AddBuildingsiteCommand(buildingSiteDataService, actualProject, buildingsiteService,renavigator);
|
||||||
LoadBuildingsites();
|
LoadBuildingsites();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,9 +36,10 @@ namespace DaSaSo.ViewModel
|
|||||||
if(_selectedClient != value)
|
if(_selectedClient != value)
|
||||||
{
|
{
|
||||||
_selectedClient = value;
|
_selectedClient = value;
|
||||||
//SelectClientCommand.NotifyCanExecuteChanged();
|
|
||||||
//EditClientCommand.NotifyCanExecuteChanged();
|
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
|
OnPropertyChanged(nameof(CanSelectClient));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,6 +57,8 @@ namespace DaSaSo.ViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool CanSelectClient => _selectedClient != null;
|
||||||
|
|
||||||
public ClientListViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator renavigator)
|
public ClientListViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator renavigator)
|
||||||
{
|
{
|
||||||
Clients = new ObservableCollection<Client>();
|
Clients = new ObservableCollection<Client>();
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using DaSaSo.Domain.Model;
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
using DaSaSo.Domain.Services.BuildingsiteServices;
|
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
@@ -11,18 +12,23 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
{
|
{
|
||||||
public class AddBuildingsiteCommand: AsyncCommandBase
|
public class AddBuildingsiteCommand: AsyncCommandBase
|
||||||
{
|
{
|
||||||
private IActualProject actualProject;
|
private IActualProject _actualProject;
|
||||||
private IBuildingsiteService buildingsiteService;
|
private IBuildingsiteService _buildingsiteService;
|
||||||
|
private readonly IRenavigator _renavigator;
|
||||||
public AddBuildingsiteCommand(IActualProject actualProject, IBuildingsiteService buildingsiteService)
|
private readonly IDataService<Buildingsite> _dataservice;
|
||||||
|
public AddBuildingsiteCommand(IDataService<Buildingsite> dataService, IActualProject actualProject, IBuildingsiteService buildingsiteService, IRenavigator renavigator)
|
||||||
{
|
{
|
||||||
this.actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
this.buildingsiteService = buildingsiteService;
|
_buildingsiteService = buildingsiteService;
|
||||||
|
_dataservice = dataService;
|
||||||
|
_renavigator = renavigator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
{
|
{
|
||||||
Buildingsite buildingsite = await buildingsiteService.CreateBuildingsite(actualProject.AktuellProjekt);
|
Buildingsite buildingsite = await _buildingsiteService.CreateBuildingsite(_actualProject.AktuellProjekt);
|
||||||
|
_actualProject.SetBuildingSite(buildingsite);
|
||||||
|
_renavigator.Renavigate(new BuildingsiteEditViewModel(_dataservice, _actualProject, _renavigator));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,18 +12,26 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
{
|
{
|
||||||
public class AddProjectCommand : AsyncCommandBase
|
public class AddProjectCommand : AsyncCommandBase
|
||||||
{
|
{
|
||||||
private readonly IActualProject actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
private readonly IProjectService _projectService;
|
private readonly IProjectService _projectService;
|
||||||
|
private readonly IRenavigator _renavigator;
|
||||||
|
private readonly IDataService<Project> _genericDataService;
|
||||||
|
|
||||||
public AddProjectCommand(IActualProject actualProject, IProjectService projectService)
|
|
||||||
|
public AddProjectCommand(IDataService<Project> genericDataService, IActualProject actualProject, IProjectService projectService, IRenavigator renavigator)
|
||||||
{
|
{
|
||||||
this.actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
_projectService = projectService;
|
_projectService = projectService;
|
||||||
|
_renavigator = renavigator;
|
||||||
|
_genericDataService = genericDataService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
{
|
{
|
||||||
Project pro = await _projectService.CreateProject(actualProject.AktuellClient);
|
Project pro = await _projectService.CreateProject(_actualProject.AktuellClient);
|
||||||
|
_actualProject.SetProject(pro);
|
||||||
|
_renavigator.Renavigate(new ProjectEditViewModel(_genericDataService, _actualProject, _renavigator, _projectService));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
{
|
{
|
||||||
SewerObject sewerobject = await _sewerObjectService.CreateSewerObject(_actualProject.AktuellBaustelle);
|
SewerObject sewerobject = await _sewerObjectService.CreateSewerObject(_actualProject.AktuellBaustelle);
|
||||||
|
_actualProject.SetSewerObject(sewerobject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,13 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void OnCanExecuteChanged()
|
||||||
|
{
|
||||||
|
CanExecuteChanged?.Invoke(this, new EventArgs());
|
||||||
|
}
|
||||||
|
|
||||||
public bool CanExecute(object? parameter)
|
|
||||||
|
public virtual bool CanExecute(object? parameter)
|
||||||
{
|
{
|
||||||
return !IsExecuting;
|
return !IsExecuting;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using DaSaSo.Domain.Services.BuildingsiteServices;
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -16,7 +17,11 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
private IActualProject actualProject;
|
private IActualProject actualProject;
|
||||||
private IRenavigator renavigator;
|
private IRenavigator renavigator;
|
||||||
private IBuildingsiteService buildingsiteService;
|
private IBuildingsiteService buildingsiteService;
|
||||||
private BuildingsiteListViewModel buildingsiteListViewModel;
|
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
||||||
|
public override bool CanExecute(object? parameter)
|
||||||
|
{
|
||||||
|
return _buildingsiteListViewModel.CanSelectBuildingsite;
|
||||||
|
}
|
||||||
|
|
||||||
public EditBuildingsiteCommand(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator, IBuildingsiteService buildingsiteService, BuildingsiteListViewModel buildingsiteListViewModel)
|
public EditBuildingsiteCommand(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator, IBuildingsiteService buildingsiteService, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||||
{
|
{
|
||||||
@@ -24,12 +29,19 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
this.actualProject = actualProject;
|
this.actualProject = actualProject;
|
||||||
this.renavigator = renavigator;
|
this.renavigator = renavigator;
|
||||||
this.buildingsiteService = buildingsiteService;
|
this.buildingsiteService = buildingsiteService;
|
||||||
this.buildingsiteListViewModel = buildingsiteListViewModel;
|
_buildingsiteListViewModel = buildingsiteListViewModel;
|
||||||
|
_buildingsiteListViewModel.PropertyChanged += BuildingsiteListViewModel_PropertyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BuildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
|
||||||
|
OnCanExecuteChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
{
|
{
|
||||||
actualProject.SetBuildingSite(buildingsiteListViewModel.SelectedBuildingsite);
|
actualProject.SetBuildingSite(_buildingsiteListViewModel.SelectedBuildingsite);
|
||||||
renavigator.Renavigate(new BuildingsiteEditViewModel(buildingSiteDataService, actualProject, renavigator));
|
renavigator.Renavigate(new BuildingsiteEditViewModel(buildingSiteDataService, actualProject, renavigator));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using DaSaSo.Domain.Services;
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -16,22 +17,34 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
private readonly IDataService<Client> dataservice;
|
private readonly IDataService<Client> dataservice;
|
||||||
private readonly IActualProject actualProject;
|
private readonly IActualProject actualProject;
|
||||||
private readonly IRenavigator renavigator;
|
private readonly IRenavigator renavigator;
|
||||||
private readonly ClientListViewModel clientListViewModel;
|
private readonly ClientListViewModel _clientListViewModel;
|
||||||
|
|
||||||
|
|
||||||
|
public override bool CanExecute(object? parameter)
|
||||||
|
{
|
||||||
|
return _clientListViewModel.CanSelectClient;
|
||||||
|
}
|
||||||
|
|
||||||
public EditClientCommand(IDataService<Client> dataservice, IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
public EditClientCommand(IDataService<Client> dataservice, IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
||||||
{
|
{
|
||||||
this.dataservice = dataservice;
|
this.dataservice = dataservice;
|
||||||
this.actualProject = actualProject;
|
this.actualProject = actualProject;
|
||||||
this.renavigator = renavigator;
|
this.renavigator = renavigator;
|
||||||
this.clientListViewModel = clientListViewModel;
|
this._clientListViewModel = clientListViewModel;
|
||||||
|
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||||
|
{
|
||||||
|
OnCanExecuteChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
{
|
{
|
||||||
actualProject.SetClient(clientListViewModel.SelectedClient);
|
actualProject.SetClient(_clientListViewModel.SelectedClient);
|
||||||
renavigator.Renavigate(new ClientEditViewModel(dataservice,actualProject,renavigator));
|
renavigator.Renavigate(new ClientEditViewModel(dataservice,actualProject,renavigator));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using DaSaSo.Domain.Services.ProjectServices;
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -17,6 +18,10 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
private IRenavigator _renavigator;
|
private IRenavigator _renavigator;
|
||||||
private readonly IProjectService _projectService;
|
private readonly IProjectService _projectService;
|
||||||
private ProjectListViewModel _projectListViewModel;
|
private ProjectListViewModel _projectListViewModel;
|
||||||
|
public override bool CanExecute(object? parameter)
|
||||||
|
{
|
||||||
|
return _projectListViewModel.SelectedProject != null;
|
||||||
|
}
|
||||||
|
|
||||||
public EditProjectCommand(IDataService<Project> dataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService, ProjectListViewModel projectListViewModel)
|
public EditProjectCommand(IDataService<Project> dataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService, ProjectListViewModel projectListViewModel)
|
||||||
{
|
{
|
||||||
@@ -25,7 +30,13 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
this._renavigator = renavigator;
|
this._renavigator = renavigator;
|
||||||
this._projectService = projectService;
|
this._projectService = projectService;
|
||||||
this._projectListViewModel = projectListViewModel;
|
this._projectListViewModel = projectListViewModel;
|
||||||
|
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||||
|
OnCanExecuteChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
|
|||||||
54
DaSaSo.ViewModel/Commands/SaveSewerCommand.cs
Normal file
54
DaSaSo.ViewModel/Commands/SaveSewerCommand.cs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
|
using DaSaSo.Domain.Services.SewerObjectService;
|
||||||
|
using DaSaSo.Domain.Services.SewerPointServices;
|
||||||
|
using DaSaSo.ViewModel.Interface;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.ViewModel.Commands
|
||||||
|
{
|
||||||
|
public class SaveSewerCommand : AsyncCommandBase
|
||||||
|
{
|
||||||
|
private readonly SewerMainListViewModel _sewerMainListViewModel;
|
||||||
|
private IDataService<SewerObject> _dataService;
|
||||||
|
private readonly ISewerpointService _sewerPointService;
|
||||||
|
private IActualProject _actualProject;
|
||||||
|
private readonly ISewerObjectService _sewerObjectService;
|
||||||
|
private readonly IRenavigator _renavigator;
|
||||||
|
private readonly ISewerMainNavigator _navigator;
|
||||||
|
|
||||||
|
public SaveSewerCommand(SewerMainListViewModel sewerMainListViewModel,
|
||||||
|
IDataService<SewerObject> dataService,
|
||||||
|
IActualProject actualProject,
|
||||||
|
ISewerObjectService sewerObjectService,
|
||||||
|
IRenavigator renavigator,
|
||||||
|
ISewerpointService sewerpointService,
|
||||||
|
ISewerMainNavigator navigator)
|
||||||
|
{
|
||||||
|
_sewerMainListViewModel = sewerMainListViewModel;
|
||||||
|
_dataService = dataService;
|
||||||
|
_sewerPointService = sewerpointService;
|
||||||
|
_actualProject = actualProject;
|
||||||
|
_sewerObjectService = sewerObjectService;
|
||||||
|
_renavigator = renavigator;
|
||||||
|
_navigator = navigator;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
|
{
|
||||||
|
_navigator.CurrentViewModel = null;
|
||||||
|
var s = _navigator;
|
||||||
|
//Debugger.Break();
|
||||||
|
//var d = await _sewerPointService.CreateOrFindSewerpoint("123");
|
||||||
|
//_actualProject.AktuellSewerObject.PunktOben = d;
|
||||||
|
_ = await _dataService.Update(_actualProject.AktuellSewerObject.Id, _actualProject.AktuellSewerObject);
|
||||||
|
_renavigator.Renavigate(new SewerObjectListViewModel(_dataService, _actualProject, _sewerObjectService));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -11,11 +12,22 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
{
|
{
|
||||||
private IActualProject _actualProject;
|
private IActualProject _actualProject;
|
||||||
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
||||||
|
public override bool CanExecute(object? parameter)
|
||||||
|
{
|
||||||
|
return _buildingsiteListViewModel.CanSelectBuildingsite;
|
||||||
|
}
|
||||||
|
|
||||||
public SelectBuildingsiteCommand(IActualProject actualProject, BuildingsiteListViewModel buildingsiteListViewModel)
|
public SelectBuildingsiteCommand(IActualProject actualProject, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||||
{
|
{
|
||||||
this._actualProject = actualProject;
|
this._actualProject = actualProject;
|
||||||
this._buildingsiteListViewModel = buildingsiteListViewModel;
|
this._buildingsiteListViewModel = buildingsiteListViewModel;
|
||||||
|
_buildingsiteListViewModel.PropertyChanged += _buildingsiteListViewModel_PropertyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _buildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
|
||||||
|
OnCanExecuteChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -13,10 +14,24 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
|
|
||||||
private readonly IActualProject _actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
private readonly ClientListViewModel _clientListViewModel;
|
private readonly ClientListViewModel _clientListViewModel;
|
||||||
|
|
||||||
|
public override bool CanExecute(object? parameter)
|
||||||
|
{
|
||||||
|
return _clientListViewModel.CanSelectClient;
|
||||||
|
}
|
||||||
public SelectClientCommand(IActualProject actualProject, ClientListViewModel clientListViewModel)
|
public SelectClientCommand(IActualProject actualProject, ClientListViewModel clientListViewModel)
|
||||||
{
|
{
|
||||||
_actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
_clientListViewModel = clientListViewModel;
|
_clientListViewModel = clientListViewModel;
|
||||||
|
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||||
|
{
|
||||||
|
OnCanExecuteChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -11,11 +12,22 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
{
|
{
|
||||||
private readonly IActualProject _actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
private readonly ProjectListViewModel _projectListViewModel;
|
private readonly ProjectListViewModel _projectListViewModel;
|
||||||
|
public override bool CanExecute(object? parameter)
|
||||||
|
{
|
||||||
|
return _projectListViewModel.SelectedProject != null;
|
||||||
|
}
|
||||||
|
|
||||||
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
|
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
|
||||||
{
|
{
|
||||||
_actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
_projectListViewModel = projectListViewModel;
|
_projectListViewModel = projectListViewModel;
|
||||||
|
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||||
|
OnCanExecuteChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task ExecuteAsync(object? parameter)
|
public override async Task ExecuteAsync(object? parameter)
|
||||||
|
|||||||
@@ -5,6 +5,16 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="version.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="version.txt">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.0" />
|
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -15,4 +25,8 @@
|
|||||||
<ProjectReference Include="..\DaSaSo.InMemoryProvider\DaSaSo.InMemoryProvider.csproj" />
|
<ProjectReference Include="..\DaSaSo.InMemoryProvider\DaSaSo.InMemoryProvider.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
|
||||||
|
<Exec Command="git rev-parse HEAD > $(ProjectDir)\version.txt
" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace DaSaSo.ViewModel.Interface
|
|||||||
void SetClient(Client client);
|
void SetClient(Client client);
|
||||||
void SetProject(Project project, bool notification = true);
|
void SetProject(Project project, bool notification = true);
|
||||||
void SetBuildingSite(Buildingsite buildingsite);
|
void SetBuildingSite(Buildingsite buildingsite);
|
||||||
void SetSewerObject(SewerObject sewerObject);
|
void SetSewerObject(SewerObject sewerObject, bool notification = true);
|
||||||
void ResetProject();
|
void ResetProject();
|
||||||
void ResetBuildingSite();
|
void ResetBuildingSite();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ namespace DaSaSo.ViewModel
|
|||||||
{
|
{
|
||||||
_selectedProject = value;
|
_selectedProject = value;
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
|
OnPropertyChanged(nameof(CanSelectProject));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,6 +41,7 @@ namespace DaSaSo.ViewModel
|
|||||||
public ICommand SelectCommand { get; set; }
|
public ICommand SelectCommand { get; set; }
|
||||||
public ICommand AddCommand { get; set; }
|
public ICommand AddCommand { get; set; }
|
||||||
public ICommand EditCommand { get; set; }
|
public ICommand EditCommand { get; set; }
|
||||||
|
public bool CanSelectProject => SelectedProject != null;
|
||||||
public ProjectListViewModel(IDataService<Project> genericDataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService)
|
public ProjectListViewModel(IDataService<Project> genericDataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService)
|
||||||
{
|
{
|
||||||
Projekte = new ObservableCollection<Project>();
|
Projekte = new ObservableCollection<Project>();
|
||||||
@@ -49,7 +51,7 @@ namespace DaSaSo.ViewModel
|
|||||||
this.actualProject = actualProject;
|
this.actualProject = actualProject;
|
||||||
this.renavigator = renavigator;
|
this.renavigator = renavigator;
|
||||||
SelectCommand = new SelectProjectCommand(actualProject, this);
|
SelectCommand = new SelectProjectCommand(actualProject, this);
|
||||||
AddCommand = new AddProjectCommand(actualProject, projectService);
|
AddCommand = new AddProjectCommand(genericDataService,actualProject, projectService,renavigator);
|
||||||
EditCommand = new EditProjectCommand(genericDataService, actualProject, renavigator,projectService, this);
|
EditCommand = new EditProjectCommand(genericDataService, actualProject, renavigator,projectService, this);
|
||||||
LoadProjecte();
|
LoadProjecte();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
using DaSaSo.ViewModel.Commands;
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
|
using DaSaSo.Domain.Services.SewerObjectService;
|
||||||
|
using DaSaSo.Domain.Services.SewerPointServices;
|
||||||
|
using DaSaSo.EntityFramework.Services;
|
||||||
|
using DaSaSo.ViewModel.Commands;
|
||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using Microsoft.Toolkit.Mvvm.Input;
|
using Microsoft.Toolkit.Mvvm.Input;
|
||||||
using System;
|
using System;
|
||||||
@@ -13,16 +18,49 @@ namespace DaSaSo.ViewModel
|
|||||||
public class SewerMainListViewModel : BaseViewModel
|
public class SewerMainListViewModel : BaseViewModel
|
||||||
{
|
{
|
||||||
private ISewerMainNavigator _navigator { get; set; }
|
private ISewerMainNavigator _navigator { get; set; }
|
||||||
|
private readonly SewerObjectDataService _dataservice;
|
||||||
|
private readonly ISewerObjectService _sewerObjectService;
|
||||||
|
private readonly IRenavigator _renavigator;
|
||||||
private IActualProject _actualProject { get; set; }
|
private IActualProject _actualProject { get; set; }
|
||||||
public ICommand UpdateCurrentSewerViewModelCommand { get; }
|
public ICommand UpdateCurrentSewerViewModelCommand { get; }
|
||||||
|
public ICommand SaveCommand { get; set; }
|
||||||
public BaseViewModel CurrentSewerViewModel => _navigator.CurrentViewModel;
|
public BaseViewModel CurrentSewerViewModel => _navigator.CurrentViewModel;
|
||||||
|
|
||||||
public SewerMainListViewModel(ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory)
|
public bool IsLoading
|
||||||
|
{
|
||||||
|
get => _isLoading;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_isLoading != value)
|
||||||
|
{
|
||||||
|
_isLoading = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _isLoading = true;
|
||||||
|
public bool CanSaveSewer => !string.IsNullOrEmpty(_actualProject.AktuellSewerObject.StreetName);
|
||||||
|
|
||||||
|
public SewerMainListViewModel(IDataService<SewerObject> dataService, ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory, IRenavigator renavigator, ISewerObjectService sewerObjectService, ISewerpointService sewerpointService)
|
||||||
{
|
{
|
||||||
_navigator = navigator;
|
_navigator = navigator;
|
||||||
_actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
|
_dataservice = (SewerObjectDataService)dataService;
|
||||||
|
_renavigator = renavigator;
|
||||||
|
_sewerObjectService = sewerObjectService;
|
||||||
|
SaveCommand = new SaveSewerCommand(this,dataService,actualProject,sewerObjectService,renavigator,sewerpointService,navigator); //RelayCommand(SaveSewer);
|
||||||
|
LoadModel();
|
||||||
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
|
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
|
||||||
_navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
_navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async void LoadModel()
|
||||||
|
{
|
||||||
|
IsLoading = true;
|
||||||
|
SewerObject sewer = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
|
||||||
|
_actualProject.SetSewerObject(sewer,false);
|
||||||
|
IsLoading = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ namespace DaSaSo.ViewModel
|
|||||||
public class SewerStammdatenViewModel : BaseViewModel
|
public class SewerStammdatenViewModel : BaseViewModel
|
||||||
{
|
{
|
||||||
private readonly IActualProject _actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
private readonly SewerObjectDataService _dataservice;
|
|
||||||
private SewerObject _model;
|
private SewerObject _model;
|
||||||
|
|
||||||
public string Haltungsname
|
public string Haltungsname
|
||||||
@@ -36,9 +35,9 @@ namespace DaSaSo.ViewModel
|
|||||||
get => Model.DN;
|
get => Model.DN;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if(Model.SewerLength != value)
|
if(Model.DN != value)
|
||||||
{
|
{
|
||||||
Model.SewerLength = value;
|
Model.DN = value;
|
||||||
OnPropertyChanged();
|
OnPropertyChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,7 +54,7 @@ namespace DaSaSo.ViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public decimal Leitungslenght {
|
public decimal Leitungslength {
|
||||||
get => Model.SewerLength;
|
get => Model.SewerLength;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -105,24 +104,24 @@ namespace DaSaSo.ViewModel
|
|||||||
OnPropertyChanged(nameof(Unterepunkt));
|
OnPropertyChanged(nameof(Unterepunkt));
|
||||||
OnPropertyChanged(nameof(Durchmesser));
|
OnPropertyChanged(nameof(Durchmesser));
|
||||||
OnPropertyChanged(nameof(Material));
|
OnPropertyChanged(nameof(Material));
|
||||||
OnPropertyChanged(nameof(Leitungslenght));
|
OnPropertyChanged(nameof(Leitungslength));
|
||||||
OnPropertyChanged(nameof(Strasse));
|
OnPropertyChanged(nameof(Strasse));
|
||||||
OnPropertyChanged(nameof(Ort));
|
OnPropertyChanged(nameof(Ort));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public SewerStammdatenViewModel(IDataService<SewerObject> dataService,IActualProject actualProject)
|
public SewerStammdatenViewModel(IActualProject actualProject)
|
||||||
{
|
{
|
||||||
_actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
_dataservice = (SewerObjectDataService)dataService;
|
|
||||||
Model = new SewerObject();
|
|
||||||
|
|
||||||
LoadModel();
|
Model = _actualProject.AktuellSewerObject;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void LoadModel()
|
~SewerStammdatenViewModel()
|
||||||
{
|
{
|
||||||
Model = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,9 +58,10 @@ namespace DaSaSo.ViewModel.State.ActualState
|
|||||||
OnBuildingSiteChanged();
|
OnBuildingSiteChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetSewerObject(SewerObject sewerObject)
|
public void SetSewerObject(SewerObject sewerObject,bool notification = true)
|
||||||
{
|
{
|
||||||
AktuellSewerObject = sewerObject;
|
AktuellSewerObject = sewerObject;
|
||||||
|
if(notification)
|
||||||
OnSewerObjectChanged();
|
OnSewerObjectChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using DaSaSo.Domain.Enums;
|
using DaSaSo.Domain.Enums;
|
||||||
using DaSaSo.Domain.Model;
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
using DaSaSo.EntityFramework;
|
using DaSaSo.EntityFramework;
|
||||||
using DaSaSo.EntityFramework.Services;
|
using DaSaSo.EntityFramework.Services;
|
||||||
using DaSaSo.ViewModel.Commands;
|
using DaSaSo.ViewModel.Commands;
|
||||||
@@ -7,10 +8,12 @@ using DaSaSo.ViewModel.Enums;
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using DaSaSo.ViewModel.State.Navigation;
|
using DaSaSo.ViewModel.State.Navigation;
|
||||||
using Microsoft.Toolkit.Mvvm.Input;
|
using Microsoft.Toolkit.Mvvm.Input;
|
||||||
|
using Microsoft.Win32;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
@@ -21,9 +24,15 @@ namespace DaSaSo.ViewModel
|
|||||||
{
|
{
|
||||||
private readonly IViewModelAbstractFactory viewModelFactory;
|
private readonly IViewModelAbstractFactory viewModelFactory;
|
||||||
private readonly IActualProject _actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
|
private readonly IDataService<Client> _clientDataService;
|
||||||
|
private readonly IDataService<Project> _projectDataService;
|
||||||
|
private readonly IDataService<Buildingsite> _buildingsiteDataService;
|
||||||
|
|
||||||
private string _clientname = "";
|
private string _clientname = "";
|
||||||
private string _projektname = "";
|
private string _projektname = "";
|
||||||
private string _buildingsitename = "";
|
private string _buildingsitename = "";
|
||||||
|
RegistryKey registry;
|
||||||
|
const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\DaSaSo";
|
||||||
public bool CanSelectProject { get => _actualProject.AktuellClient != null; }
|
public bool CanSelectProject { get => _actualProject.AktuellClient != null; }
|
||||||
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
|
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
|
||||||
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
|
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
|
||||||
@@ -69,11 +78,32 @@ namespace DaSaSo.ViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public string ApplicationTitle
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
string gitVersion;
|
||||||
|
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DaSaSo.ViewModel.version.txt"))
|
||||||
|
using (StreamReader reader = new StreamReader(stream))
|
||||||
|
{
|
||||||
|
gitVersion = reader.ReadToEnd();
|
||||||
|
}
|
||||||
|
return string.Format("Cosysda Sanierung Software : {0}",gitVersion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public MainWindowViewModel(IMainWindowNavigator navigator,IViewModelAbstractFactory viewModelFactory, IActualProject actualProject)
|
public MainWindowViewModel(IMainWindowNavigator navigator,IViewModelAbstractFactory viewModelFactory,
|
||||||
|
IActualProject actualProject,
|
||||||
|
IDataService<Client> clientDataService,
|
||||||
|
IDataService<Project> projectDataService,
|
||||||
|
IDataService<Buildingsite> buildingsiteDataService
|
||||||
|
)
|
||||||
{
|
{
|
||||||
this._navigator = navigator;
|
this._navigator = navigator;
|
||||||
this.viewModelFactory = viewModelFactory;
|
this.viewModelFactory = viewModelFactory;
|
||||||
|
_clientDataService = clientDataService;
|
||||||
|
_projectDataService = projectDataService;
|
||||||
|
_buildingsiteDataService = buildingsiteDataService;
|
||||||
|
|
||||||
_navigator.StateChanged += _navigator_StateChanged;
|
_navigator.StateChanged += _navigator_StateChanged;
|
||||||
|
|
||||||
@@ -84,6 +114,59 @@ namespace DaSaSo.ViewModel
|
|||||||
_actualProject.ProjectChanged += _actualProject_ProjectChanged;
|
_actualProject.ProjectChanged += _actualProject_ProjectChanged;
|
||||||
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
|
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
|
||||||
_actualProject.SewerObjectChanged += _actualProject_SewerObjectChanged;
|
_actualProject.SewerObjectChanged += _actualProject_SewerObjectChanged;
|
||||||
|
|
||||||
|
ladeRegistry();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void ladeRegistry()
|
||||||
|
{
|
||||||
|
|
||||||
|
registry = Registry.CurrentUser.OpenSubKey("Software\\Cosysda\\DaSaSo");
|
||||||
|
if (registry == null) initRegistry();
|
||||||
|
int clientid = Convert.ToInt32((string)registry.GetValue("lastclient", "-1"));
|
||||||
|
if (clientid == -1)
|
||||||
|
return;
|
||||||
|
Client lastClient = await _clientDataService.Get(clientid);
|
||||||
|
if (lastClient == null)
|
||||||
|
{
|
||||||
|
saveInRegistry("lastclient", "-1");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_actualProject.SetClient(lastClient);
|
||||||
|
|
||||||
|
int projectid = Convert.ToInt32((string)registry.GetValue("lastproject", "-1"));
|
||||||
|
if (projectid == -1)
|
||||||
|
return;
|
||||||
|
Project lastProject = await _projectDataService.Get(projectid);
|
||||||
|
if(lastProject == null)
|
||||||
|
{
|
||||||
|
saveInRegistry("lastproject","-1");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_actualProject.SetProject(lastProject);
|
||||||
|
|
||||||
|
int buildingsiteid = Convert.ToInt32((string)registry.GetValue("lastbuildingsite", "-1"));
|
||||||
|
if (buildingsiteid == -1)
|
||||||
|
return;
|
||||||
|
Buildingsite lastBuildingiste = await _buildingsiteDataService.Get(buildingsiteid);
|
||||||
|
if(lastBuildingiste == null)
|
||||||
|
{
|
||||||
|
saveInRegistry("lastbuildingsite","-1");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_actualProject.SetBuildingSite(lastBuildingiste);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveInRegistry(string key, string value)
|
||||||
|
{
|
||||||
|
Registry.SetValue(REGISTRYKEY, key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initRegistry()
|
||||||
|
{
|
||||||
|
Registry.CurrentUser.CreateSubKey("Software\\Cosysda\\DaSaSo");
|
||||||
|
ladeRegistry();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _actualProject_SewerObjectChanged(object? sender, EventArgs e)
|
private void _actualProject_SewerObjectChanged(object? sender, EventArgs e)
|
||||||
@@ -98,6 +181,7 @@ namespace DaSaSo.ViewModel
|
|||||||
|
|
||||||
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
saveInRegistry("lastbuildingsite", _actualProject.AktuellBaustelle.Id.ToString());
|
||||||
Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber;
|
Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber;
|
||||||
OnPropertyChanged(nameof(CanSelectSewerObjects));
|
OnPropertyChanged(nameof(CanSelectSewerObjects));
|
||||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerObjects);
|
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerObjects);
|
||||||
@@ -105,6 +189,7 @@ namespace DaSaSo.ViewModel
|
|||||||
|
|
||||||
private void _actualProject_ProjectChanged(object? sender, EventArgs e)
|
private void _actualProject_ProjectChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
saveInRegistry("lastproject", _actualProject.AktuellProjekt.Id.ToString());
|
||||||
Projektname = _actualProject.AktuellProjekt.Name;
|
Projektname = _actualProject.AktuellProjekt.Name;
|
||||||
OnPropertyChanged(nameof(CanSelectBuildingSite));
|
OnPropertyChanged(nameof(CanSelectBuildingSite));
|
||||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
|
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
|
||||||
@@ -112,6 +197,7 @@ namespace DaSaSo.ViewModel
|
|||||||
|
|
||||||
private void _actualProject_ClientChanged(object? sender, EventArgs e)
|
private void _actualProject_ClientChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
saveInRegistry("lastclient", _actualProject.AktuellClient.Id.ToString());
|
||||||
ClientName = _actualProject.AktuellClient.Firstname;
|
ClientName = _actualProject.AktuellClient.Firstname;
|
||||||
OnPropertyChanged(nameof(CanSelectProject));
|
OnPropertyChanged(nameof(CanSelectProject));
|
||||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects);
|
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects);
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ using DaSaSo.ViewModel.Factories;
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.ViewModel.Interface;
|
||||||
using DaSaSo.ViewModel.State.ActualState;
|
using DaSaSo.ViewModel.State.ActualState;
|
||||||
using DaSaSo.ViewModel.State.Navigation;
|
using DaSaSo.ViewModel.State.Navigation;
|
||||||
|
using DaSaSo.Wpf.HostBuilders;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
@@ -32,6 +34,14 @@ namespace DaSaSo.Wpf
|
|||||||
public static IHostBuilder CreateHostBuilder(string[]? args = null)
|
public static IHostBuilder CreateHostBuilder(string[]? args = null)
|
||||||
{
|
{
|
||||||
return Host.CreateDefaultBuilder(args)
|
return Host.CreateDefaultBuilder(args)
|
||||||
|
.AddConfiguration()
|
||||||
|
.AddServices()
|
||||||
|
.AddViewModels()
|
||||||
|
.AddStores()
|
||||||
|
.AddDBContext();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* return Host.CreateDefaultBuilder(args)
|
||||||
.ConfigureAppConfiguration(c=>
|
.ConfigureAppConfiguration(c=>
|
||||||
{
|
{
|
||||||
c.AddJsonFile("appsettings.json");
|
c.AddJsonFile("appsettings.json");
|
||||||
@@ -42,6 +52,7 @@ namespace DaSaSo.Wpf
|
|||||||
|
|
||||||
string connectionString = context.Configuration.GetConnectionString("default");
|
string connectionString = context.Configuration.GetConnectionString("default");
|
||||||
|
|
||||||
|
services.AddDbContext<DaSaSoDbContext>(o => o.UseSqlServer(connectionString));
|
||||||
services.AddSingleton<DaSaSoDbContextFactory>(new DaSaSoDbContextFactory(connectionString));
|
services.AddSingleton<DaSaSoDbContextFactory>(new DaSaSoDbContextFactory(connectionString));
|
||||||
|
|
||||||
services.AddSingleton<IDataService<Client>, ClientDataService>();
|
services.AddSingleton<IDataService<Client>, ClientDataService>();
|
||||||
@@ -72,7 +83,6 @@ namespace DaSaSo.Wpf
|
|||||||
services.AddSingleton<CreateViewModel<SewerStammdatenViewModel>>(services =>
|
services.AddSingleton<CreateViewModel<SewerStammdatenViewModel>>(services =>
|
||||||
{
|
{
|
||||||
return () => new SewerStammdatenViewModel(
|
return () => new SewerStammdatenViewModel(
|
||||||
services.GetRequiredService<IDataService<SewerObject>>(),
|
|
||||||
services.GetRequiredService<IActualProject>()
|
services.GetRequiredService<IActualProject>()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -93,9 +103,14 @@ namespace DaSaSo.Wpf
|
|||||||
services.AddSingleton<CreateViewModel<SewerMainListViewModel>>(services =>
|
services.AddSingleton<CreateViewModel<SewerMainListViewModel>>(services =>
|
||||||
{
|
{
|
||||||
return () => new SewerMainListViewModel(
|
return () => new SewerMainListViewModel(
|
||||||
|
services.GetRequiredService<IDataService<SewerObject>>(),
|
||||||
services.GetRequiredService<ISewerMainNavigator>(),
|
services.GetRequiredService<ISewerMainNavigator>(),
|
||||||
services.GetRequiredService<IActualProject>(),
|
services.GetRequiredService<IActualProject>(),
|
||||||
services.GetRequiredService<IViewModelSewerMainFactory>()
|
services.GetRequiredService<IViewModelSewerMainFactory>(),
|
||||||
|
new ViewModelDelegateRenavigator(
|
||||||
|
services.GetRequiredService<IMainWindowNavigator>()
|
||||||
|
),
|
||||||
|
services.GetRequiredService<ISewerObjectService>()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
services.AddSingleton<CreateViewModel<ProjectListViewModel>>(services =>
|
services.AddSingleton<CreateViewModel<ProjectListViewModel>>(services =>
|
||||||
@@ -138,14 +153,19 @@ namespace DaSaSo.Wpf
|
|||||||
services.AddScoped<MainWindowViewModel>();
|
services.AddScoped<MainWindowViewModel>();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
protected override void OnStartup(StartupEventArgs e)
|
protected override void OnStartup(StartupEventArgs e)
|
||||||
{
|
{
|
||||||
Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
|
Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
|
||||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||||
|
|
||||||
|
|
||||||
_host.Start();
|
_host.Start();
|
||||||
|
|
||||||
|
DaSaSoDbContextFactory contextFactory = _host.Services.GetRequiredService<DaSaSoDbContextFactory>();
|
||||||
|
using (DaSaSoDbContext context = contextFactory.CreateDbContext())
|
||||||
|
{
|
||||||
|
context.Database.Migrate();
|
||||||
|
}
|
||||||
MainWindow? window = new MainWindow() { DataContext = _host.Services.GetRequiredService<MainWindowViewModel>() };
|
MainWindow? window = new MainWindow() { DataContext = _host.Services.GetRequiredService<MainWindowViewModel>() };
|
||||||
window.Show();
|
window.Show();
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,10 @@
|
|||||||
xmlns:converters="clr-namespace:DaSaSo.Wpf.Converters"
|
xmlns:converters="clr-namespace:DaSaSo.Wpf.Converters"
|
||||||
d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
|
d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="450" d:DesignWidth="800">
|
d:DesignHeight="300" d:DesignWidth="200">
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<converters:EqualValueToParameterConverter x:Key="EqualValueToParameterConverter" />
|
<converters:EqualValueToParameterConverter x:Key="EqualValueToParameterConverter" />
|
||||||
|
<converters:EqualValueToBooleanConverter x:Key="EqualValueToBooleanConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
@@ -25,5 +26,9 @@
|
|||||||
<RadioButton Grid.Row="1" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:ProjectListViewModel}}" Content="Projekte" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectProject}" CommandParameter="{x:Static nav:EMainWindowViewType.Projects}" />
|
<RadioButton Grid.Row="1" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:ProjectListViewModel}}" Content="Projekte" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectProject}" CommandParameter="{x:Static nav:EMainWindowViewType.Projects}" />
|
||||||
<RadioButton Grid.Row="2" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:BuildingsiteListViewModel}}" Content="Baustellen" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectBuildingSite}" CommandParameter="{x:Static nav:EMainWindowViewType.Buildingsites}" />
|
<RadioButton Grid.Row="2" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:BuildingsiteListViewModel}}" Content="Baustellen" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectBuildingSite}" CommandParameter="{x:Static nav:EMainWindowViewType.Buildingsites}" />
|
||||||
<RadioButton Grid.Row="3" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:SewerObjectListViewModel}}" Content="Objekten" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectSewerObjects}" CommandParameter="{x:Static nav:EMainWindowViewType.SewerObjects}" />
|
<RadioButton Grid.Row="3" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:SewerObjectListViewModel}}" Content="Objekten" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectSewerObjects}" CommandParameter="{x:Static nav:EMainWindowViewType.SewerObjects}" />
|
||||||
|
|
||||||
|
<Border Grid.RowSpan="4" Background="LightBlue" Visibility="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToBooleanConverter}, ConverterParameter={x:Type viewmodel:SewerMainListViewModel}}" d:Visibility="Hidden">
|
||||||
|
<TextBlock Foreground="WhiteSmoke" FontSize="18" Text="Editing Sewer" />
|
||||||
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
|
|||||||
27
DaSaSo.Wpf/Converters/EqualValueToBooleanConverter.cs
Normal file
27
DaSaSo.Wpf/Converters/EqualValueToBooleanConverter.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Data;
|
||||||
|
|
||||||
|
namespace DaSaSo.Wpf.Converters
|
||||||
|
{
|
||||||
|
public class EqualValueToBooleanConverter : IValueConverter
|
||||||
|
{
|
||||||
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||||
|
{
|
||||||
|
if(value.ToString() == "DaSaSo.ViewModel.SewerMainListViewModel")
|
||||||
|
return Visibility.Visible;
|
||||||
|
return Visibility.Hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Wpf.HostBuilders
|
||||||
|
{
|
||||||
|
public static class AddConfigurationHostBuilderExtensions
|
||||||
|
{
|
||||||
|
public static IHostBuilder AddConfiguration(this IHostBuilder host)
|
||||||
|
{
|
||||||
|
host.ConfigureAppConfiguration(c =>
|
||||||
|
{
|
||||||
|
c.AddJsonFile("appsettings.json");
|
||||||
|
c.AddEnvironmentVariables();
|
||||||
|
});
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
41
DaSaSo.Wpf/HostBuilders/AddDbContextHostBuilderExtensions.cs
Normal file
41
DaSaSo.Wpf/HostBuilders/AddDbContextHostBuilderExtensions.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using DaSaSo.EntityFramework;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Wpf.HostBuilders
|
||||||
|
{
|
||||||
|
public static class AddDbContextHostBuilderExtensions
|
||||||
|
{
|
||||||
|
public static IHostBuilder AddDBContext(this IHostBuilder host)
|
||||||
|
{
|
||||||
|
host.ConfigureServices((context,services) =>
|
||||||
|
{
|
||||||
|
string connectionString = "";
|
||||||
|
Action<DbContextOptionsBuilder> configureDbContext = null;
|
||||||
|
string databaseToUse = context.Configuration.GetConnectionString("databaseToUse");
|
||||||
|
if(databaseToUse.Equals("default"))
|
||||||
|
{
|
||||||
|
connectionString = context.Configuration.GetConnectionString("default");
|
||||||
|
configureDbContext = o => o.UseNpgsql(connectionString);
|
||||||
|
}
|
||||||
|
else if(databaseToUse.Equals("sqlite"))
|
||||||
|
{
|
||||||
|
connectionString = context.Configuration.GetConnectionString("sqlite");
|
||||||
|
configureDbContext = o => o.UseSqlite(connectionString);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
services.AddDbContext<DaSaSoDbContext>(configureDbContext);
|
||||||
|
services.AddSingleton<DaSaSoDbContextFactory>(new DaSaSoDbContextFactory(configureDbContext));
|
||||||
|
});
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
37
DaSaSo.Wpf/HostBuilders/AddServicesHostBuilderExtensions.cs
Normal file
37
DaSaSo.Wpf/HostBuilders/AddServicesHostBuilderExtensions.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
|
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||||
|
using DaSaSo.Domain.Services.ProjectServices;
|
||||||
|
using DaSaSo.Domain.Services.SewerObjectService;
|
||||||
|
using DaSaSo.Domain.Services.SewerPointServices;
|
||||||
|
using DaSaSo.EntityFramework.Services;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Wpf.HostBuilders
|
||||||
|
{
|
||||||
|
public static class AddServicesHostBuilderExtensions
|
||||||
|
{
|
||||||
|
public static IHostBuilder AddServices(this IHostBuilder host)
|
||||||
|
{
|
||||||
|
host.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddSingleton<IDataService<Client>, ClientDataService>();
|
||||||
|
services.AddSingleton<IDataService<Project>, ProjectDataService>();
|
||||||
|
services.AddSingleton<IDataService<Buildingsite>, BuildingsiteDataService>();
|
||||||
|
services.AddSingleton<IDataService<SewerObject>, SewerObjectDataService>();
|
||||||
|
services.AddSingleton<IDataService<SewerPoint>, SewerpointDataService>();
|
||||||
|
services.AddSingleton<IProjectService, ProjectService>();
|
||||||
|
services.AddSingleton<IBuildingsiteService, BuildingsiteService>();
|
||||||
|
services.AddSingleton<ISewerObjectService, SewerObjectService>();
|
||||||
|
services.AddSingleton<ISewerpointService, SewerpointService>();
|
||||||
|
});
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
DaSaSo.Wpf/HostBuilders/AddStoresHostBuilderExtensions.cs
Normal file
27
DaSaSo.Wpf/HostBuilders/AddStoresHostBuilderExtensions.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using DaSaSo.ViewModel.Interface;
|
||||||
|
using DaSaSo.ViewModel.State.ActualState;
|
||||||
|
using DaSaSo.ViewModel.State.Navigation;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Wpf.HostBuilders
|
||||||
|
{
|
||||||
|
public static class AddStoresHostBuilderExtensions
|
||||||
|
{
|
||||||
|
public static IHostBuilder AddStores(this IHostBuilder host)
|
||||||
|
{
|
||||||
|
host.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddSingleton<IActualProject, ActualProject>();
|
||||||
|
services.AddSingleton<IMainWindowNavigator, MainWindowNavigator>();
|
||||||
|
services.AddSingleton<ISewerMainNavigator, SewerMainNavigator>();
|
||||||
|
});
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
121
DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs
Normal file
121
DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
|
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||||
|
using DaSaSo.Domain.Services.ProjectServices;
|
||||||
|
using DaSaSo.Domain.Services.SewerObjectService;
|
||||||
|
using DaSaSo.Domain.Services.SewerPointServices;
|
||||||
|
using DaSaSo.ViewModel;
|
||||||
|
using DaSaSo.ViewModel.Factories;
|
||||||
|
using DaSaSo.ViewModel.Interface;
|
||||||
|
using DaSaSo.ViewModel.State.Navigation;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace DaSaSo.Wpf.HostBuilders
|
||||||
|
{
|
||||||
|
public static class AddViewModelsHostBuilderExtensions
|
||||||
|
{
|
||||||
|
public static IHostBuilder AddViewModels(this IHostBuilder host)
|
||||||
|
{
|
||||||
|
host.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
|
||||||
|
services.AddTransient<MainWindowViewModel>();
|
||||||
|
services.AddSingleton<ClientListViewModel>();
|
||||||
|
|
||||||
|
services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
|
||||||
|
{
|
||||||
|
return () => new HomeViewModel();
|
||||||
|
});
|
||||||
|
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.AddTransient<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.GetRequiredService<ISewerpointService>()
|
||||||
|
);
|
||||||
|
});
|
||||||
|
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<IViewModelAbstractFactory, MainWindowViewModelFactory>();
|
||||||
|
services.AddSingleton<IViewModelSewerMainFactory, SewerWindowViewModelFactory>();
|
||||||
|
});
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
using DaSaSo.ViewModel.Interface;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows;
|
|
||||||
|
|
||||||
namespace DaSaSo.Wpf.Service
|
|
||||||
{
|
|
||||||
class WindowService
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
d:DesignHeight="450" d:DesignWidth="800">
|
d:DesignHeight="450" d:DesignWidth="800">
|
||||||
<Grid>
|
<Grid>
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<DataGrid ItemsSource="{Binding Buildingsites}" SelectedItem="{Binding SelectedBuildingsite}" />
|
<DataGrid ItemsSource="{Binding Buildingsites}" SelectedItem="{Binding SelectedBuildingsite}" IsReadOnly="True" />
|
||||||
<Button Content="Selektiere" Command="{Binding SelectCommand}" />
|
<Button Content="Selektiere" Command="{Binding SelectCommand}" />
|
||||||
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
|
<Button Content="Hinzufügen" Command="{Binding AddCommand}" />
|
||||||
<Button Content="Bearbeiten" Command="{Binding EditCommand}" />
|
<Button Content="Bearbeiten" Command="{Binding EditCommand}" />
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
<DataTemplate DataType="{x:Type viewmodel:SewerStammdatenViewModel}">
|
<DataTemplate DataType="{x:Type viewmodel:SewerStammdatenViewModel}">
|
||||||
<views:SewerStammdatenView />
|
<views:SewerStammdatenView />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
@@ -24,8 +25,15 @@
|
|||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Controls:SewerObjectNavigationBar Grid.Column="0" />
|
<Controls:SewerObjectNavigationBar Grid.Column="0" />
|
||||||
<ContentControl Grid.Column="1" Content="{Binding CurrentSewerViewModel}" />
|
<ContentControl Grid.Column="1" Content="{Binding CurrentSewerViewModel}" />
|
||||||
|
<StackPanel Grid.Row="1" Grid.ColumnSpan="2">
|
||||||
|
<Button Content="Speichern und Schließen" Command="{Binding SaveCommand}" />
|
||||||
<StatusBar Grid.Row="1" Grid.ColumnSpan="2">
|
<StatusBar Grid.Row="1" Grid.ColumnSpan="2">
|
||||||
<StatusBarItem Content="Dada" />
|
<StatusBarItem Content="Dada" />
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<Border Grid.RowSpan="2" Grid.ColumnSpan="2" Background="Gray" d:Visibility="Hidden" Visibility="{Binding IsLoading, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||||
|
<TextBlock Foreground="White" FontSize="50" Text="Loading" />
|
||||||
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
xmlns:View="clr-namespace:DaSaSo.Wpf.View"
|
xmlns:View="clr-namespace:DaSaSo.Wpf.View"
|
||||||
xmlns:local="clr-namespace:DaSaSo.Wpf" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
|
xmlns:local="clr-namespace:DaSaSo.Wpf" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Cosysda Sanierungs Software" Height="450" Width="800" WindowState="Maximized" FontSize="20">
|
Title="{Binding ApplicationTitle}" Height="450" Width="800" WindowState="Maximized" FontSize="20">
|
||||||
<Window.Resources>
|
<Window.Resources>
|
||||||
<DataTemplate DataType="{x:Type viewmodel:ClientListViewModel}">
|
<DataTemplate DataType="{x:Type viewmodel:ClientListViewModel}">
|
||||||
<ClientViews:ClientListView />
|
<ClientViews:ClientListView />
|
||||||
@@ -49,14 +49,14 @@
|
|||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition />
|
<RowDefinition />
|
||||||
<RowDefinition Height="20" />
|
<RowDefinition Height="40" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<controls:MainWindowNavigationBar Grid.Column="0" Grid.Row="0"/>
|
<controls:MainWindowNavigationBar Grid.Column="0" Grid.Row="0"/>
|
||||||
<ContentControl Grid.Column="1" Grid.Row="0" Content="{Binding CurrentViewModel}" />
|
<ContentControl Grid.Column="1" Grid.Row="0" Content="{Binding CurrentViewModel}" />
|
||||||
<StatusBar Grid.Row="1" Grid.ColumnSpan="2">
|
<StatusBar FontSize="20" Grid.Row="1" Grid.ColumnSpan="2">
|
||||||
<StatusBarItem Content="{Binding ClientName}" />
|
<StatusBarItem FontSize="20" Content="{Binding ClientName}" />
|
||||||
<StatusBarItem Content="{Binding Projektname}" />
|
<StatusBarItem FontSize="20" Content="{Binding Projektname}" />
|
||||||
<StatusBarItem Content="{Binding Buildingsitename}" />
|
<StatusBarItem FontSize="20" Content="{Binding Buildingsitename}" />
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"default": "Host = localhost; Database = dasaso; Username = kansan; Password = kansan"
|
"databaseToUse": "sqlite",
|
||||||
|
"default": "Host = localhost; Database = dasaso; Username = kansan; Password = kansan",
|
||||||
|
"sqlite": "Data Source=database.db"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user