Basic Implemetation of all needed function to take Books and create Students etc.

Missing is the automatic Server Identification and Signing Stuff
This commit is contained in:
Fabian Stamm 2017-05-18 12:57:50 +02:00
parent 90b097f73d
commit 129e0679cd
60 changed files with 1799 additions and 44069 deletions

View File

@ -0,0 +1,67 @@
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO.Compression;
namespace BuechermarktClient
{
public class Backup
{
public static void MakeBackup() {
string folder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
string backupfolder = folder + "\\backups";
if (!Directory.Exists(backupfolder)){
Directory.CreateDirectory(backupfolder);
}
string tbackupfoldername = "" + (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
string tbackupfolder = backupfolder + "\\" + tbackupfoldername;
Directory.CreateDirectory(tbackupfolder);
var bt = MainWindow.BookTypeCollection.Find(e => true).ToList();
var json = JsonConvert.SerializeObject(bt);
StringToFile(tbackupfolder + "\\BookTypes.json", json);
var b = MainWindow.BookCollection.Find(e => true).ToList();
json = JsonConvert.SerializeObject(b);
StringToFile(tbackupfolder + "\\Book.json", json);
var s = MainWindow.StudentCollection.Find(e => true).ToList();
json = JsonConvert.SerializeObject(s);
StringToFile(tbackupfolder + "\\Students.json", json);
ZipFile.CreateFromDirectory(tbackupfolder, tbackupfolder + ".zip");
DeleteDirectory(tbackupfolder);
}
private static void StringToFile(string filepath, string json)
{
//File.Create(filepath);
File.WriteAllText(filepath, json);
}
public static void DeleteDirectory(string target_dir)
{
string[] files = Directory.GetFiles(target_dir);
string[] dirs = Directory.GetDirectories(target_dir);
foreach (string file in files)
{
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
}
foreach (string dir in dirs)
{
DeleteDirectory(dir);
}
Directory.Delete(target_dir, false);
}
}
}

View File

@ -8,10 +8,19 @@
Title="BookTypes" Height="300" Width="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<ListView Grid.Row="0" Margin="0,0,0,0" Name="BookTypesList">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="Search:" Grid.Column="0"></Label>
<TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox>
</Grid>
<ListView Grid.Row="1" Margin="0,0,0,0" Name="BookTypesList">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="Auto"></GridViewColumn>

View File

@ -1,19 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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.Shapes;
using BuechermarktClient.Models;
using System.Threading;
using MongoDB.Driver;
using System.Collections.Generic;
namespace BuechermarktClient
{
@ -25,8 +18,32 @@ namespace BuechermarktClient
public Thread RefreshThread = null;
private bool ThreadRunning = true;
public BookTypes()
public bool Chooser = false;
private string _SearchField;
public string SearchField {
get
{
return _SearchField;
}
set
{
if(value != _SearchField)
{
_SearchField = value;
LoadList();
}
}
}
public BookType SelectedItem { get; private set; }
public BookTypes() : this(false) { }
public BookTypes(bool select)
{
DataContext = this;
Chooser = select;
InitializeComponent();
RefreshThread = new Thread(RefreshThreadS);
RefreshThread.Start();
@ -51,8 +68,21 @@ namespace BuechermarktClient
public void LoadList()
{
var list = MainWindow.BookTypeCollection.FindSync((b)=>true).ToList();
var show = new List<BookType>();
if(SearchField != null && SearchField != String.Empty)
{
foreach(var e in list)
{
if (e.ISBN.ToLower().Contains(SearchField.ToLower()) || e.Name.ToLower().Contains(SearchField.ToLower()))
{
show.Add(e);
}
}
} else {
show = list;
}
Dispatcher.BeginInvoke(new Action(delegate (){
BookTypesList.ItemsSource = list;
BookTypesList.ItemsSource = show;
}));
}
@ -67,13 +97,22 @@ namespace BuechermarktClient
private void ListViewItem_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
var item = sender as ListViewItem;
if (item != null && item.IsSelected)
if (sender is ListViewItem item && item.IsSelected)
{
var editWindow = new BookTypesEdit(item.DataContext as BookType) {
Owner = this
};
editWindow.Show();
SelectedItem = item.DataContext as BookType;
if (Chooser)
{
DialogResult = true;
Close();
}
else
{
var editWindow = new BookTypesEdit(item.DataContext as BookType)
{
Owner = this
};
editWindow.Show();
}
}
}
}

View File

@ -0,0 +1,39 @@
<Window x:Class="BuechermarktClient.Books"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BuechermarktClient"
mc:Ignorable="d"
Title="Books" Height="300" Width="600">
<Window.Resources>
<local:EnumConverter x:Key="EnumConverter"/>
<local:StudentConverter x:Key="StudentConverter"/>
<local:BookTypeConverter x:Key="BookTypeConverter"/>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<ListView Grid.Row="0" Margin="0,0,0,0" Name="BooksList">
<ListView.View>
<GridView>
<GridViewColumn Header="Status" DisplayMemberBinding="{Binding Path=State, Converter={StaticResource EnumConverter}}" Width="Auto"></GridViewColumn>
<GridViewColumn Header="Label" DisplayMemberBinding="{Binding LabelId}" Width="Auto"></GridViewColumn>
<GridViewColumn Header="Preis" DisplayMemberBinding="{Binding Price}" Width="Auto"></GridViewColumn>
<GridViewColumn Header="Schüler" DisplayMemberBinding="{Binding Path=Student, Converter={StaticResource StudentConverter}}" Width="Auto"></GridViewColumn>
<GridViewColumn Header="Buchtyp" DisplayMemberBinding="{Binding Path=BookType, Converter={StaticResource BookTypeConverter}}" Width="Auto"></GridViewColumn>
</GridView>
</ListView.View>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseDoubleClick" Handler="ListViewItem_PreviewMouseUp"></EventSetter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
<Button Grid.Row="2" Content="Hinzufügen" VerticalAlignment="Center" Click="AddNew_Click">
</Button>
</Grid>
</Window>

View File

@ -0,0 +1,120 @@
using System;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using MongoDB.Driver;
using System.Windows.Data;
using System.Globalization;
using MongoDB.Bson;
namespace BuechermarktClient
{
[ValueConversion(typeof(object), typeof(string))]
public class EnumConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value?.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
[ValueConversion(typeof(object), typeof(string))]
public class StudentConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var i = MainWindow.StudentCollection.Find(s => s.ID == (ObjectId)value).FirstOrDefault();
if (i == null) return value;
return i.Lastname + ", " + i.Forname;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
[ValueConversion(typeof(object), typeof(string))]
public class BookTypeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var i = MainWindow.BookTypeCollection.Find(bt => bt.ID == (ObjectId)value).FirstOrDefault();
if (i == null) return value;
return i.Name;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
/// <summary>
/// Interaktionslogik für Books.xaml
/// </summary>
public partial class Books : Window
{
public Thread RefreshThread = null;
private bool ThreadRunning = true;
public Books()
{
InitializeComponent();
RefreshThread = new Thread(RefreshThreadS);
RefreshThread.Start();
RefreshThread.IsBackground = true;
Closing += Book_Closing;
}
private void Book_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
ThreadRunning = false;
}
public void RefreshThreadS()
{
while (ThreadRunning)
{
LoadList();
Thread.Sleep(1000);
}
}
public void LoadList()
{
var list = MainWindow.BookCollection.FindSync((b) => true).ToList();
Dispatcher.BeginInvoke(new Action(delegate () {
BooksList.ItemsSource = list;
}));
}
private void AddNew_Click(object sender, RoutedEventArgs e)
{
var editWindow = new BooksEdit(null)
{
Owner = this
};
editWindow.Show();
}
private void ListViewItem_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
if (sender is ListViewItem item && item.IsSelected)
{
var editWindow = new BooksEdit(item.DataContext as Models.Book)
{
Owner = this
};
editWindow.Show();
}
}
}
}

View File

@ -0,0 +1,82 @@
<Window x:Class="BuechermarktClient.BooksEdit"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BuechermarktClient"
mc:Ignorable="d"
Title="Buch" Height="360" Width="300">
<Window.Resources>
<local:StringConverter x:Key="StringConverter"/>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<Label Content="Buch LabelId" Margin="10,0"></Label>
<TextBox Margin="10,0" Text="{Binding Path=LabelId, Mode=TwoWay}" IsEnabled="{Binding New}"></TextBox>
<Label Content="Buch Typ:" Margin="10,0"></Label>
<Grid Margin="10,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBox Margin="0,0,5,0" Text="{Binding Path=BookTypeISBN, Mode=TwoWay}"></TextBox>
<Button Grid.Column="1" Width="20" Click="SelectBookType_Click" Content="S" Height="20" VerticalAlignment="Top"></Button>
</Grid>
<Label Content="Schüler LabelId:" Margin="10,0"></Label>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBox Margin="10,0,5,0" Text="{Binding Path=StudentLabelId, Mode=TwoWay}"></TextBox>
<Button Grid.Column="1" Width="20" Margin="0,0,10,0" Click="SelectStudent_Click" Content="S"/>
</Grid>
<Label Content="Preis:" Margin="10,0"></Label>
<TextBox Margin="10,0" Text="{Binding Path=Price, Mode=TwoWay, Converter={StaticResource StringConverter}}"></TextBox>
<Label Content="Status:" Margin="10,0"></Label>
<ComboBox Margin="10,0" SelectedItem="{Binding Path=ComboState, Mode=TwoWay}" SelectedValue="{Binding Name}" Name="StateComboBox" DisplayMemberPath="Name"></ComboBox>
<Grid Margin="10,10,10,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="Speichern" Click="Save_Click" Margin="0,0,5,0"></Button>
<Button Grid.Column="1" Content="Löschen" Click="Delete_Click" Margin="5,0,0,0"></Button>
</Grid>
</StackPanel>
<StackPanel Grid.Column="1">
<GroupBox Header="Buch Typ" VerticalAlignment="Top">
<StackPanel>
<Label Content="Name:" Margin="10,0"/>
<TextBox Text="{Binding Path=BookType.Name, Mode=OneWay}" Margin="10,0" IsEnabled="False"></TextBox>
<Label Content="ISBN:" Margin="10,0"></Label>
<TextBox Text="{Binding Path=BookType.ISBN, Mode=OneWay}" Margin="10,0" IsEnabled="False"></TextBox>
<Button Content="Details" Margin="10,10,10,0" Click="BookTypeDetails_Click"></Button>
</StackPanel>
</GroupBox>
<GroupBox Header="Schüler" VerticalAlignment="Top">
<StackPanel>
<Label Content="Name:" Margin="10,0"/>
<TextBox Margin="10,0" IsEnabled="False">
<TextBox.Text>
<MultiBinding StringFormat="{}{0}, {1}">
<Binding Path="Student.Lastname"></Binding>
<Binding Path="Student.Forname"></Binding>
</MultiBinding>
</TextBox.Text>
</TextBox>
<Label Content="Klasse:" Margin="10,0"></Label>
<TextBox Text="{Binding Path=Student.Form, Mode=OneWay}" Margin="10,0" IsEnabled="False"></TextBox>
<Label Content="E-Mail:" Margin="10,0"></Label>
<TextBox Text="{Binding Path=Student.EMail, Mode=OneWay}" Margin="10,0" IsEnabled="False"></TextBox>
<Button Content="Details" Margin="10,10,10,0" Click="StudentDetails_Click"></Button>
</StackPanel>
</GroupBox>
</StackPanel>
</Grid>
</Window>

View File

@ -0,0 +1,266 @@
using BuechermarktClient.Models;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using MongoDB.Driver;
using MongoDB.Bson;
using System.Collections.Generic;
using System.Windows.Data;
using System;
using System.Globalization;
namespace BuechermarktClient
{
[ValueConversion(typeof(object), typeof(string))]
public class StringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value?.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if(value == null) return null;
if (!double.TryParse((string)value, out double outD)) return null;
return outD;
}
}
/// <summary>
/// Interaktionslogik für BookEdit.xaml
/// </summary>
public partial class BooksEdit : Window, INotifyPropertyChanged
{
private bool New = false;
private Book Book = null;
public string LabelId
{
get
{
return Book.LabelId;
}
set
{
if(value != Book.LabelId)
{
Book.LabelId = value;
OnPropertyChanged("LabelId");
}
}
}
public Student Student
{
get
{
return MainWindow.StudentCollection.Find(s => s.ID == Book.Student).FirstOrDefault();
}
set
{
if (value != null && value.ID != Book.Student)
{
Book.Student = value.ID;
OnPropertyChanged("Student");
} else if(value == null)
{
Book.Student = new MongoDB.Bson.ObjectId("0");
}
}
}
public string StudentLabelId
{
get
{
return Student?.LabelId;
}
set
{
var st = Student;
if (st == null || value != st.LabelId)
{
Student = MainWindow.StudentCollection.Find(s => s.LabelId.Equals(value)).FirstOrDefault();
OnPropertyChanged("StudentLabelId");
}
}
}
public class ComboS
{
public ComboS(string name,BookState state)
{
Name = name;
Sate = state;
}
public string Name { get; set; }
public BookState Sate { get; set; }
}
public List<ComboS> StatesList;
public ComboS ComboState
{
get
{
return StatesList.FirstOrDefault(s => s.Sate == Book.State);
}
set
{
if(value.Sate != Book.State)
{
Book.State = value.Sate;
OnPropertyChanged("ComboState");
}
}
}
public double Price
{
get
{
return Book.Price;
}
set
{
if(value != Book.Price)
{
Book.Price = value;
OnPropertyChanged("Price");
}
}
}
public BookType BookType
{
get
{
return MainWindow.BookTypeCollection.Find(b => b.ID == Book.BookType).FirstOrDefault();
}
set
{
if (value != null && value.ID != Book.BookType)
{
Book.BookType = value.ID;
OnPropertyChanged("BookType");
}
else if (value == null)
{
Book.BookType = new ObjectId("0");
}
}
}
public string BookTypeISBN
{
get
{
return BookType?.ISBN;
}
set
{
var bt = BookType;
if(bt == null || value != bt.ISBN)
{
BookType = MainWindow.BookTypeCollection.Find(b => b.ISBN == value).FirstOrDefault();
OnPropertyChanged("BookTypeISBN");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public BooksEdit(Book book)
{
StatesList = new List<ComboS>
{
new ComboS("Im Lager", BookState.InStock),
new ComboS("Verkauft", BookState.Selled),
new ComboS("Verlohren", BookState.Missing),
new ComboS("Zurück an den Schüler", BookState.BackToStudent)
};
DataContext = this;
if (book == null)
{
Book = new Book();
New = true;
}
else
{
Book = book;
}
InitializeComponent();
StateComboBox.ItemsSource = StatesList;
}
private void Save_Click(object sender, RoutedEventArgs e)
{
if (New)
{
MainWindow.BookCollection.InsertOne(Book);
var oldStudent = Student;
Book = new Book();
Student = oldStudent;
Book.State = BookState.InStock;
OnPropertyChanged(string.Empty);
}
else
{
MainWindow.BookCollection.FindOneAndUpdate(b => b.ID == Book.ID, Builders<Book>.Update
.Set(b => b.Student, Book.Student)
.Set(b => b.BookType, Book.BookType)
.Set(b => b.Price, Book.Price)
.Set(b => b.State, Book.State)
.Set(b => b.LabelId, Book.LabelId));
Close();
}
}
private void Delete_Click(object sender, RoutedEventArgs e)
{
if (Book != null && Book.ID != null)
{
MainWindow.StudentCollection.DeleteOne(bt => bt.ID == Student.ID);
}
Close();
}
private void SelectBookType_Click(object sender, RoutedEventArgs e)
{
var btd = new BookTypes(true);
btd.ShowDialog();
if (btd.DialogResult == true)
{
BookTypeISBN = btd.SelectedItem.ISBN;
}
}
private void BookTypeDetails_Click(object sender, RoutedEventArgs e)
{
var bte = new BookTypesEdit(BookType);
bte.ShowDialog();
}
private void StudentDetails_Click(object sender, RoutedEventArgs e)
{
var se = new StudentsEdit(Student);
se.ShowDialog();
}
private void SelectStudent_Click(object sender, RoutedEventArgs e)
{
var sd = new Students(true);
sd.ShowDialog();
if (sd.DialogResult == true)
{
StudentLabelId = sd.SelectedItem.LabelId;
}
}
}
}

View File

@ -46,11 +46,9 @@
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="RestSharp, Version=105.2.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.105.2.3\lib\net452\RestSharp.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
</Reference>
@ -72,6 +70,14 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="Books.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="BooksEdit.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="BookTypes.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@ -96,9 +102,17 @@
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Backup.cs" />
<Compile Include="Books.xaml.cs">
<DependentUpon>Books.xaml</DependentUpon>
</Compile>
<Compile Include="BooksEdit.xaml.cs">
<DependentUpon>BooksEdit.xaml</DependentUpon>
</Compile>
<Compile Include="BookTypes.xaml.cs">
<DependentUpon>BookTypes.xaml</DependentUpon>
</Compile>
<Compile Include="SigningService.cs" />
<Compile Include="Students.xaml.cs">
<DependentUpon>Students.xaml</DependentUpon>
</Compile>

View File

@ -10,8 +10,10 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="Buchtypen" HorizontalAlignment="Left" Height="75" Margin="10,10,0,0" VerticalAlignment="Top" Width="100" Click="BookTypes_Click"/>
<Button Grid.Column="1" Content="Schüler" HorizontalAlignment="Left" Height="75" Margin="10,10,0,0" VerticalAlignment="Top" Width="100" Click="Students_Click"/>
<Button Grid.Column="2" Content="Bücher" HorizontalAlignment="Left" Height="75" Margin="10,10,0,0" VerticalAlignment="Top" Width="100" Click="Books_Click"/>
</Grid>
</Window>

View File

@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
@ -27,19 +28,39 @@ namespace BuechermarktClient
public static IMongoCollection<BookType> BookTypeCollection;
public static IMongoCollection<Book> BookCollection;
public static IMongoCollection<Student> StudentCollection;
public static string MongoHost = "localhost";
public BookTypes BookTypesWindow = null;
public Students StudentsWindow = null;
public Books BooksWindow = null;
public MainWindow()
{
InitializeComponent();
OnConnectionEstablised("localhost");
//ToDo get server informations
Mongo = new MongoClient("mongodb://localhost:27017");
}
public void OnConnectionEstablised(string hostname)
{
MongoHost = hostname;
Mongo = new MongoClient("mongodb://" + MongoHost + ":27017");
Database = Mongo.GetDatabase("buechermarkt");
BookTypeCollection = Database.GetCollection<BookType>("booktypes");
BookCollection = Database.GetCollection<Book>("books");
StudentCollection = Database.GetCollection<Student>("students");
var t = new Thread(BackupService);
t.Start();
}
private void BackupService()
{
while (true)
{
Backup.MakeBackup();
Thread.Sleep(30000);
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
@ -106,5 +127,27 @@ namespace BuechermarktClient
{
StudentsWindow = null;
}
private void Books_Click(object sender, RoutedEventArgs e)
{
if (BooksWindow == null)
{
BooksWindow = new Books()
{
Owner = this
};
BooksWindow.Show();
BooksWindow.Closed += BooksWindow_Closes;
}
else
{
BringWindowOnTop(BooksWindow);
}
}
private void BooksWindow_Closes(object sender, EventArgs e)
{
BooksWindow = null;
}
}
}

View File

@ -27,6 +27,9 @@ namespace BuechermarktClient.Models
public enum BookState
{
InStock,
Selled,
BackToStudent,
Missing
}
}

View File

@ -0,0 +1,91 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace BuechermarktClient
{
class SigningService
{
public SigningService()
{
WebServer es = new WebServer(r =>
{
return "hi";
}, "test");
es.Run();
}
}
public class WebServer
{
private readonly HttpListener _listener = new HttpListener();
private readonly Func<HttpListenerRequest, string> _responderMethod;
public WebServer(string[] prefixes, Func<HttpListenerRequest, string> method)
{
if (!HttpListener.IsSupported)
throw new NotSupportedException(
"Needs Windows XP SP2, Server 2003 or later.");
// URI prefixes are required, for example
// "http://localhost:8080/index/".
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("prefixes");
// A responder method is required
if (method == null)
throw new ArgumentException("method");
foreach (string s in prefixes)
_listener.Prefixes.Add(s);
_responderMethod = method;
_listener.Start();
}
public WebServer(Func<HttpListenerRequest, string> method, params string[] prefixes)
: this(prefixes, method) { }
public void Run()
{
ThreadPool.QueueUserWorkItem((o) =>
{
Console.WriteLine("Webserver running...");
try
{
while (_listener.IsListening)
{
ThreadPool.QueueUserWorkItem((c) =>
{
var ctx = c as HttpListenerContext;
try
{
string rstr = _responderMethod(ctx.Request);
byte[] buf = Encoding.UTF8.GetBytes(rstr);
ctx.Response.ContentLength64 = buf.Length;
ctx.Response.OutputStream.Write(buf, 0, buf.Length);
}
catch { } // suppress any exceptions
finally
{
// always close the stream
ctx.Response.OutputStream.Close();
}
}, _listener.GetContext());
}
}
catch { } // suppress any exceptions
});
}
public void Stop()
{
_listener.Stop();
_listener.Close();
}
}
}

View File

@ -8,10 +8,19 @@
Title="Students" Height="300" Width="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<ListView Grid.Row="0" Margin="0,0,0,0" Name="BookTypesList">
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="Search:" Grid.Column="0"></Label>
<TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox>
</Grid>
<ListView Grid.Row="1" Margin="0,0,0,0" Name="ViewList">
<ListView.View>
<GridView>
<GridViewColumn Header="Vorname" DisplayMemberBinding="{Binding Forname}" Width="Auto"></GridViewColumn>

View File

@ -6,6 +6,7 @@ using System.Windows.Input;
using BuechermarktClient.Models;
using System.Threading;
using MongoDB.Driver;
using System.Collections.Generic;
namespace BuechermarktClient
{
@ -17,8 +18,34 @@ namespace BuechermarktClient
public Thread RefreshThread = null;
private bool ThreadRunning = true;
public Students()
public bool Chooser = false;
private string _SearchField;
public string SearchField
{
get
{
return _SearchField;
}
set
{
if (value != _SearchField)
{
_SearchField = value;
LoadList();
}
}
}
public Student SelectedItem { get; private set; }
public Students() : this(false){ }
public Students(bool select)
{
DataContext = this;
Chooser = select;
InitializeComponent();
InitializeComponent();
RefreshThread = new Thread(RefreshThreadS);
@ -44,9 +71,24 @@ namespace BuechermarktClient
public void LoadList()
{
var list = MainWindow.StudentCollection.FindSync((s) => true).ToList();
var list = MainWindow.StudentCollection.FindSync((b) => true).ToList();
var show = new List<Student>();
if (SearchField != null && SearchField != String.Empty)
{
foreach (var e in list)
{
if (e.Forname.ToLower().Contains(SearchField.ToLower()) || e.Lastname.ToLower().Contains(SearchField.ToLower()) || e.PhoneNumber.ToLower().Contains(SearchField.ToLower()) || e.EMail.ToLower().Contains(SearchField.ToLower()) || e.Form.ToLower().Contains(SearchField.ToLower()))
{
show.Add(e);
}
}
}
else
{
show = list;
}
Dispatcher.BeginInvoke(new Action(delegate () {
BookTypesList.ItemsSource = list;
ViewList.ItemsSource = show;
}));
}
@ -61,14 +103,22 @@ namespace BuechermarktClient
private void ListViewItem_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
var item = sender as ListViewItem;
if (item != null && item.IsSelected)
if (sender is ListViewItem item && item.IsSelected)
{
var editWindow = new StudentsEdit(item.DataContext as Student)
SelectedItem = item.DataContext as Student;
if (Chooser)
{
Owner = this
};
editWindow.Show();
DialogResult = true;
Close();
}
else
{
var editWindow = new StudentsEdit(item.DataContext as Student)
{
Owner = this
};
editWindow.Show();
}
}
}
}

View File

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BuechermarktClient"
mc:Ignorable="d"
Title="Buchtyp" Height="335" Width="300">
Title="Schüler" Height="335" Width="300">
<StackPanel VerticalAlignment="Top">
<Label Content="Vorname" Margin="10,0"></Label>
<TextBox Margin="10,0" Text="{Binding Path=Forname, Mode=TwoWay}"></TextBox>

View File

@ -132,6 +132,13 @@ namespace BuechermarktClient
if(New)
{
MainWindow.StudentCollection.InsertOne(Student);
Student = new Student();
Forname = "";
Lastname = "";
EMail = "";
PhoneNumber = "";
LabelId = "";
Form = "";
} else
{
MainWindow.StudentCollection.FindOneAndUpdate(s => s.ID == Student.ID, Builders<Student>.Update
@ -141,8 +148,9 @@ namespace BuechermarktClient
.Set(s => s.PhoneNumber, Student.PhoneNumber)
.Set(s => s.LabelId, Student.LabelId)
.Set(s=>s.Form, Student.Form));
Close();
}
Close();
}
private void Delete_Click(object sender, RoutedEventArgs e)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,121 @@
#pragma checksum "..\..\Book.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "B183AD2B0448955DE79C8EA2943A99FD"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using BuechermarktClient;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace BuechermarktClient {
/// <summary>
/// Book
/// </summary>
public partial class Book : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 14 "..\..\Book.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/book.xaml", System.UriKind.Relative);
#line 1 "..\..\Book.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.BookTypesList = ((System.Windows.Controls.ListView)(target));
return;
case 3:
#line 30 "..\..\Book.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) {
System.Windows.EventSetter eventSetter;
switch (connectionId)
{
case 2:
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 26 "..\..\Book.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default
#line hidden
((System.Windows.Style)(target)).Setters.Add(eventSetter);
break;
}
}
}
}

View File

@ -0,0 +1,75 @@
#pragma checksum "..\..\BookEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "53FC3D30B9DE907E18735D8B4A386792"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using BuechermarktClient;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace BuechermarktClient {
/// <summary>
/// BookEdit
/// </summary>
public partial class BookEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector {
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/bookedit.xaml", System.UriKind.Relative);
#line 1 "..\..\BookEdit.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
this._contentLoaded = true;
}
}
}

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3804A968D9CEB9784CCAB007BA4E2793"
#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0A2A30BE6E5B8C01C72CED013BD65F47"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
@ -41,7 +41,7 @@ namespace BuechermarktClient {
public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 14 "..\..\BookTypes.xaml"
#line 23 "..\..\BookTypes.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList;
@ -83,7 +83,7 @@ namespace BuechermarktClient {
return;
case 3:
#line 27 "..\..\BookTypes.xaml"
#line 36 "..\..\BookTypes.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
@ -107,7 +107,7 @@ namespace BuechermarktClient {
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 23 "..\..\BookTypes.xaml"
#line 32 "..\..\BookTypes.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "3804A968D9CEB9784CCAB007BA4E2793"
#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0A2A30BE6E5B8C01C72CED013BD65F47"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
@ -41,7 +41,7 @@ namespace BuechermarktClient {
public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 14 "..\..\BookTypes.xaml"
#line 23 "..\..\BookTypes.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList;
@ -83,7 +83,7 @@ namespace BuechermarktClient {
return;
case 3:
#line 27 "..\..\BookTypes.xaml"
#line 36 "..\..\BookTypes.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
@ -107,7 +107,7 @@ namespace BuechermarktClient {
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 23 "..\..\BookTypes.xaml"
#line 32 "..\..\BookTypes.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default

Binary file not shown.

View File

@ -0,0 +1,121 @@
#pragma checksum "..\..\Books.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "4DEBA5853B20A92CCD7D34AE21518E50"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using BuechermarktClient;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace BuechermarktClient {
/// <summary>
/// Books
/// </summary>
public partial class Books : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 19 "..\..\Books.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BooksList;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/books.xaml", System.UriKind.Relative);
#line 1 "..\..\Books.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.BooksList = ((System.Windows.Controls.ListView)(target));
return;
case 3:
#line 35 "..\..\Books.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) {
System.Windows.EventSetter eventSetter;
switch (connectionId)
{
case 2:
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 31 "..\..\Books.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default
#line hidden
((System.Windows.Style)(target)).Setters.Add(eventSetter);
break;
}
}
}
}

View File

@ -0,0 +1,121 @@
#pragma checksum "..\..\Books.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "4DEBA5853B20A92CCD7D34AE21518E50"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using BuechermarktClient;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace BuechermarktClient {
/// <summary>
/// Books
/// </summary>
public partial class Books : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 19 "..\..\Books.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BooksList;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/books.xaml", System.UriKind.Relative);
#line 1 "..\..\Books.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
this.BooksList = ((System.Windows.Controls.ListView)(target));
return;
case 3:
#line 35 "..\..\Books.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) {
System.Windows.EventSetter eventSetter;
switch (connectionId)
{
case 2:
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 31 "..\..\Books.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default
#line hidden
((System.Windows.Style)(target)).Setters.Add(eventSetter);
break;
}
}
}
}

Binary file not shown.

View File

@ -0,0 +1,137 @@
#pragma checksum "..\..\BooksEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "06D0E6E88FCAD8BC03096A6FF1F1BF04"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using BuechermarktClient;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace BuechermarktClient {
/// <summary>
/// BooksEdit
/// </summary>
public partial class BooksEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 42 "..\..\BooksEdit.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ComboBox StateComboBox;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booksedit.xaml", System.UriKind.Relative);
#line 1 "..\..\BooksEdit.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
#line 28 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SelectBookType_Click);
#line default
#line hidden
return;
case 2:
#line 37 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SelectStudent_Click);
#line default
#line hidden
return;
case 3:
this.StateComboBox = ((System.Windows.Controls.ComboBox)(target));
return;
case 4:
#line 48 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click);
#line default
#line hidden
return;
case 5:
#line 49 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click);
#line default
#line hidden
return;
case 6:
#line 59 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.BookTypeDetails_Click);
#line default
#line hidden
return;
case 7:
#line 77 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.StudentDetails_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
}
}

View File

@ -0,0 +1,137 @@
#pragma checksum "..\..\BooksEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "06D0E6E88FCAD8BC03096A6FF1F1BF04"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using BuechermarktClient;
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Automation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Media.TextFormatting;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Shell;
namespace BuechermarktClient {
/// <summary>
/// BooksEdit
/// </summary>
public partial class BooksEdit : System.Windows.Window, System.Windows.Markup.IComponentConnector {
#line 42 "..\..\BooksEdit.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ComboBox StateComboBox;
#line default
#line hidden
private bool _contentLoaded;
/// <summary>
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/BuechermarktClient;component/booksedit.xaml", System.UriKind.Relative);
#line 1 "..\..\BooksEdit.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
switch (connectionId)
{
case 1:
#line 28 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SelectBookType_Click);
#line default
#line hidden
return;
case 2:
#line 37 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SelectStudent_Click);
#line default
#line hidden
return;
case 3:
this.StateComboBox = ((System.Windows.Controls.ComboBox)(target));
return;
case 4:
#line 48 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Save_Click);
#line default
#line hidden
return;
case 5:
#line 49 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Delete_Click);
#line default
#line hidden
return;
case 6:
#line 59 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.BookTypeDetails_Click);
#line default
#line hidden
return;
case 7:
#line 77 "..\..\BooksEdit.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.StudentDetails_Click);
#line default
#line hidden
return;
}
this._contentLoaded = true;
}
}
}

View File

@ -1,33 +1,35 @@
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\BuechermarktClient.exe.config
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\BuechermarktClient.exe
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\BuechermarktClient.pdb
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.csprojResolveAssemblyReference.cache
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Bson.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\Newtonsoft.Json.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Bson.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\Newtonsoft.Json.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Books.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BooksEdit.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypes.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Students.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\StudentsEdit.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypesEdit.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\MainWindow.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\App.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient_MarkupCompile.cache
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient_MarkupCompile.lref
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Books.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BooksEdit.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypes.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Students.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\StudentsEdit.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypesEdit.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\MainWindow.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.g.resources
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.Properties.Resources.resources
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.csproj.GenerateResource.Cache
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.exe
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BuechermarktClient.pdb
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Bson.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\Newtonsoft.Json.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\RestSharp.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Bson.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\Newtonsoft.Json.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\bin\Debug\RestSharp.xml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypes.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypes.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypesEdit.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\BookTypesEdit.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Students.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\StudentsEdit.g.cs
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\Students.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\StudentsEdit.baml
C:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\obj\Debug\GeneratedInternalTypeHelper.g.cs

View File

@ -0,0 +1,13 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("mongodump.exe")]

View File

@ -0,0 +1,4 @@

FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\BooksEdit.xaml;;

View File

@ -1,8 +1,10 @@

FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\Books.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\BooksEdit.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\BookTypes.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\MainWindow.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\BookTypesEdit.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\Students.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\StudentsEdit.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\BookTypesEdit.xaml;;
FC:\Users\fabia\Documents\Projekte\privat\under development\BuechermarktClient\BuechermarktClient\MainWindow.xaml;;

View File

@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XamlGeneratedNamespace {
/// <summary>
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
/// <summary>
/// CreateInstance
/// </summary>
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
}
/// <summary>
/// GetPropertyValue
/// </summary>
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// SetPropertyValue
/// </summary>
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// CreateDelegate
/// </summary>
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
delegateType,
handler}, null)));
}
/// <summary>
/// AddEventHandler
/// </summary>
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
eventInfo.AddEventHandler(target, handler);
}
}
}

View File

@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XamlGeneratedNamespace {
/// <summary>
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
/// <summary>
/// CreateInstance
/// </summary>
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
}
/// <summary>
/// GetPropertyValue
/// </summary>
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// SetPropertyValue
/// </summary>
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// CreateDelegate
/// </summary>
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
delegateType,
handler}, null)));
}
/// <summary>
/// AddEventHandler
/// </summary>
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
eventInfo.AddEventHandler(target, handler);
}
}
}

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "555DF7808B3534D85CBC8AC2B0E4BB23"
#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "7BBDF27EE05412EB1C190801FE5578BE"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
@ -80,7 +80,7 @@ namespace BuechermarktClient {
return;
case 2:
#line 14 "..\..\MainWindow.xaml"
#line 15 "..\..\MainWindow.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.BookTypes_Click);
#line default
@ -88,9 +88,17 @@ namespace BuechermarktClient {
return;
case 3:
#line 15 "..\..\MainWindow.xaml"
#line 16 "..\..\MainWindow.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Students_Click);
#line default
#line hidden
return;
case 4:
#line 17 "..\..\MainWindow.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Books_Click);
#line default
#line hidden
return;

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "555DF7808B3534D85CBC8AC2B0E4BB23"
#pragma checksum "..\..\MainWindow.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "7BBDF27EE05412EB1C190801FE5578BE"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
@ -80,7 +80,7 @@ namespace BuechermarktClient {
return;
case 2:
#line 14 "..\..\MainWindow.xaml"
#line 15 "..\..\MainWindow.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.BookTypes_Click);
#line default
@ -88,9 +88,17 @@ namespace BuechermarktClient {
return;
case 3:
#line 15 "..\..\MainWindow.xaml"
#line 16 "..\..\MainWindow.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Students_Click);
#line default
#line hidden
return;
case 4:
#line 17 "..\..\MainWindow.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Books_Click);
#line default
#line hidden
return;

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\Students.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "E3910DEC8AFEF22336269C31853C6286"
#pragma checksum "..\..\Students.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "EDC5100C03A0B74B7C5A0FBE89681C34"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
@ -41,9 +41,9 @@ namespace BuechermarktClient {
public partial class Students : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 14 "..\..\Students.xaml"
#line 23 "..\..\Students.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList;
internal System.Windows.Controls.ListView ViewList;
#line default
#line hidden
@ -79,11 +79,11 @@ namespace BuechermarktClient {
switch (connectionId)
{
case 1:
this.BookTypesList = ((System.Windows.Controls.ListView)(target));
this.ViewList = ((System.Windows.Controls.ListView)(target));
return;
case 3:
#line 31 "..\..\Students.xaml"
#line 40 "..\..\Students.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
@ -107,7 +107,7 @@ namespace BuechermarktClient {
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 27 "..\..\Students.xaml"
#line 36 "..\..\Students.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\Students.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "E3910DEC8AFEF22336269C31853C6286"
#pragma checksum "..\..\Students.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "EDC5100C03A0B74B7C5A0FBE89681C34"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
@ -41,9 +41,9 @@ namespace BuechermarktClient {
public partial class Students : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 14 "..\..\Students.xaml"
#line 23 "..\..\Students.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList;
internal System.Windows.Controls.ListView ViewList;
#line default
#line hidden
@ -79,11 +79,11 @@ namespace BuechermarktClient {
switch (connectionId)
{
case 1:
this.BookTypesList = ((System.Windows.Controls.ListView)(target));
this.ViewList = ((System.Windows.Controls.ListView)(target));
return;
case 3:
#line 31 "..\..\Students.xaml"
#line 40 "..\..\Students.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default
@ -107,7 +107,7 @@ namespace BuechermarktClient {
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 27 "..\..\Students.xaml"
#line 36 "..\..\Students.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\StudentsEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "48BAC688059091648BFD0E454A953B5D"
#pragma checksum "..\..\StudentsEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "BCD81DCE79DAA9C10CA192EDBD98BD89"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\StudentsEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "48BAC688059091648BFD0E454A953B5D"
#pragma checksum "..\..\StudentsEdit.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "BCD81DCE79DAA9C10CA192EDBD98BD89"
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.

View File

@ -4,6 +4,5 @@
<package id="MongoDB.Driver" version="2.4.3" targetFramework="net452" />
<package id="MongoDB.Driver.Core" version="2.4.3" targetFramework="net452" />
<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net452" />
<package id="RestSharp" version="105.2.3" targetFramework="net452" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net452" />
</packages>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +0,0 @@
*** IMPORTANT CHANGE IN RESTSHARP VERSION 103 ***
In 103.0, JSON.NET was removed as a dependency.
If this is still installed in your project and no other libraries depend on
it you may remove it from your installed packages.
There is one breaking change: the default Json*Serializer* is no longer
compatible with Json.NET. To use Json.NET for serialization, copy the code
from https://github.com/restsharp/RestSharp/blob/86b31f9adf049d7fb821de8279154f41a17b36f7/RestSharp/Serializers/JsonSerializer.cs
and register it with your client:
var client = new RestClient();
client.JsonSerializer = new YourCustomSerializer();
The default Json*Deserializer* is mostly compatible, but it does not support
all features which Json.NET has (like the ability to support a custom [JsonConverter]
by decorating a certain property with an attribute). If you need these features, you
must take care of the deserialization yourself to get it working.