Kundenedit hinzugefügt
Neue Kunden werden gleich zur Editseite weitergeleitet Kunden können gelöscht werden
This commit is contained in:
@@ -21,7 +21,7 @@ namespace KanSan.Base
|
|||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
{
|
{
|
||||||
optionsBuilder.UseNpgsql("Host = localhost; Database = kanSan; Username = kansan; Password = kansan");
|
optionsBuilder.UseNpgsql("Host = 192.168.122.1; Database = kanSan; Username = kansan; Password = kansan");
|
||||||
//optionsBuilder.UseSqlite("Data Source=kansan.db");
|
//optionsBuilder.UseSqlite("Data Source=kansan.db");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
using KanSan.Base;
|
using KanSan.Base;
|
||||||
using KanSan.Base.Interfaces;
|
using KanSan.Base.Interfaces;
|
||||||
using KanSan.Base.Models;
|
using KanSan.Base.Models;
|
||||||
|
using KanSan.ViewModel.Commands;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
namespace KanSan.ViewModel
|
namespace KanSan.ViewModel
|
||||||
{
|
{
|
||||||
@@ -20,6 +23,9 @@ namespace KanSan.ViewModel
|
|||||||
private string plz;
|
private string plz;
|
||||||
private string ort;
|
private string ort;
|
||||||
|
|
||||||
|
public ICommand SaveClient { get; set; }
|
||||||
|
public ICommand RemoveClient { get; set; }
|
||||||
|
|
||||||
#region getters
|
#region getters
|
||||||
public string Vorname
|
public string Vorname
|
||||||
{
|
{
|
||||||
@@ -88,11 +94,8 @@ namespace KanSan.ViewModel
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public KundenEditViewModel(Kunde kunde = null)
|
public KundenEditViewModel(Kunde kunde)
|
||||||
{
|
{
|
||||||
if (kunde == null)
|
|
||||||
_kunde = unitOfWork.KundenRepository.Get().First();
|
|
||||||
else
|
|
||||||
_kunde = kunde;
|
_kunde = kunde;
|
||||||
|
|
||||||
vorname = _kunde.Vorname;
|
vorname = _kunde.Vorname;
|
||||||
@@ -100,10 +103,21 @@ namespace KanSan.ViewModel
|
|||||||
strasse = _kunde.Strasse;
|
strasse = _kunde.Strasse;
|
||||||
plz = _kunde.PLZ;
|
plz = _kunde.PLZ;
|
||||||
ort = _kunde.Ort;
|
ort = _kunde.Ort;
|
||||||
|
|
||||||
|
SaveClient = new RelayCommand(parameter => Speichern());
|
||||||
|
RemoveClient = new RelayCommand(parameter => Remove());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Speichern()
|
private void Remove()
|
||||||
{
|
{
|
||||||
|
unitOfWork.KundenRepository.Delete(_kunde);
|
||||||
|
unitOfWork.Commit();
|
||||||
|
Mediator.Notify("GoToListClientScreen");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Speichern()
|
||||||
|
{
|
||||||
|
Trace.WriteLine("Speichere");
|
||||||
_kunde.Vorname = Vorname;
|
_kunde.Vorname = Vorname;
|
||||||
_kunde.Nachname = Nachname;
|
_kunde.Nachname = Nachname;
|
||||||
_kunde.Strasse = Strasse;
|
_kunde.Strasse = Strasse;
|
||||||
@@ -112,6 +126,7 @@ namespace KanSan.ViewModel
|
|||||||
|
|
||||||
unitOfWork.KundenRepository.Update(_kunde);
|
unitOfWork.KundenRepository.Update(_kunde);
|
||||||
unitOfWork.Commit();
|
unitOfWork.Commit();
|
||||||
|
Mediator.Notify("GoToListClientScreen");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,16 @@ namespace KanSan.ViewModel
|
|||||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||||
private List<Kunde> kunden;
|
private List<Kunde> kunden;
|
||||||
|
|
||||||
|
private Kunde selectedKunde;
|
||||||
|
public Kunde SelectedKunde {
|
||||||
|
get { return selectedKunde; }
|
||||||
|
set {
|
||||||
|
selectedKunde = value;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
public ICommand AddNewClientCommand { get; set; }
|
public ICommand AddNewClientCommand { get; set; }
|
||||||
|
public ICommand EditClientCommand { get; set; }
|
||||||
|
|
||||||
public List<Kunde> Kunden
|
public List<Kunde> Kunden
|
||||||
{
|
{
|
||||||
@@ -31,23 +40,33 @@ namespace KanSan.ViewModel
|
|||||||
{
|
{
|
||||||
kunden = unitOfWork.KundenRepository.Get().ToList();
|
kunden = unitOfWork.KundenRepository.Get().ToList();
|
||||||
|
|
||||||
AddNewClientCommand = new RelayCommand(parameter => NeueKunde());
|
AddNewClientCommand = new RelayCommand(parameter => NewClient());
|
||||||
|
EditClientCommand = new RelayCommand(parameter => EditClient());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Kunde NeueKunde()
|
private void NewClient()
|
||||||
{
|
{
|
||||||
Kunde result = new Kunde();
|
Kunde newClient = NeueKunde();
|
||||||
//result.ID = 1;
|
Mediator.Notify("GoToEditClientScreen", newClient);
|
||||||
result.GuidNr = Guid.NewGuid();
|
}
|
||||||
|
|
||||||
|
private void EditClient()
|
||||||
|
{
|
||||||
|
if (SelectedKunde == null) return;
|
||||||
|
Mediator.Notify("GoToEditClientScreen",selectedKunde);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private Kunde NeueKunde()
|
||||||
|
{
|
||||||
|
Kunde result = new Kunde()
|
||||||
|
{
|
||||||
|
GuidNr = Guid.NewGuid()
|
||||||
|
};
|
||||||
|
|
||||||
unitOfWork.KundenRepository.Insert(result);
|
unitOfWork.KundenRepository.Insert(result);
|
||||||
unitOfWork.Commit();
|
unitOfWork.Commit();
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
//IEnumerable<Kunde> kunden = unitOfWork.KundenRepository.Get(d => d.GuidNr.Equals(result.GuidNr));
|
|
||||||
//if (kunden.Count() < 1)
|
|
||||||
// throw new Exception("Kunde konnte nicht gefunden werden");
|
|
||||||
|
|
||||||
//return kunden.First();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,11 +241,19 @@ namespace KanSan.ViewModel
|
|||||||
ListBaustellenCommand = new RelayCommand(paramter => ListBaustellen());
|
ListBaustellenCommand = new RelayCommand(paramter => ListBaustellen());
|
||||||
ListObjectsCommand = new RelayCommand(parameter => ListObjekte());
|
ListObjectsCommand = new RelayCommand(parameter => ListObjekte());
|
||||||
|
|
||||||
Mediator.Subscribe("GoTo1Screen", OnGo1Screen);
|
Mediator.Subscribe("GoToListClientScreen", OnGoToListClientScreen);
|
||||||
|
Mediator.Subscribe("GoToEditClientScreen", OnGoToEditClientScreen);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnGo1Screen(object obj)
|
private void OnGoToEditClientScreen(object obj)
|
||||||
|
{
|
||||||
|
if (!(obj is Kunde)) return;
|
||||||
|
Kunde client = (obj as Kunde);
|
||||||
|
EditClient(client);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGoToListClientScreen(object obj)
|
||||||
{
|
{
|
||||||
ListClients();
|
ListClients();
|
||||||
}
|
}
|
||||||
@@ -263,6 +271,10 @@ namespace KanSan.ViewModel
|
|||||||
{
|
{
|
||||||
ActualViewModel = new KundenListViewModel();
|
ActualViewModel = new KundenListViewModel();
|
||||||
}
|
}
|
||||||
|
private void EditClient(Kunde client)
|
||||||
|
{
|
||||||
|
ActualViewModel = new KundenEditViewModel(client);
|
||||||
|
}
|
||||||
|
|
||||||
private void ListProjekte()
|
private void ListProjekte()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
<RowDefinition />
|
<RowDefinition />
|
||||||
<RowDefinition />
|
<RowDefinition />
|
||||||
<RowDefinition />
|
<RowDefinition />
|
||||||
|
<RowDefinition />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition />
|
<ColumnDefinition />
|
||||||
@@ -26,7 +27,8 @@
|
|||||||
<Label Grid.Column="0" Grid.Row="3">Plz</Label>
|
<Label Grid.Column="0" Grid.Row="3">Plz</Label>
|
||||||
<Label Grid.Column="0" Grid.Row="4">Ort</Label>
|
<Label Grid.Column="0" Grid.Row="4">Ort</Label>
|
||||||
|
|
||||||
<Button Name="Speichern" Content="Speichern" Grid.Row="5" Grid.ColumnSpan="2" Click="Speichern_Click" />
|
<Button Name="Speichern" Content="Speichern" Grid.Row="5" Grid.ColumnSpan="2" Command="{Binding SaveClient}" />
|
||||||
|
<Button Content="Löschen" Grid.Row="6" Grid.ColumnSpan="2" Command="{Binding RemoveClient}" />
|
||||||
|
|
||||||
<TextBox Grid.Column="1" Grid.Row="0" Text="{Binding Vorname}" />
|
<TextBox Grid.Column="1" Grid.Row="0" Text="{Binding Vorname}" />
|
||||||
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Nachname}" />
|
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Nachname}" />
|
||||||
|
|||||||
@@ -22,30 +22,9 @@ namespace KanSan.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class UCKundeEdit : UserControl
|
public partial class UCKundeEdit : UserControl
|
||||||
{
|
{
|
||||||
public event EventHandler SpeichernClicked;
|
public UCKundeEdit()
|
||||||
|
|
||||||
protected virtual void OnSpeichernKlicked(EventArgs e)
|
|
||||||
{
|
|
||||||
EventHandler handler = SpeichernClicked;
|
|
||||||
if (handler != null)
|
|
||||||
handler(this, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
//private Kunde kunde = null;
|
|
||||||
//private UnitOfWork unitOfWork = null;
|
|
||||||
public UCKundeEdit(Kunde kunde = null)
|
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
|
||||||
this.DataContext = new KundenEditViewModel(kunde);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Speichern_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
((KundenEditViewModel)DataContext).Speichern();
|
|
||||||
OnSpeichernKlicked(EventArgs.Empty);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,15 +17,15 @@
|
|||||||
<RowDefinition Height="50"/>
|
<RowDefinition Height="50"/>
|
||||||
<RowDefinition Height="50" />
|
<RowDefinition Height="50" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<DataGrid AutoGenerateColumns="False" SelectionMode="Single" ItemsSource="{Binding Kunden}" Name="dgKundenList">
|
<DataGrid IsReadOnly="True" AutoGenerateColumns="False" SelectionMode="Single" SelectedItem="{Binding SelectedKunde, Mode=TwoWay}" ItemsSource="{Binding Kunden}" Name="dgKundenList">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="Vorname" Binding="{Binding Vorname}" />
|
<DataGridTextColumn Header="Vorname" Binding="{Binding Vorname}" />
|
||||||
<DataGridTextColumn Header="Nachname" Binding="{Binding Nachname}" />
|
<DataGridTextColumn Header="Nachname" Binding="{Binding Nachname}" />
|
||||||
<DataGridTextColumn Header="Ort" Binding="{Binding Ort}" />
|
<DataGridTextColumn Header="Ort" Binding="{Binding Ort}" />
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
<Button Grid.Row="1" Name="SelectKunde" Content="Kunde Auswählen" Click="SelectKunde_Click" />
|
<Button Grid.Row="1" Name="SelectKunde" Content="Kunde Auswählen" />
|
||||||
<Button Grid.Row="2" Name="EditKunde" Content="Kunde Editieren" Click="EditKunde_Click" />
|
<Button Grid.Row="2" Name="EditKunde" Content="Kunde Editieren" Command="{Binding EditClientCommand}" />
|
||||||
<Button Grid.Row="3" Name="NeueKunde" Content="Neue Kunde anlegen" Command="{Binding AddNewClientCommand}" />
|
<Button Grid.Row="3" Name="NeueKunde" Content="Neue Kunde anlegen" Command="{Binding AddNewClientCommand}" />
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@@ -21,54 +21,10 @@ namespace KanSan.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class UCKundeList : UserControl
|
public partial class UCKundeList : UserControl
|
||||||
{
|
{
|
||||||
public event EventHandler<KundeAddedKlickEventArgs> KundeAdded;
|
|
||||||
public event EventHandler<KundeAddedKlickEventArgs> KundeSelect;
|
|
||||||
public UCKundeList()
|
public UCKundeList()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.DataContext = new KundenListViewModel();
|
this.DataContext = new KundenListViewModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void NeueKunde_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
KundeAddedKlickEventArgs args = new KundeAddedKlickEventArgs();
|
|
||||||
args.kunde = (DataContext as KundenListViewModel).NeueKunde();
|
|
||||||
OnClickKundeAdded(args);
|
|
||||||
|
|
||||||
}
|
|
||||||
protected virtual void OnClickKundeAdded(KundeAddedKlickEventArgs e)
|
|
||||||
{
|
|
||||||
EventHandler<KundeAddedKlickEventArgs> handler = KundeAdded;
|
|
||||||
if (handler != null)
|
|
||||||
handler(this, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void OnClickSelectedKunde(KundeAddedKlickEventArgs e)
|
|
||||||
{
|
|
||||||
EventHandler<KundeAddedKlickEventArgs> handler = KundeSelect;
|
|
||||||
if (handler != null)
|
|
||||||
handler(this, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void EditKunde_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
Kunde selectedKunde = (dgKundenList.SelectedItem as Kunde);
|
|
||||||
if (selectedKunde == null) return;
|
|
||||||
|
|
||||||
OnClickKundeAdded(new KundeAddedKlickEventArgs() { kunde = selectedKunde });
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SelectKunde_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
Kunde selectedKunde = (dgKundenList.SelectedItem as Kunde);
|
|
||||||
if (selectedKunde == null) return;
|
|
||||||
OnClickSelectedKunde(new KundeAddedKlickEventArgs() { kunde = selectedKunde });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class KundeAddedKlickEventArgs : EventArgs
|
|
||||||
{
|
|
||||||
public Kunde kunde { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
<DataTemplate DataType="{x:Type vm:KundenListViewModel}">
|
<DataTemplate DataType="{x:Type vm:KundenListViewModel}">
|
||||||
<l:UCKundeList/>
|
<l:UCKundeList/>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
<DataTemplate DataType="{x:Type vm:KundenEditViewModel}">
|
||||||
|
<l:UCKundeEdit/>
|
||||||
|
</DataTemplate>
|
||||||
<DataTemplate DataType="{x:Type vm:ProjektListViewModel}">
|
<DataTemplate DataType="{x:Type vm:ProjektListViewModel}">
|
||||||
<l:UCProjektList/>
|
<l:UCProjektList/>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|||||||
Reference in New Issue
Block a user