Fixed Several bugs;

Book Labels are now searchable in many ways
Server broadcast apamming fixed
This commit is contained in:
Fabian Stamm 2017-06-27 21:54:13 +02:00
parent f115808d4e
commit 51d1119776
107 changed files with 120180 additions and 122328 deletions

261
.gitignore vendored
View File

@ -1,261 +0,0 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
project.fragment.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
#*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

View File

@ -16,9 +16,11 @@
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition> <ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Label Content="Search:" Grid.Column="0"></Label> <Label Content="Search:" Grid.Column="0"></Label>
<TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox> <TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox>
<Button Content="S" Grid.Column="2" Width="25" Click="Search_Click"/>
</Grid> </Grid>
<ListView Grid.Row="1" Margin="0,0,0,0" Name="BookTypesList"> <ListView Grid.Row="1" Margin="0,0,0,0" Name="BookTypesList">
<ListView.View> <ListView.View>

View File

@ -31,7 +31,6 @@ namespace BuechermarktClient
if(value != _SearchField) if(value != _SearchField)
{ {
_SearchField = value; _SearchField = value;
LoadList();
} }
} }
} }
@ -67,7 +66,21 @@ namespace BuechermarktClient
public void LoadList() public void LoadList()
{ {
var list = MainWindow.BookTypeCollection.FindSync((b)=>true).ToList(); List<Models.BookType> list = null;
var not = true;
while (not)
{
try
{
list = MainWindow.BookTypeCollection.FindSync((b) => true).ToList();
not = false;
}
catch (Exception e)
{
Thread.Sleep(200);
}
}
var show = new List<BookType>(); var show = new List<BookType>();
if(SearchField != null && SearchField != String.Empty) if(SearchField != null && SearchField != String.Empty)
{ {
@ -115,5 +128,10 @@ namespace BuechermarktClient
} }
} }
} }
private void Search_Click(object sender, RoutedEventArgs e)
{
LoadList();
}
} }
} }

View File

@ -1,6 +1,8 @@
using BuechermarktClient.Models; using BuechermarktClient.Models;
using MongoDB.Driver; using MongoDB.Driver;
using System;
using System.ComponentModel; using System.ComponentModel;
using System.Threading;
using System.Windows; using System.Windows;
namespace BuechermarktClient namespace BuechermarktClient
@ -71,23 +73,44 @@ namespace BuechermarktClient
{ {
BookType.Name = BName; BookType.Name = BName;
BookType.ISBN = BISBN; BookType.ISBN = BISBN;
if(New) while (true)
{ {
MainWindow.BookTypeCollection.InsertOne(BookType); try
} else {
{ if (New)
MainWindow.BookTypeCollection.FindOneAndUpdate(bt => bt.ID == BookType.ID, Builders<BookType>.Update.Set((bt) => bt.Name, BookType.Name).Set(bt => bt.ISBN, BookType.ISBN)); {
MainWindow.BookTypeCollection.InsertOne(BookType);
}
else
{
MainWindow.BookTypeCollection.FindOneAndUpdate(bt => bt.ID == BookType.ID, Builders<BookType>.Update.Set((bt) => bt.Name, BookType.Name).Set(bt => bt.ISBN, BookType.ISBN));
}
Close();
return;
} catch (Exception)
{
Thread.Sleep(100);
}
} }
Close();
} }
private void Delete_Click(object sender, RoutedEventArgs e) private void Delete_Click(object sender, RoutedEventArgs e)
{ {
if(BookType.ID != null) while (true)
{ {
MainWindow.BookTypeCollection.DeleteOne(bt => bt.ID == BookType.ID); try
{
if (BookType.ID != null)
{
MainWindow.BookTypeCollection.DeleteOne(bt => bt.ID == BookType.ID);
}
Close();
return;
} catch (Exception)
{
Thread.Sleep(100);
}
} }
Close();
} }
} }
} }

View File

@ -13,10 +13,21 @@
</Window.Resources> </Window.Resources>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition> <RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<ListView Grid.Row="0" Margin="0,0,0,0" Name="BooksList"> <Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="Search:" Grid.Column="0"></Label>
<TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox>
<Button Content="S" Grid.Column="2" Width="25" Click="Search_Click"/>
</Grid>
<ListView Grid.Row="1" Margin="0,0,0,0" Name="BooksList">
<ListView.View> <ListView.View>
<GridView> <GridView>
<GridViewColumn Header="Status" DisplayMemberBinding="{Binding Path=State, Converter={StaticResource EnumConverter}}" Width="Auto"></GridViewColumn> <GridViewColumn Header="Status" DisplayMemberBinding="{Binding Path=State, Converter={StaticResource EnumConverter}}" Width="Auto"></GridViewColumn>

View File

@ -8,6 +8,7 @@ using MongoDB.Driver;
using System.Windows.Data; using System.Windows.Data;
using System.Globalization; using System.Globalization;
using MongoDB.Bson; using MongoDB.Bson;
using System.Collections.Generic;
namespace BuechermarktClient namespace BuechermarktClient
{ {
@ -65,6 +66,8 @@ namespace BuechermarktClient
public Thread RefreshThread = null; public Thread RefreshThread = null;
private bool ThreadRunning = true; private bool ThreadRunning = true;
public string SearchField { get; set; }
public Books() public Books()
{ {
InitializeComponent(); InitializeComponent();
@ -84,15 +87,53 @@ namespace BuechermarktClient
while (ThreadRunning) while (ThreadRunning)
{ {
LoadList(); LoadList();
Thread.Sleep(1000); Thread.Sleep(5000);
} }
} }
public void LoadList() public void LoadList()
{ {
var list = MainWindow.BookCollection.FindSync((b) => true).ToList();
List<Models.Book> list = null;
var not = true;
while (not)
{
try
{
list = MainWindow.BookCollection.FindSync((b) => true).ToList();
not = false;
} catch (Exception e)
{
Thread.Sleep(200);
}
}
var show = new List<Models.Book>();
if (SearchField != null && SearchField != String.Empty)
{
foreach (var e in list)
{
if (e.LabelId.ToLower().Contains(SearchField.ToLower()) || e.Price.ToString().ToLower().Contains(SearchField.ToLower()) || e.Student.ToString().ToLower().Contains(SearchField.ToLower()) || e.BookType.ToString().ToLower().Contains(SearchField.ToLower()) || e.State.ToString().ToLower().Contains(SearchField.ToLower()))
{
show.Add(e);
}
}
}
else
{
if(list.Count > 100)
{
for(int i = 0; i < 150; i++)
{
show.Add(list[i]);
}
} else
{
show = list;
}
}
Dispatcher.BeginInvoke(new Action(delegate () { Dispatcher.BeginInvoke(new Action(delegate () {
BooksList.ItemsSource = list; BooksList.ItemsSource = show;
})); }));
} }
@ -116,5 +157,10 @@ namespace BuechermarktClient
editWindow.Show(); editWindow.Show();
} }
} }
private void Search_Click(object sender, RoutedEventArgs e)
{
LoadList();
}
} }
} }

View File

@ -8,6 +8,7 @@ using System.Collections.Generic;
using System.Windows.Data; using System.Windows.Data;
using System; using System;
using System.Globalization; using System.Globalization;
using System.Threading;
namespace BuechermarktClient namespace BuechermarktClient
{ {
@ -21,8 +22,10 @@ namespace BuechermarktClient
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{ {
if(value == null) return null; var style = NumberStyles.AllowDecimalPoint;
if (!double.TryParse((string)value, out double outD)) return null; var c = CultureInfo.CreateSpecificCulture("de-DE");
if (value == null) return null;
if (!double.TryParse((string)value, style, c, out double outD)) return null;
return outD; return outD;
} }
} }
@ -54,7 +57,16 @@ namespace BuechermarktClient
{ {
get get
{ {
return MainWindow.StudentCollection.Find(s => s.ID == Book.Student).FirstOrDefault(); while (true)
{
try
{
return MainWindow.StudentCollection.Find(s => s.ID == Book.Student).FirstOrDefault();
} catch (Exception)
{
Thread.Sleep(100);
}
}
} }
set set
{ {
@ -80,7 +92,17 @@ namespace BuechermarktClient
var st = Student; var st = Student;
if (st == null || value != st.LabelId) if (st == null || value != st.LabelId)
{ {
Student = MainWindow.StudentCollection.Find(s => s.LabelId.Equals(value)).FirstOrDefault(); var f = true;
while (f)
{
try
{
Student = MainWindow.StudentCollection.Find(s => s.LabelId.Equals(value)).FirstOrDefault();
} catch (Exception)
{
Thread.Sleep(100);
}
}
OnPropertyChanged("StudentLabelId"); OnPropertyChanged("StudentLabelId");
} }
} }
@ -135,7 +157,16 @@ namespace BuechermarktClient
{ {
get get
{ {
return MainWindow.BookTypeCollection.Find(b => b.ID == Book.BookType).FirstOrDefault(); while (true)
{
try
{
return MainWindow.BookTypeCollection.Find(b => b.ID == Book.BookType).FirstOrDefault();
} catch (Exception)
{
Thread.Sleep(100);
}
}
} }
set set
{ {
@ -163,8 +194,18 @@ namespace BuechermarktClient
var bt = BookType; var bt = BookType;
if(bt == null || value != bt.ISBN) if(bt == null || value != bt.ISBN)
{ {
BookType = MainWindow.BookTypeCollection.Find(b => b.ISBN == value).FirstOrDefault(); while (true)
OnPropertyChanged("BookTypeISBN"); {
try
{
BookType = MainWindow.BookTypeCollection.Find(b => b.ISBN == value).FirstOrDefault();
OnPropertyChanged("BookTypeISBN");
return;
} catch (Exception)
{
Thread.Sleep(100);
}
}
} }
} }
} }
@ -203,22 +244,42 @@ namespace BuechermarktClient
{ {
if (New) if (New)
{ {
MainWindow.BookCollection.InsertOne(Book); while (true)
var oldStudent = Student; {
Book = new Book(); try
Student = oldStudent; {
Book.State = BookState.InStock; MainWindow.BookCollection.InsertOne(Book);
OnPropertyChanged(string.Empty); var oldStudent = Student;
Book = new Book();
Student = oldStudent;
Book.State = BookState.InStock;
OnPropertyChanged(string.Empty);
return;
} catch (Exception)
{
Thread.Sleep(100);
}
}
} }
else else
{ {
MainWindow.BookCollection.FindOneAndUpdate(b => b.ID == Book.ID, Builders<Book>.Update while (true)
.Set(b => b.Student, Book.Student) {
.Set(b => b.BookType, Book.BookType) try
.Set(b => b.Price, Book.Price) {
.Set(b => b.State, Book.State) MainWindow.BookCollection.FindOneAndUpdate(b => b.ID == Book.ID, Builders<Book>.Update
.Set(b => b.LabelId, Book.LabelId)); .Set(b => b.Student, Book.Student)
Close(); .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();
return;
} catch (Exception)
{
Thread.Sleep(100);
}
}
} }
} }
@ -226,9 +287,23 @@ namespace BuechermarktClient
{ {
if (Book != null && Book.ID != null) if (Book != null && Book.ID != null)
{ {
MainWindow.StudentCollection.DeleteOne(bt => bt.ID == Student.ID); while (true)
{
try
{
MainWindow.StudentCollection.DeleteOne(bt => bt.ID == Student.ID);
Close();
return;
}
catch (Exception)
{
Thread.Sleep(100);
}
}
} else
{
Close();
} }
Close();
} }
private void SelectBookType_Click(object sender, RoutedEventArgs e) private void SelectBookType_Click(object sender, RoutedEventArgs e)

View File

@ -34,17 +34,17 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="MongoDB.Bson, Version=2.4.3.23, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Bson, Version=2.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.4.3\lib\net45\MongoDB.Bson.dll</HintPath> <HintPath>..\packages\MongoDB.Bson.2.4.4\lib\net45\MongoDB.Bson.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Driver, Version=2.4.3.23, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Driver, Version=2.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.4.3\lib\net45\MongoDB.Driver.dll</HintPath> <HintPath>..\packages\MongoDB.Driver.2.4.4\lib\net45\MongoDB.Driver.dll</HintPath>
</Reference> </Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.4.3.23, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MongoDB.Driver.Core, Version=2.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.4.3\lib\net45\MongoDB.Driver.Core.dll</HintPath> <HintPath>..\packages\MongoDB.Driver.Core.2.4.4\lib\net45\MongoDB.Driver.Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <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> <HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />

View File

@ -38,7 +38,7 @@ namespace BuechermarktClient
public void ListenForServer() public void ListenForServer()
{ {
UdpClient = new UdpClient(15000); UdpClient = new UdpClient(3000);
UdpClient.BeginReceive(Recevie, new object()); UdpClient.BeginReceive(Recevie, new object());
} }

View File

@ -1,5 +1,6 @@
using BuechermarktClient.Models; using BuechermarktClient.Models;
using MongoDB.Driver; using MongoDB.Driver;
using MongoDB.Driver.Core.Clusters;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
@ -25,12 +26,31 @@ namespace BuechermarktClient
public partial class MainWindow : Window public partial class MainWindow : Window
{ {
public static MongoClient Mongo; public static MongoClient Mongo;
public static IMongoDatabase Database;
public static IMongoCollection<BookType> BookTypeCollection;
public static IMongoCollection<Book> BookCollection;
public static IMongoCollection<Student> StudentCollection;
public const string DatabaseName = "buechermarkt"; public const string DatabaseName = "buechermarkt";
public static string MongoHost = "localhost"; public static string MongoHost = "localhost";
public static IMongoCollection<BookType> BookTypeCollection
{
get {
var database = Mongo.GetDatabase(DatabaseName);
return database.GetCollection<BookType>("booktypes");
}
}
public static IMongoCollection<Book> BookCollection
{
get
{
var database = Mongo.GetDatabase(DatabaseName);
return database.GetCollection<Book>("books");
}
}
public static IMongoCollection<Student> StudentCollection
{
get
{
var database = Mongo.GetDatabase(DatabaseName);
return database.GetCollection<Student>("students");
}
}
public BookTypes BookTypesWindow = null; public BookTypes BookTypesWindow = null;
public Students StudentsWindow = null; public Students StudentsWindow = null;
@ -45,13 +65,21 @@ namespace BuechermarktClient
//ToDo get server informations //ToDo get server informations
} }
public void ConnectionTester()
{
Mongo.Cluster.DescriptionChanged += (object sender, ClusterDescriptionChangedEventArgs e) =>
{
};
}
public void OnConnectionEstablised() public void OnConnectionEstablised()
{ {
Mongo = new MongoClient("mongodb://" + MongoHost + ":27017"); Mongo = new MongoClient("mongodb://" + MongoHost + ":27017");
Database = Mongo.GetDatabase(DatabaseName); //Database = Mongo.GetDatabase(DatabaseName);
BookTypeCollection = Database.GetCollection<BookType>("booktypes"); //BookTypeCollection =
BookCollection = Database.GetCollection<Book>("books"); //BookCollection = Database.GetCollection<Book>("books");
StudentCollection = Database.GetCollection<Student>("students"); //StudentCollection = Database.GetCollection<Student>("students");
var t = new Thread(BackupService); var t = new Thread(BackupService);
t.Start(); t.Start();
@ -62,7 +90,7 @@ namespace BuechermarktClient
while (true) while (true)
{ {
Backup.MakeBackup(); Backup.MakeBackup();
Thread.Sleep(30000); Thread.Sleep(120000);
} }
} }

View File

@ -16,9 +16,11 @@
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition> <ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Label Content="Search:" Grid.Column="0"></Label> <Label Content="Search:" Grid.Column="0"></Label>
<TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox> <TextBox Grid.Column="1" Text="{Binding SearchField, Mode=OneWayToSource}"></TextBox>
<Button Content="S" Grid.Column="2" Width="25" Click="Search_Click"/>
</Grid> </Grid>
<ListView Grid.Row="1" Margin="0,0,0,0" Name="ViewList"> <ListView Grid.Row="1" Margin="0,0,0,0" Name="ViewList">
<ListView.View> <ListView.View>

View File

@ -33,7 +33,6 @@ namespace BuechermarktClient
if (value != _SearchField) if (value != _SearchField)
{ {
_SearchField = value; _SearchField = value;
LoadList();
} }
} }
} }
@ -71,7 +70,21 @@ namespace BuechermarktClient
public void LoadList() public void LoadList()
{ {
var list = MainWindow.StudentCollection.FindSync((b) => true).ToList(); List<Models.Student> list = null;
var not = true;
while (not)
{
try
{
list = MainWindow.StudentCollection.FindSync((b) => true).ToList();
not = false;
}
catch (Exception e)
{
Thread.Sleep(200);
}
}
var show = new List<Student>(); var show = new List<Student>();
if (SearchField != null && SearchField != String.Empty) if (SearchField != null && SearchField != String.Empty)
{ {
@ -121,5 +134,10 @@ namespace BuechermarktClient
} }
} }
} }
private void Search_Click(object sender, RoutedEventArgs e)
{
LoadList();
}
} }
} }

View File

@ -1,6 +1,8 @@
using BuechermarktClient.Models; using BuechermarktClient.Models;
using MongoDB.Driver; using MongoDB.Driver;
using System;
using System.ComponentModel; using System.ComponentModel;
using System.Threading;
using System.Windows; using System.Windows;
namespace BuechermarktClient namespace BuechermarktClient
@ -129,37 +131,58 @@ namespace BuechermarktClient
private void Save_Click(object sender, RoutedEventArgs e) private void Save_Click(object sender, RoutedEventArgs e)
{ {
if(New) while (true)
{ {
MainWindow.StudentCollection.InsertOne(Student); try
Student = new Student(); {
Forname = ""; if (New)
Lastname = ""; {
EMail = ""; MainWindow.StudentCollection.InsertOne(Student);
PhoneNumber = ""; Student = new Student();
LabelId = ""; Forname = "";
Form = ""; Lastname = "";
} else EMail = "";
{ PhoneNumber = "";
MainWindow.StudentCollection.FindOneAndUpdate(s => s.ID == Student.ID, Builders<Student>.Update LabelId = "";
.Set(s => s.Forname, Student.Forname) Form = "";
.Set(s => s.Lastname, Student.Lastname) }
.Set(s => s.EMail, Student.EMail) else
.Set(s => s.PhoneNumber, Student.PhoneNumber) {
.Set(s => s.LabelId, Student.LabelId) MainWindow.StudentCollection.FindOneAndUpdate(s => s.ID == Student.ID, Builders<Student>.Update
.Set(s=>s.Form, Student.Form)); .Set(s => s.Forname, Student.Forname)
.Set(s => s.Lastname, Student.Lastname)
.Set(s => s.EMail, Student.EMail)
.Set(s => s.PhoneNumber, Student.PhoneNumber)
.Set(s => s.LabelId, Student.LabelId)
.Set(s => s.Form, Student.Form));
Close(); Close();
return;
}
} catch (Exception)
{
Thread.Sleep(100);
}
} }
} }
private void Delete_Click(object sender, RoutedEventArgs e) private void Delete_Click(object sender, RoutedEventArgs e)
{ {
if(Student.ID != null) while (true)
{ {
MainWindow.StudentCollection.DeleteOne(bt => bt.ID == Student.ID); try
{
if (Student.ID != null)
{
MainWindow.StudentCollection.DeleteOne(bt => bt.ID == Student.ID);
}
Close();
}
catch (Exception)
{
Thread.Sleep(100);
}
} }
Close();
} }
} }
} }

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

@ -905,21 +905,6 @@
<c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
</returns> </returns>
</member> </member>
<member name="T:Newtonsoft.Json.FloatParseHandling">
<summary>
Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
</summary>
</member>
<member name="F:Newtonsoft.Json.FloatParseHandling.Double">
<summary>
Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Double"/>.
</summary>
</member>
<member name="F:Newtonsoft.Json.FloatParseHandling.Decimal">
<summary>
Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Decimal"/>.
</summary>
</member>
<member name="T:Newtonsoft.Json.DateFormatHandling"> <member name="T:Newtonsoft.Json.DateFormatHandling">
<summary> <summary>
Specifies how dates are formatted when writing JSON text. Specifies how dates are formatted when writing JSON text.
@ -1038,6 +1023,21 @@
Write special floating point values as the property's default value in JSON, e.g. 0.0 for a <see cref="T:System.Double"/> property, <c>null</c> for a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> property. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a <see cref="T:System.Double"/> property, <c>null</c> for a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> property.
</summary> </summary>
</member> </member>
<member name="T:Newtonsoft.Json.FloatParseHandling">
<summary>
Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
</summary>
</member>
<member name="F:Newtonsoft.Json.FloatParseHandling.Double">
<summary>
Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Double"/>.
</summary>
</member>
<member name="F:Newtonsoft.Json.FloatParseHandling.Decimal">
<summary>
Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Decimal"/>.
</summary>
</member>
<member name="T:Newtonsoft.Json.Formatting"> <member name="T:Newtonsoft.Json.Formatting">
<summary> <summary>
Specifies formatting options for the <see cref="T:Newtonsoft.Json.JsonTextWriter"/>. Specifies formatting options for the <see cref="T:Newtonsoft.Json.JsonTextWriter"/>.
@ -6586,56 +6586,6 @@
If this is <c>null</c>, default load settings will be used.</param> If this is <c>null</c>, default load settings will be used.</param>
<returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns>
</member> </member>
<member name="T:Newtonsoft.Json.Linq.JRaw">
<summary>
Represents a raw JSON string.
</summary>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.CreateAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
<summary>
Asynchronously creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
</summary>
<param name="reader">The reader.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
<returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
property returns an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(Newtonsoft.Json.Linq.JRaw)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class from another <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object.
</summary>
<param name="other">A <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object to copy from.</param>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(System.Object)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class.
</summary>
<param name="rawJson">The raw json.</param>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.Create(Newtonsoft.Json.JsonReader)">
<summary>
Creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
</summary>
<param name="reader">The reader.</param>
<returns>An instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
</member>
<member name="T:Newtonsoft.Json.Linq.JsonMergeSettings">
<summary>
Specifies the settings used when merging JSON.
</summary>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeArrayHandling">
<summary>
Gets or sets the method used when merging JSON arrays.
</summary>
<value>The method used when merging JSON arrays.</value>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeNullValueHandling">
<summary>
Gets or sets how null value properties are merged.
</summary>
<value>How null value properties are merged.</value>
</member>
<member name="T:Newtonsoft.Json.Linq.JPropertyDescriptor"> <member name="T:Newtonsoft.Json.Linq.JPropertyDescriptor">
<summary> <summary>
Represents a view of a <see cref="T:Newtonsoft.Json.Linq.JProperty"/>. Represents a view of a <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.
@ -6723,6 +6673,78 @@
The hash code for the name of the member. The hash code for the name of the member.
</returns> </returns>
</member> </member>
<member name="T:Newtonsoft.Json.Linq.JRaw">
<summary>
Represents a raw JSON string.
</summary>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.CreateAsync(Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
<summary>
Asynchronously creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
</summary>
<param name="reader">The reader.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
<returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
property returns an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(Newtonsoft.Json.Linq.JRaw)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class from another <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object.
</summary>
<param name="other">A <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object to copy from.</param>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(System.Object)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class.
</summary>
<param name="rawJson">The raw json.</param>
</member>
<member name="M:Newtonsoft.Json.Linq.JRaw.Create(Newtonsoft.Json.JsonReader)">
<summary>
Creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
</summary>
<param name="reader">The reader.</param>
<returns>An instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
</member>
<member name="T:Newtonsoft.Json.Linq.JsonLoadSettings">
<summary>
Specifies the settings used when loading JSON.
</summary>
</member>
<member name="M:Newtonsoft.Json.Linq.JsonLoadSettings.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> class.
</summary>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonLoadSettings.CommentHandling">
<summary>
Gets or sets how JSON comments are handled when loading JSON.
</summary>
<value>The JSON comment handling.</value>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonLoadSettings.LineInfoHandling">
<summary>
Gets or sets how JSON line info is handled when loading JSON.
</summary>
<value>The JSON line info handling.</value>
</member>
<member name="T:Newtonsoft.Json.Linq.JsonMergeSettings">
<summary>
Specifies the settings used when merging JSON.
</summary>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeArrayHandling">
<summary>
Gets or sets the method used when merging JSON arrays.
</summary>
<value>The method used when merging JSON arrays.</value>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeNullValueHandling">
<summary>
Gets or sets how null value properties are merged.
</summary>
<value>How null value properties are merged.</value>
</member>
<member name="T:Newtonsoft.Json.Linq.JToken"> <member name="T:Newtonsoft.Json.Linq.JToken">
<summary> <summary>
Represents an abstract JSON token. Represents an abstract JSON token.
@ -8316,28 +8338,6 @@
<paramref name="obj"/> is not of the same type as this instance. <paramref name="obj"/> is not of the same type as this instance.
</exception> </exception>
</member> </member>
<member name="T:Newtonsoft.Json.Linq.JsonLoadSettings">
<summary>
Specifies the settings used when loading JSON.
</summary>
</member>
<member name="M:Newtonsoft.Json.Linq.JsonLoadSettings.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JsonLoadSettings"/> class.
</summary>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonLoadSettings.CommentHandling">
<summary>
Gets or sets how JSON comments are handled when loading JSON.
</summary>
<value>The JSON comment handling.</value>
</member>
<member name="P:Newtonsoft.Json.Linq.JsonLoadSettings.LineInfoHandling">
<summary>
Gets or sets how JSON line info is handled when loading JSON.
</summary>
<value>The JSON line info handling.</value>
</member>
<member name="T:Newtonsoft.Json.Linq.MergeArrayHandling"> <member name="T:Newtonsoft.Json.Linq.MergeArrayHandling">
<summary> <summary>
Specifies how JSON arrays are merged together. Specifies how JSON arrays are merged together.
@ -9126,71 +9126,6 @@
</note> </note>
</summary> </summary>
</member> </member>
<member name="T:Newtonsoft.Json.Serialization.ISerializationBinder">
<summary>
Allows users to control class loading and mandate what class to load.
</summary>
</member>
<member name="M:Newtonsoft.Json.Serialization.ISerializationBinder.BindToType(System.String,System.String)">
<summary>
When implemented, controls the binding of a serialized object to a type.
</summary>
<param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
<param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object</param>
<returns>The type of the object the formatter creates a new instance of.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.ISerializationBinder.BindToName(System.Type,System.String@,System.String@)">
<summary>
When implemented, controls the binding of a serialized object to a type.
</summary>
<param name="serializedType">The type of the object the formatter creates a new instance of.</param>
<param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
<param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
</member>
<member name="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy">
<summary>
A snake case naming strategy.
</summary>
</member>
<member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
</summary>
<param name="processDictionaryKeys">
A flag indicating whether dictionary keys should be processed.
</param>
<param name="overrideSpecifiedNames">
A flag indicating whether explicitly specified property names should be processed,
e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>.
</param>
</member>
<member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
</summary>
<param name="processDictionaryKeys">
A flag indicating whether dictionary keys should be processed.
</param>
<param name="overrideSpecifiedNames">
A flag indicating whether explicitly specified property names should be processed,
e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>.
</param>
<param name="processExtensionDataNames">
A flag indicating whether extension data names should be processed.
</param>
</member>
<member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
</summary>
</member>
<member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.ResolvePropertyName(System.String)">
<summary>
Resolves the specified property name.
</summary>
<param name="name">The property name to resolve.</param>
<returns>The resolved property name.</returns>
</member>
<member name="T:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"> <member name="T:Newtonsoft.Json.Serialization.CamelCaseNamingStrategy">
<summary> <summary>
A camel case naming strategy. A camel case naming strategy.
@ -9666,59 +9601,6 @@
<param name="type">The type to resolve a contract for.</param> <param name="type">The type to resolve a contract for.</param>
<returns>The contract for a given type.</returns> <returns>The contract for a given type.</returns>
</member> </member>
<member name="T:Newtonsoft.Json.Serialization.NamingStrategy">
<summary>
A base class for resolving how property names and dictionary keys are serialized.
</summary>
</member>
<member name="P:Newtonsoft.Json.Serialization.NamingStrategy.ProcessDictionaryKeys">
<summary>
A flag indicating whether dictionary keys should be processed.
Defaults to <c>false</c>.
</summary>
</member>
<member name="P:Newtonsoft.Json.Serialization.NamingStrategy.ProcessExtensionDataNames">
<summary>
A flag indicating whether extension data names should be processed.
Defaults to <c>false</c>.
</summary>
</member>
<member name="P:Newtonsoft.Json.Serialization.NamingStrategy.OverrideSpecifiedNames">
<summary>
A flag indicating whether explicitly specified property names,
e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>, should be processed.
Defaults to <c>false</c>.
</summary>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetPropertyName(System.String,System.Boolean)">
<summary>
Gets the serialized name for a given property name.
</summary>
<param name="name">The initial property name.</param>
<param name="hasSpecifiedName">A flag indicating whether the property has had a name explicitly specified.</param>
<returns>The serialized property name.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetExtensionDataName(System.String)">
<summary>
Gets the serialized name for a given extension data name.
</summary>
<param name="name">The initial extension data name.</param>
<returns>The serialized extension data name.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetDictionaryKey(System.String)">
<summary>
Gets the serialized key for a given dictionary key.
</summary>
<param name="key">The initial dictionary key.</param>
<returns>The serialized dictionary key.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.ResolvePropertyName(System.String)">
<summary>
Resolves the specified property name.
</summary>
<param name="name">The property name to resolve.</param>
<returns>The resolved property name.</returns>
</member>
<member name="T:Newtonsoft.Json.Serialization.IReferenceResolver"> <member name="T:Newtonsoft.Json.Serialization.IReferenceResolver">
<summary> <summary>
Used to resolve references when serializing and deserializing JSON by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. Used to resolve references when serializing and deserializing JSON by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
@ -9758,6 +9640,27 @@
<param name="reference">The reference.</param> <param name="reference">The reference.</param>
<param name="value">The object to reference.</param> <param name="value">The object to reference.</param>
</member> </member>
<member name="T:Newtonsoft.Json.Serialization.ISerializationBinder">
<summary>
Allows users to control class loading and mandate what class to load.
</summary>
</member>
<member name="M:Newtonsoft.Json.Serialization.ISerializationBinder.BindToType(System.String,System.String)">
<summary>
When implemented, controls the binding of a serialized object to a type.
</summary>
<param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
<param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object</param>
<returns>The type of the object the formatter creates a new instance of.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.ISerializationBinder.BindToName(System.Type,System.String@,System.String@)">
<summary>
When implemented, controls the binding of a serialized object to a type.
</summary>
<param name="serializedType">The type of the object the formatter creates a new instance of.</param>
<param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
<param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
</member>
<member name="T:Newtonsoft.Json.Serialization.ITraceWriter"> <member name="T:Newtonsoft.Json.Serialization.ITraceWriter">
<summary> <summary>
Represents a trace writer. Represents a trace writer.
@ -10428,6 +10331,59 @@
A <see cref="T:System.String"/> of the most recent trace messages. A <see cref="T:System.String"/> of the most recent trace messages.
</returns> </returns>
</member> </member>
<member name="T:Newtonsoft.Json.Serialization.NamingStrategy">
<summary>
A base class for resolving how property names and dictionary keys are serialized.
</summary>
</member>
<member name="P:Newtonsoft.Json.Serialization.NamingStrategy.ProcessDictionaryKeys">
<summary>
A flag indicating whether dictionary keys should be processed.
Defaults to <c>false</c>.
</summary>
</member>
<member name="P:Newtonsoft.Json.Serialization.NamingStrategy.ProcessExtensionDataNames">
<summary>
A flag indicating whether extension data names should be processed.
Defaults to <c>false</c>.
</summary>
</member>
<member name="P:Newtonsoft.Json.Serialization.NamingStrategy.OverrideSpecifiedNames">
<summary>
A flag indicating whether explicitly specified property names,
e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>, should be processed.
Defaults to <c>false</c>.
</summary>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetPropertyName(System.String,System.Boolean)">
<summary>
Gets the serialized name for a given property name.
</summary>
<param name="name">The initial property name.</param>
<param name="hasSpecifiedName">A flag indicating whether the property has had a name explicitly specified.</param>
<returns>The serialized property name.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetExtensionDataName(System.String)">
<summary>
Gets the serialized name for a given extension data name.
</summary>
<param name="name">The initial extension data name.</param>
<returns>The serialized extension data name.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.GetDictionaryKey(System.String)">
<summary>
Gets the serialized key for a given dictionary key.
</summary>
<param name="key">The initial dictionary key.</param>
<returns>The serialized dictionary key.</returns>
</member>
<member name="M:Newtonsoft.Json.Serialization.NamingStrategy.ResolvePropertyName(System.String)">
<summary>
Resolves the specified property name.
</summary>
<param name="name">The property name to resolve.</param>
<returns>The resolved property name.</returns>
</member>
<member name="T:Newtonsoft.Json.Serialization.ObjectConstructor`1"> <member name="T:Newtonsoft.Json.Serialization.ObjectConstructor`1">
<summary> <summary>
Represents a method that constructs an object. Represents a method that constructs an object.
@ -10490,20 +10446,49 @@
<param name="target">The target to get the value from.</param> <param name="target">The target to get the value from.</param>
<returns>The value.</returns> <returns>The value.</returns>
</member> </member>
<member name="T:Newtonsoft.Json.TypeNameAssemblyFormatHandling"> <member name="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy">
<summary> <summary>
Indicates the method that will be used during deserialization for locating and loading assemblies. A snake case naming strategy.
</summary> </summary>
</member> </member>
<member name="F:Newtonsoft.Json.TypeNameAssemblyFormatHandling.Simple"> <member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)">
<summary> <summary>
In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the <c>LoadWithPartialName</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly. Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
</summary>
<param name="processDictionaryKeys">
A flag indicating whether dictionary keys should be processed.
</param>
<param name="overrideSpecifiedNames">
A flag indicating whether explicitly specified property names should be processed,
e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>.
</param>
</member>
<member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
</summary>
<param name="processDictionaryKeys">
A flag indicating whether dictionary keys should be processed.
</param>
<param name="overrideSpecifiedNames">
A flag indicating whether explicitly specified property names should be processed,
e.g. a property name customized with a <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/>.
</param>
<param name="processExtensionDataNames">
A flag indicating whether extension data names should be processed.
</param>
</member>
<member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
</summary> </summary>
</member> </member>
<member name="F:Newtonsoft.Json.TypeNameAssemblyFormatHandling.Full"> <member name="M:Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.ResolvePropertyName(System.String)">
<summary> <summary>
In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The <c>Load</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly. Resolves the specified property name.
</summary> </summary>
<param name="name">The property name to resolve.</param>
<returns>The resolved property name.</returns>
</member> </member>
<member name="T:Newtonsoft.Json.StringEscapeHandling"> <member name="T:Newtonsoft.Json.StringEscapeHandling">
<summary> <summary>
@ -10525,6 +10510,21 @@
HTML (&lt;, &gt;, &amp;, &apos;, &quot;) and control characters (e.g. newline) are escaped. HTML (&lt;, &gt;, &amp;, &apos;, &quot;) and control characters (e.g. newline) are escaped.
</summary> </summary>
</member> </member>
<member name="T:Newtonsoft.Json.TypeNameAssemblyFormatHandling">
<summary>
Indicates the method that will be used during deserialization for locating and loading assemblies.
</summary>
</member>
<member name="F:Newtonsoft.Json.TypeNameAssemblyFormatHandling.Simple">
<summary>
In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the <c>LoadWithPartialName</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly.
</summary>
</member>
<member name="F:Newtonsoft.Json.TypeNameAssemblyFormatHandling.Full">
<summary>
In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The <c>Load</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly.
</summary>
</member>
<member name="T:Newtonsoft.Json.TypeNameHandling"> <member name="T:Newtonsoft.Json.TypeNameHandling">
<summary> <summary>
Specifies type name handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. Specifies type name handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0A2A30BE6E5B8C01C72CED013BD65F47" #pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "69E247AFC50A459A29907C1D6F49CCB1"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // 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 { public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 23 "..\..\BookTypes.xaml" #line 25 "..\..\BookTypes.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList; internal System.Windows.Controls.ListView BookTypesList;
@ -79,11 +79,19 @@ namespace BuechermarktClient {
switch (connectionId) switch (connectionId)
{ {
case 1: case 1:
#line 23 "..\..\BookTypes.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Search_Click);
#line default
#line hidden
return;
case 2:
this.BookTypesList = ((System.Windows.Controls.ListView)(target)); this.BookTypesList = ((System.Windows.Controls.ListView)(target));
return; return;
case 3: case 4:
#line 36 "..\..\BookTypes.xaml" #line 38 "..\..\BookTypes.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default #line default
@ -103,11 +111,11 @@ namespace BuechermarktClient {
System.Windows.EventSetter eventSetter; System.Windows.EventSetter eventSetter;
switch (connectionId) switch (connectionId)
{ {
case 2: case 3:
eventSetter = new System.Windows.EventSetter(); eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 32 "..\..\BookTypes.xaml" #line 34 "..\..\BookTypes.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default #line default

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "0A2A30BE6E5B8C01C72CED013BD65F47" #pragma checksum "..\..\BookTypes.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "69E247AFC50A459A29907C1D6F49CCB1"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // 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 { public partial class BookTypes : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 23 "..\..\BookTypes.xaml" #line 25 "..\..\BookTypes.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BookTypesList; internal System.Windows.Controls.ListView BookTypesList;
@ -79,11 +79,19 @@ namespace BuechermarktClient {
switch (connectionId) switch (connectionId)
{ {
case 1: case 1:
#line 23 "..\..\BookTypes.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Search_Click);
#line default
#line hidden
return;
case 2:
this.BookTypesList = ((System.Windows.Controls.ListView)(target)); this.BookTypesList = ((System.Windows.Controls.ListView)(target));
return; return;
case 3: case 4:
#line 36 "..\..\BookTypes.xaml" #line 38 "..\..\BookTypes.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default #line default
@ -103,11 +111,11 @@ namespace BuechermarktClient {
System.Windows.EventSetter eventSetter; System.Windows.EventSetter eventSetter;
switch (connectionId) switch (connectionId)
{ {
case 2: case 3:
eventSetter = new System.Windows.EventSetter(); eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 32 "..\..\BookTypes.xaml" #line 34 "..\..\BookTypes.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default #line default

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\Books.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "4DEBA5853B20A92CCD7D34AE21518E50" #pragma checksum "..\..\Books.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "208306820FDFEC1EB549468FCF65C11A"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // Dieser Code wurde von einem Tool generiert.
@ -41,7 +41,7 @@ namespace BuechermarktClient {
public partial class Books : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { public partial class Books : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 19 "..\..\Books.xaml" #line 30 "..\..\Books.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BooksList; internal System.Windows.Controls.ListView BooksList;
@ -79,11 +79,19 @@ namespace BuechermarktClient {
switch (connectionId) switch (connectionId)
{ {
case 1: case 1:
#line 28 "..\..\Books.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Search_Click);
#line default
#line hidden
return;
case 2:
this.BooksList = ((System.Windows.Controls.ListView)(target)); this.BooksList = ((System.Windows.Controls.ListView)(target));
return; return;
case 3: case 4:
#line 35 "..\..\Books.xaml" #line 46 "..\..\Books.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default #line default
@ -103,11 +111,11 @@ namespace BuechermarktClient {
System.Windows.EventSetter eventSetter; System.Windows.EventSetter eventSetter;
switch (connectionId) switch (connectionId)
{ {
case 2: case 3:
eventSetter = new System.Windows.EventSetter(); eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 31 "..\..\Books.xaml" #line 42 "..\..\Books.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default #line default

View File

@ -1,4 +1,4 @@
#pragma checksum "..\..\Books.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "4DEBA5853B20A92CCD7D34AE21518E50" #pragma checksum "..\..\Books.xaml" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "208306820FDFEC1EB549468FCF65C11A"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // Dieser Code wurde von einem Tool generiert.
@ -41,7 +41,7 @@ namespace BuechermarktClient {
public partial class Books : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { public partial class Books : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector {
#line 19 "..\..\Books.xaml" #line 30 "..\..\Books.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.ListView BooksList; internal System.Windows.Controls.ListView BooksList;
@ -79,11 +79,19 @@ namespace BuechermarktClient {
switch (connectionId) switch (connectionId)
{ {
case 1: case 1:
#line 28 "..\..\Books.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Search_Click);
#line default
#line hidden
return;
case 2:
this.BooksList = ((System.Windows.Controls.ListView)(target)); this.BooksList = ((System.Windows.Controls.ListView)(target));
return; return;
case 3: case 4:
#line 35 "..\..\Books.xaml" #line 46 "..\..\Books.xaml"
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click); ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddNew_Click);
#line default #line default
@ -103,11 +111,11 @@ namespace BuechermarktClient {
System.Windows.EventSetter eventSetter; System.Windows.EventSetter eventSetter;
switch (connectionId) switch (connectionId)
{ {
case 2: case 3:
eventSetter = new System.Windows.EventSetter(); eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent; eventSetter.Event = System.Windows.Controls.Control.PreviewMouseDoubleClickEvent;
#line 31 "..\..\Books.xaml" #line 42 "..\..\Books.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp); eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_PreviewMouseUp);
#line default #line default

View File

@ -71,3 +71,41 @@ D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\obj\Debug\Buecherma
D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll
D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\obj\Debug\GetConnection.g.cs D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\obj\Debug\GetConnection.g.cs
D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\obj\Debug\GetConnection.baml D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\obj\Debug\GetConnection.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\BuechermarktClient.exe.config
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\BuechermarktClient.exe
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\BuechermarktClient.pdb
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\MongoDB.Bson.dll
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.dll
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\MongoDB.Driver.dll
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\Newtonsoft.Json.dll
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\MongoDB.Bson.xml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\MongoDB.Driver.xml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\MongoDB.Driver.Core.xml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\Newtonsoft.Json.xml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient.csprojResolveAssemblyReference.cache
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\Books.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BooksEdit.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BookTypes.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\GetConnection.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\Students.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\StudentsEdit.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BookTypesEdit.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\MainWindow.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\App.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\GeneratedInternalTypeHelper.g.cs
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient_MarkupCompile.cache
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient_MarkupCompile.lref
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\Books.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BooksEdit.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BookTypes.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\GetConnection.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\Students.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\StudentsEdit.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BookTypesEdit.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\MainWindow.baml
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient.g.resources
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient.Properties.Resources.resources
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient.csproj.GenerateResource.Cache
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient.exe
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\BuechermarktClient.pdb
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll

View File

@ -0,0 +1,11 @@
D:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\obj\Debug\GeneratedInternalTypeHelper.g.i.cs
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\Books.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\BooksEdit.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\BookTypes.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\GetConnection.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\Students.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\StudentsEdit.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\BookTypesEdit.xaml;;
FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\MainWindow.xaml;;

View File

@ -1,11 +1,11 @@
 
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\Books.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\Books.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\BooksEdit.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\BooksEdit.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\BookTypes.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\BookTypes.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\Students.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\GetConnection.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\StudentsEdit.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\Students.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\BookTypesEdit.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\StudentsEdit.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\MainWindow.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\BookTypesEdit.xaml;;
FD:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktClient\GetConnection.xaml;; FD:\Dokumente\Projekte\Buechermarkt\BuechermarktClient\MainWindow.xaml;;

View File

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

View File

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

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="MongoDB.Bson" version="2.4.3" targetFramework="net452" /> <package id="MongoDB.Bson" version="2.4.4" targetFramework="net452" />
<package id="MongoDB.Driver" version="2.4.3" targetFramework="net452" /> <package id="MongoDB.Driver" version="2.4.4" targetFramework="net452" />
<package id="MongoDB.Driver.Core" version="2.4.3" targetFramework="net452" /> <package id="MongoDB.Driver.Core" version="2.4.4" targetFramework="net452" />
<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net452" /> <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net452" /> <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net452" />
</packages> </packages>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup> </startup>
</configuration> </configuration>

View File

@ -8,9 +8,10 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<RootNamespace>BuechermarktServer</RootNamespace> <RootNamespace>BuechermarktServer</RootNamespace>
<AssemblyName>BuechermarktServer</AssemblyName> <AssemblyName>BuechermarktServer</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@ -49,10 +50,5 @@
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Resource Include="mongod.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Resource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View File

@ -23,7 +23,10 @@ namespace BuechermarktServer
Directory.CreateDirectory(RelativeDbPath); Directory.CreateDirectory(RelativeDbPath);
} }
var process = new Process(); var process = new Process();
process.StartInfo.FileName = "mongod.exe";
process.StartInfo.FileName = ".\\mongod.exe";
process.StartInfo.WorkingDirectory = Process.GetCurrentProcess().StartInfo.WorkingDirectory;
Console.WriteLine(Path.Combine(Environment.CurrentDirectory, "mongod.exe"));
process.StartInfo.Arguments = "--dbpath " + RelativeDbPath; process.StartInfo.Arguments = "--dbpath " + RelativeDbPath;
process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true; process.StartInfo.RedirectStandardError = true;
@ -36,7 +39,7 @@ namespace BuechermarktServer
ChildProcessTracker.AddProcess(process); ChildProcessTracker.AddProcess(process);
process.BeginErrorReadLine(); process.BeginErrorReadLine();
process.BeginOutputReadLine(); process.BeginOutputReadLine();
while (!process.WaitForExit(1000)) while (!process.WaitForExit(100))
{ {
Broadcast(); Broadcast();
} }
@ -56,7 +59,7 @@ namespace BuechermarktServer
static void Broadcast() static void Broadcast()
{ {
UdpClient client = new UdpClient(); UdpClient client = new UdpClient();
IPEndPoint ip = new IPEndPoint(IPAddress.Broadcast, 15000); IPEndPoint ip = new IPEndPoint(IPAddress.Broadcast, 3000);
byte[] bytes = Encoding.ASCII.GetBytes(ServerIdentifier); byte[] bytes = Encoding.ASCII.GetBytes(ServerIdentifier);
while (true) while (true)
{ {

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup> </startup>
</configuration> </configuration>

View File

@ -3,4 +3,4 @@ WiredTiger 2.9.2: (December 23, 2016)
WiredTiger version WiredTiger version
major=2,minor=9,patch=2 major=2,minor=9,patch=2
file:WiredTiger.wt file:WiredTiger.wt
access_pattern_hint=none,allocation_size=4KB,app_metadata=,block_allocation=best,block_compressor=,cache_resident=false,checkpoint=(WiredTigerCheckpoint.13=(addr="018481e4de671f778b81e45dfbb3a28d81e4a1a71b13808080e2cfc0e21fc0",order=13,time=1495233614,size=20480,write_gen=26)),checkpoint_lsn=(5,3840),checksum=uncompressed,collator=,columns=,dictionary=0,encryption=(keyid=,name=),format=btree,huffman_key=,huffman_value=,id=0,ignore_in_memory_cache_size=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=S,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=0,log=(enabled=true),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=75,value_format=S,version=(major=1,minor=1) access_pattern_hint=none,allocation_size=4KB,app_metadata=,block_allocation=best,block_compressor=,cache_resident=false,checkpoint=(WiredTigerCheckpoint.1=(addr="018381e440b482098481e4248984be808080808080e23fc0e20fc0",order=1,time=1498072305,size=16384,write_gen=2)),checkpoint_lsn=(2,128),checksum=uncompressed,collator=,columns=,dictionary=0,encryption=(keyid=,name=),format=btree,huffman_key=,huffman_value=,id=0,ignore_in_memory_cache_size=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=S,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=0,log=(enabled=true),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,value_format=S,version=(major=1,minor=1)

View File

@ -1 +1 @@
15548 7612

View File

@ -5,3 +5,8 @@ D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\Buecherma
D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.exe D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.exe
D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.pdb D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.pdb
D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.g.resources D:\Dokumente\Projekte\Privat\buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.g.resources
D:\Dokumente\Projekte\Buechermarkt\BuechermarktServer\bin\Debug\BuechermarktServer.exe.config
D:\Dokumente\Projekte\Buechermarkt\BuechermarktServer\bin\Debug\BuechermarktServer.exe
D:\Dokumente\Projekte\Buechermarkt\BuechermarktServer\bin\Debug\BuechermarktServer.pdb
D:\Dokumente\Projekte\Buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.exe
D:\Dokumente\Projekte\Buechermarkt\BuechermarktServer\obj\Debug\BuechermarktServer.pdb

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -167,6 +167,13 @@
<param name="millisecondsSinceEpoch">The number of milliseconds since Unix epoch.</param> <param name="millisecondsSinceEpoch">The number of milliseconds since Unix epoch.</param>
<returns>A DateTime.</returns> <returns>A DateTime.</returns>
</member> </member>
<member name="M:MongoDB.Bson.BsonUtils.ToHexChar(System.Int32)">
<summary>
Converts a value to a hex character.
</summary>
<param name="value">The value (assumed to be between 0 and 15).</param>
<returns>The hex character.</returns>
</member>
<member name="M:MongoDB.Bson.BsonUtils.ToHexString(System.Byte[])"> <member name="M:MongoDB.Bson.BsonUtils.ToHexString(System.Byte[])">
<summary> <summary>
Converts a byte array to a hex string. Converts a byte array to a hex string.
@ -10230,10 +10237,11 @@
</member> </member>
<member name="M:MongoDB.Bson.Decimal128.IsZero(MongoDB.Bson.Decimal128)"> <member name="M:MongoDB.Bson.Decimal128.IsZero(MongoDB.Bson.Decimal128)">
<summary> <summary>
Gets a value indicating whether this instance is zero. Returns a value indicating whether the specified number is zero.
</summary> </summary>
<param name="d">A 128-bit decimal.</param>
<returns> <returns>
<c>true</c> if this instance is zero; otherwise, <c>false</c>. <c>true</c> if the specified number is zero; otherwise, <c>false</c>.
</returns> </returns>
</member> </member>
<member name="M:MongoDB.Bson.Decimal128.Negate(MongoDB.Bson.Decimal128)"> <member name="M:MongoDB.Bson.Decimal128.Negate(MongoDB.Bson.Decimal128)">

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More