using KanSan.Base.Models; using KanSan.ViewModel; using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace KanSan.UI { /// /// Interaktionslogik für UCProjektList.xaml /// public partial class UCProjektList : UserControl { public event EventHandler ProjektAdded; public event EventHandler ProjektEdited; public event EventHandler ProjektSelected; public UCProjektList() { InitializeComponent(); } public UCProjektList(Kunde selectedKunde) { InitializeComponent(); this.DataContext = new ProjektListViewModel(selectedKunde); } private void ProjektSelect_Click(object sender, RoutedEventArgs e) { Projekt selectedProjekt = (dgProjekte.SelectedItem as Projekt); if (selectedProjekt == null) return; OnClickProjektSelect(new SelectProjektEventArgs() { projekt = selectedProjekt }); } private void ProjektEdit_Click(object sender, RoutedEventArgs e) { Projekt selectedProjekt = (dgProjekte.SelectedItem as Projekt); if (selectedProjekt == null) return; OnClickProjektEdit(new SelectProjektEventArgs() { projekt = selectedProjekt }); } private void ProjektNew_Click(object sender, RoutedEventArgs e) { OnClickProjektAdd( new SelectProjektEventArgs() { projekt = (DataContext as ProjektListViewModel).NeueProjekt() }); } protected virtual void OnClickProjektSelect(SelectProjektEventArgs e) { EventHandler handler = ProjektSelected; if (handler != null) handler(this, e); } protected virtual void OnClickProjektEdit(SelectProjektEventArgs e) { EventHandler handler = ProjektEdited; if (handler != null) handler(this, e); } protected virtual void OnClickProjektAdd(SelectProjektEventArgs e) { EventHandler handler = ProjektAdded; if (handler != null) handler(this, e); } } public class SelectProjektEventArgs : EventArgs { public Projekt projekt { get; set; } } }