Code import

This commit is contained in:
Artur Savitskiy 2024-01-29 16:26:54 +01:00
parent de6d988c2d
commit d18ca8bcb0
1731 changed files with 1098837 additions and 400 deletions

16
.editorconfig Normal file
View File

@ -0,0 +1,16 @@
[*.cs]
# CS1998: Bei der asynchronen Methode fehlen "await"-Operatoren. Die Methode wird synchron ausgeführt.
dotnet_diagnostic.CS1998.severity = none
# CS8618: Ein Non-Nullable-Feld muss beim Beenden des Konstruktors einen Wert ungleich NULL enthalten. Erwägen Sie die Deklaration als Nullable.
dotnet_diagnostic.CS8618.severity = none
# Default severity for all analyzer diagnostics
dotnet_analyzer_diagnostic.severity = none
# CS8600: Das NULL-Literal oder ein möglicher NULL-Wert wird in einen Non-Nullable-Typ konvertiert.
dotnet_diagnostic.CS8600.severity = none
# CS8622: Die NULL-Zulässigkeit von Verweistypen im Typ des Parameters entspricht (möglicherweise aufgrund von Attributen für die NULL-Zulässigkeit) nicht dem Zieldelegaten.
dotnet_diagnostic.CS8622.severity = none

419
.gitignore vendored
View File

@ -1,400 +1,19 @@
# ---> VisualStudio
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.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
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# 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
# Note: 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
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable 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
*.appx
*.appxbundle
*.appxupload
# 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
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# 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
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
*.ncb
*.aps
# 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/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
*.sln.iml
################################################################################
# Diese .gitignore-Datei wurde von Microsoft(R) Visual Studio automatisch erstellt.
################################################################################
/.vs
/ServiceOutsideTests/obj
/ServiceOutsideTests/Debug
/ServiceOutside/bin
/ServiceOutside/obj
/ServiceOutside/Debug
/ServiceOutsideTests/bin
/ServiceShared/obj
/ServiceShared/Debug
/ServiceShared/bin
/ServiceInside/obj
/ServiceInside/Debug
/ServiceInside/bin
/ServiceInsideTests/obj
/ServiceInsideTests/Debug
/ServiceInsideTests/bin

View File

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

Binary file not shown.

156
PasswortEncryptor/MainForm.Designer.cs generated Normal file
View File

@ -0,0 +1,156 @@
namespace PasswortEncryptor
{
partial class MainForm
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.btnEncrypt = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.txtInput = new System.Windows.Forms.RichTextBox();
this.txtOutput = new System.Windows.Forms.RichTextBox();
this.label2 = new System.Windows.Forms.Label();
this.cbxTemplate = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// btnEncrypt
//
this.btnEncrypt.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnEncrypt.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnEncrypt.Location = new System.Drawing.Point(447, 394);
this.btnEncrypt.Name = "btnEncrypt";
this.btnEncrypt.Size = new System.Drawing.Size(109, 34);
this.btnEncrypt.TabIndex = 0;
this.btnEncrypt.Text = "Verschlüsseln";
this.btnEncrypt.UseVisualStyleBackColor = true;
this.btnEncrypt.Click += new System.EventHandler(this.btnEncrypt_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(221, 25);
this.label1.TabIndex = 1;
this.label1.Text = "Text zum Verschlüsseln";
//
// txtInput
//
this.txtInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtInput.Location = new System.Drawing.Point(17, 48);
this.txtInput.Name = "txtInput";
this.txtInput.Size = new System.Drawing.Size(539, 108);
this.txtInput.TabIndex = 2;
this.txtInput.Text = "";
//
// txtOutput
//
this.txtOutput.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtOutput.Location = new System.Drawing.Point(17, 243);
this.txtOutput.Name = "txtOutput";
this.txtOutput.Size = new System.Drawing.Size(539, 138);
this.txtOutput.TabIndex = 4;
this.txtOutput.Text = "";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(12, 204);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(190, 25);
this.label2.TabIndex = 3;
this.label2.Text = "Verschlüsselter Text";
//
// cbxTemplate
//
this.cbxTemplate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.cbxTemplate.BackColor = System.Drawing.Color.White;
this.cbxTemplate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxTemplate.FormattingEnabled = true;
this.cbxTemplate.Items.AddRange(new object[] {
"",
"MySQL"});
this.cbxTemplate.Location = new System.Drawing.Point(395, 162);
this.cbxTemplate.Name = "cbxTemplate";
this.cbxTemplate.Size = new System.Drawing.Size(161, 21);
this.cbxTemplate.TabIndex = 5;
this.cbxTemplate.SelectedIndexChanged += new System.EventHandler(this.cbxTemplate_SelectedIndexChanged);
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(346, 165);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(43, 13);
this.label3.TabIndex = 6;
this.label3.Text = "Vorlage";
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(568, 440);
this.Controls.Add(this.label3);
this.Controls.Add(this.cbxTemplate);
this.Controls.Add(this.txtOutput);
this.Controls.Add(this.label2);
this.Controls.Add(this.txtInput);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnEncrypt);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "MainForm";
this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Passwort Encryptor";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnEncrypt;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.RichTextBox txtInput;
private System.Windows.Forms.RichTextBox txtOutput;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox cbxTemplate;
private System.Windows.Forms.Label label3;
}
}

View File

@ -0,0 +1,192 @@
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.IO;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PasswortEncryptor
{
public partial class MainForm : Form
{
private static string MemoryMasterKey = "!ZEqy2Zsb#VK6<8`H6;W~VxJ$r:w.{ffzwDt=<yKC6m6N3;T<9nyeF&+.4&D@rhK";
public MainForm()
{
InitializeComponent();
}
public static string Encrypt(string value)
{
string result = null;
try
{
IBufferedCipher encCipher = CipherUtilities.GetCipher("AES/GCM/NoPadding");
byte[] keyBytes = GetKey(MemoryMasterKey);
KeyParameter key = new KeyParameter(keyBytes);
byte[] nonce = new byte[12];
RandomNumberGenerator.Create().GetBytes(nonce);
encCipher.Init(true, new ParametersWithIV(key, nonce));
byte[] plainText = Encoding.UTF8.GetBytes(value);
byte[] chiperBuffer = null;
byte[] tag = new byte[16];
byte[] resultBuffer = null;
using (MemoryStream memStream = new MemoryStream())
{
using (CipherStream encStream = new CipherStream(memStream, null, encCipher))
{
encStream.Write(plainText, 0, plainText.Length);
}
chiperBuffer = memStream.ToArray();
resultBuffer = nonce.Concat(chiperBuffer).ToArray();
}
result = Convert.ToBase64String(resultBuffer);
}
catch
{
result = null;
}
return result;
}
public static string Decrypt(string value)
{
string result = null;
try
{
IBufferedCipher decCipher = CipherUtilities.GetCipher("AES/GCM/NoPadding");
byte[] keyBytes = GetKey(MemoryMasterKey);
KeyParameter key = new KeyParameter(keyBytes);
byte[] combined = Convert.FromBase64String(value);
byte[] tag = combined.Skip(combined.Length - 16).ToArray();
byte[] nonce = combined.Take(12).ToArray();
byte[] chiperText = combined.Skip(nonce.Length).Take(combined.Length - nonce.Length).ToArray();
byte[] plainTextBuffer = null;
decCipher.Init(false, new ParametersWithIV(key, nonce));
using (MemoryStream memStream = new MemoryStream(chiperText, false))
{
MemoryStream dataStream = new MemoryStream();
using (dataStream)
{
using (CipherStream decStream = new CipherStream(memStream, (IBufferedCipher)decCipher, null))
{
int ch;
while ((ch = decStream.ReadByte()) >= 0)
{
dataStream.WriteByte((byte)ch);
}
}
}
plainTextBuffer = dataStream.ToArray();
result = Encoding.UTF8.GetString(plainTextBuffer);
}
}
catch
{
result = null;
}
return result;
}
public static byte[] GetKey(string password)
{
byte[] result = null;
try
{
if (!string.IsNullOrEmpty(password))
{
if (password.Length < 32)
{
password = password.PadRight(32, '@');
}
else if (password.Length > 32)
{
password = MD5Encrypt(password);
}
result = Encoding.ASCII.GetBytes(password);
}
}
catch (Exception ex)
{
}
return result;
}
public static string MD5Encrypt(string value)
{
string result = null;
try
{
byte[] bytes = Encoding.UTF8.GetBytes(value);
using (System.Security.Cryptography.MD5 hash = System.Security.Cryptography.MD5.Create())
{
byte[] hashedInputBytes = hash.ComputeHash(bytes);
StringBuilder hashedInputStringBuilder = new StringBuilder(128);
foreach (var b in hashedInputBytes)
{
hashedInputStringBuilder.Append(b.ToString("X2"));
}
result = hashedInputStringBuilder.ToString().ToLower();
}
}
catch
{
result = null;
}
return result;
}
private void cbxTemplate_SelectedIndexChanged(object sender, EventArgs e)
{
if(cbxTemplate.SelectedIndex == 1)
{
txtInput.Text = "Server=myServer;Uid=myUser;Database=myDatabase;Pwd=myPassword;SSLMode=None;Charset=utf8mb4";
}
}
private void btnEncrypt_Click(object sender, EventArgs e)
{
try
{
txtOutput.Text = Encrypt(txtInput.Text);
}
catch (Exception ex)
{
txtOutput.Text = ex.Message;
}
}
}
}

View File

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAAAAAAAEAIABhEAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAAAlw
SFlzAAALEwAACxMBAJqcGAAAEBNJREFUeJztnQmQXFUVhg9Bwo4sEVllhwTEUCCIilKFKZBFUFEwCrIG
FxAULMIiMRhZVChWQRAQRAqJRGRLxCgFkpJCwiIUiwoiq0AFAiasIdFzfD3CzNzu6el337mv+35f1VeV
ImHmnHfv+7vfdp8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTO2uo49evqWepUdbp6
qzpbfVR9Tn228efZjb+7sfFvz1S/pn6i8bMAoKaspo5XL1TvVuer/4ms/cy7Gr9jfON3AkACllY/q56r
PiDxd/Z2td99jvqZRk0AUBEj1O3UC9SXJd1O30yr6edSHHYsVtE2AMiO9dXvq/+U9Dt5uz6mTlHXi785
APJgMyk+URdI+h26UxdKcUJx08jbBqBnGSvFjv+WpN+BY7lIvV7dJuJ2AugpNpRiJ0m9s1btdeoGkbYZ
QNezlDpZfU3S75xeWq/fbfQOkC07qA9J+h0ylY+oO5feigBdxgrqlZJ+B6yLVzS2CUDPs6X6d0m/09XN
x9QPldiuALXny+qrkn5nq6uvq0d0vHUBasry6tWSfgfrFu3egeU62tIANWNl9XZJv1N1m3eq7+lgewPU
hnXVhyX9ztSt2lUC7hmArsRu5X1S0u9E3e4z6hbD3PYASdlWnSvpdx47qXa/FOcfTlL3U/eQ4om9rdQx
6ujGn8c1/s7+zcmN/+f+xs9I3cfcxjYFqD32yf+CpNlR7ArDLPVUKXbokRH6WVyKgJiozpR0VzFeUj8Q
oR+Aynif+H/tt6cFb1D3Ep9ba23hj70bv9P7SUXbtixPBrVklPje1vuEepT6Xo/mmmC/+8hGLV59P6iu
4tEcQLssq94hPjuA3UV4kMT5eh8Lq+VgKc7ae2wDu6y6jEtnAG1wqVQ/6W0F3/2lOCavK1bbgerzUv32
uNipJ4CW7C/VTnRbVccWCBnl1E8MVpRiKfKqFzXZ16shgBC21FUVS3D3aTcRbe3WTXys9ipvhJqnbuLW
DcA7sDPu90p1k/ty6Y374a2HX0h128nuVeB8ALhznlQzoe06+4GOfXgxQapb9egcxz4A5INSHJvHnsgv
SrH2f69iz/vPkfjbbaGwlgA4YS/oqOKSn93zPtaxj1RU9YyEvduwzldIoEc4TOJPXru2v45nE4lZV6q5
Z+Crjj1Ahtidb7Ef8nla8nyDjvVs33pibks7hFrVswnIi4sk7oS1MMn5ARd7zNce8om5Tc937QCywR70
eVPiTdQ31I+7dlBPtpdiW8Tarvb48lquHUAW2KWmmJ9ULH75NvZAUcxte4Zv+dDr2LF/zOfg7RVgvEL7
bWxbXCPxtu8rwrkAiIgtsBFrcj6mruRbfldgi6c+LvG28ym+5UOvYm+s+bfEm5g7+pbfVdhrwmJt55eF
tw1BBOw591iT8irn2ruRaRJvex/gXDv0ILdKnMlo3yLWdK69G7Elv+wpvxjb/Gbn2qHHsJtVFkmcyTjR
ufZu5niJs83tGYF1nGuHHmKSxJmItkrw8s61dzN27G539cXY9sc51w49RKzFLE7wLrwHOFHibPu/ehcO
vcHmEmcC2tloLvsNH7ssGOvqyxjn2qEHOFziTL4zvQvvIWLdfXmod+HQ/cS6M21L78J7iG0kzhhc7V04
dDe2sESMk1APeBfeg8R42YqdhB3hXTh0L7bkV4xPnqO9C+9BYl0S5A3D0DbfljiTjnfbl8feXhxjLI70
Lhy6F1uSu+yEe8K96t7lKSk/Hpd6Fw3dy5+FCVcnYgTy7e5VQ9cSY92//dyr7l3sPQllx2Oue9XQlawm
cY45eWVVPOxGnhhjwiIhMCTbS/mJZmsHLuFdeA9j2zLGeoy9/NIViIS9wqrsRHvIverex+7pLzsuB7lX
DV3HMVJ+ol3jXnXvc52UHxfuy4AhOUnKT7TT3avufWyl37LjMsW9aug6zpbyE22Se9W9z2QpPy48mAVD
comUn2jcdRafGHdnXuxeNXQdv5LyE22Ce9W9z1ek/LhMda8auo4ZUn6ifdG96t7HtmnZcZnhXjV0HTOl
/ETby73q3se2adlxmeleNXQdBEA9IQDABQKgnhAA4AIBUE8IAHCBAKgnBAC4QADUEwIAXCAA6gkBAC4Q
APWEAAAXCIB6QgCACwRAPSEAwAUCoJ4QAOACAVBPCABwgQCoJwQAuEAA1BMCAFwgAOoJAQAuEAD1hACA
piyrrq6uH8FZUn6iTZbi/QIYz8kRxmVWi3EfjjbXbM5BIjaWYvluW+HlGSk/MRA70eaezcGJ6kYClbOb
+kdJP/CIIW9VdxGIjr1n72ZJP8CI7WjnGvhGEIl91fmSflARh+M8dbxAKY6X9AOJ2KmLpDhXBR1gJ1ZS
DyBiDO2lJjAMdpciPVMPHGIMbS7vKtAWq6kvSPpBQ4zpHHVVgSG5XNIPFmIV/kygJWPUhZJ+oBCr0Ob2
pgJNuVDSDxJilf5EIMjS6kuSfoAQq3SuuqTAIHaU9IOD6OEOAoOYIukHBtHDEwUGMU3SDwyih1MFBnGn
pB8YRA/vEBjEw5J+YBA9fEhgEI9K+oFB9NDmOgyAAMBcJAACEACYiwRAAAIAc5EACEAAYC4SAAEIAMxF
AiAAAYC5SAAEIAAwFwmAAAQA5iIBEIAAwFwkAAIQAJiLBEAAAgBzkQAIQABgLhIAAQgAzEUCIAABgLlI
AAQgADAXCYAABADmIgEQgADAXCQAAhAAmIsEQAACAHORAAhAAGAuEgABCADMRQIgAAGAuUgABCAAMBcJ
gAAEAOYiARCAAMBcJAACEACYiwRAAAIAc5EACEAAYC4SAAEIAMxFAiAAAYC5SAAEIAAwFwmAAAQA5iIB
EIAAwFwkAALUMQCeUS9TD1a3U9dXV1HXUEeru6nHqzPVN2tQbytfVqepR6jj1I3UVRtu1Phv9ne/bvzb
1PW28g31d41tv2tjLNZojI2N0cfUCY2x+1cN6h0oARCgLgGwSJ2u7qQuPoz6R6nfUp+oQQ/v9G71S+rS
w+jF/u0+6j01qP+dPq5+U4odvV1sDD+pzqhB/X0SAAHqEAC2s2xbso+R6tHq/MS9PKl+vmQvi6lfUJ9O
3Ms89Sh1iZL9fFS9N3EvBEATUgaAfeqfor4rYj8bS7pPUPuqv2LEXlZSf5Ool9nqBhF7sRD5kRRjTgDU
iFQBsEA9oKKellFvcO7nLCk+uWNjP3Oycy/Xy/AOXYaDHeKkOm9DAARIEQBvSfmvyUNhnzjTnfo5qeJe
jFOderGdv+xX/qHYW13o1A8BMAQpAuAol85EllXvq7iXK6SaT/6B2O+4quJe7NBpGYdejIkV90IAtIl3
ANhXc48dpg+7VPVqBX2Yj6jL+bUiK6j/qKAP8xUpzp94YXPA+woBARDAMwBskq3n01Y/JnVY71Du4tlE
g51K1NvK4zybaPA+8b1qQwAE8AyAHzj1NJClpLi5KGYvv3ftoD+3NKmpU5+V6k76DcXpbdZIAFSEVwDY
md/VnXoK8Z0mdXXqTr7l92PnFnV14rG+5ffD7iRc0KQuAsABrwC41quhJqwpxdWHGL08JcO7WzE2I6S4
4ShGL3Y2fi3f8gdxoxAAyfAKgKqu+Q+HOyROL+d6Fx7gfInTy+3ehQewZz4IgER4BUCKk38DsXMQMXr5
nHfhAfaSOL2c4l14gA2FAEiGRwDYPeWel/6aYXehxejH83JZM8ZInF7GexcewOaGzRECIAEeAXCfWzet
+YjE6Wekd+EBlpQ4vZR9CCsW9wsBkASPALjNrZvWbCble3nVvermvCbl+xnjXnWYWUIAJMEjAG7xamYI
NpHyvcxzr7o5Mb42b+JedZhbhQBIgkcA3OXWTWu2lvK92OOsI7wLD2CXIWM8WruVd+FNsDUhCIAEeATA
c27dtGZPidPP2t6FB1hX4vTyaee6mzFHCIAkeF0GHOXVUAtsLbsYvaS8C7CPWHcDprwLsA9bH9FjDhIA
AbwCoA6fNDdJnF6meBce4GSJ08t078ID2H0VBEAivALgp14NNcEepY31WPDdzrWH+IvE6cWexvN8pDnE
JUIAJMMrAF6SdE+cGQc0qatT3+9bfj/GtqirE/fzLb8ftgCJ13LoBEAAz8eBD3XqaSB2p1nslYEuce2g
P5e1qKsTbcXeVHdqHtFmjQRARXgGgD3BluLr5vgO622lPd482rOJBnYzUxWPz1a9RmOI5SX+Og0EwDDx
XhLsNJ+2/o8t013V+vp/EN9PTrv/4JbIPfRp4byCWycFZ0SqnQAogXcA2PPnO7p0VnB1RX30ebRfK9Eu
YzZzql8r/7uM6b0yMAEQIMWqwHZCcKxDb99z6MUWGdnToZfdxWflnEkOvdhhzIsOvRAAbZDqxSC2qs5m
FfZ1rGMvdnlxtwp72UPiPPjTrhMr7GVz8T3uJwCGIOWrwexTYOfI/dgCoBcm6MU+nQ+XuOcE7GcdKfGW
MhuO50nxyHFMPqXOTdALAdCC1C8HtQdazlbfHaGXD0v1LwIZSnuzzjoRerEVlLzebNRMe1HINhF6sROx
P5a07wUkAJqQOgD6tAeG7IRaJ0GwhRRvzUk9wfq09x/YGe5OFtu0B43OlOpeZjJc7UTdldLZORsby2PU
52vQh0kABKhLAPRpE/+XUtydZm+nDT16a6/8sk97e5nFXTWouZn21d2ePzhMimPf0EpCIxt/9w11pqR5
Z1672huD7dzKto0xGIg9omxjtr8UgVyXEOuTAAhQtwAY6OuNGu3r6INSnDxMXVOn2nmCx6VY/ur+xp+9
1sSvwqcaY3JPY4xer0FNrSQAAtQ9ABBjSQAEIAAwFwmAAAQA5iIBEIAAwFwkAAIQAJiLBEAAAgBzkQAI
QABgLhIAAQgAzEUCIAABgLlIAAQgADAXCYAABADmIgEQgADAXCQAAhAAmIsEQAACAHORAAhAAGAuEgAB
CADMRQIgAAGAuUgABCAAMBcJgAAEAOYiARCAAMBcJAACEACYiwRAAAIAc5EACEAAYC4SAAEIAMxFAiAA
AYC5SAAEIAAwFwmAAAQA5iIBEIAAwFwkAAIQAJiLBEAAAgBzkQAIQABgLhIAAQgAzEUCIAABgLlIAAT4
m6QfGEQPba7DAO6R9AOD6OFsgUFMl/QDg+jhDQKDOEPSDwyih6cLDGIvST8wiB7uKTCIUeoCST84iFX6
prqyQBA7Nko9QIhVeq1AU3aS9AOEWKXjBFryJ0k/SIhVeJvAkGypviXpBwsxpnZ+a6xAW5wg6QcMMabH
CrTNCHWapB80xBhOlWJOwzBYSp0h6QcPsYw3qksKdMQS6kWSfhARO/ECKeYwlGQfdY6kH1DEdnxeHS8Q
lVXU09R5kn6AEUPa3PyhcKdfpayoHqLepM6X9IOOeWtz8LfqBCnmJjhix1ej1d2lOEw4BNFBm2s252zu
cYwPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP35L3PYFYuH
ceEvAAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{CD295BBA-022A-40AC-A263-098BB8F30549}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>PasswortEncryptor</RootNamespace>
<AssemblyName>PasswortEncryptor</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>encrypted.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>.\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="BouncyCastle.Crypto.dll" />
<Content Include="encrypted.ico" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>de-DE</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PasswortEncryptor
{
internal static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("Password Encryptor")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MVZ Dr. Stein und Kollegen")]
[assembly: AssemblyProduct("PasswortEncryptor")]
[assembly: AssemblyCopyright("Copyright © MVZ Dr. Stein und Kollegen 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("cd295bba-022a-40ac-a263-098bb8f30549")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion: 4.0.30319.42000
//
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
// der Code neu generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PasswortEncryptor.Properties
{
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse
// über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PasswortEncryptor.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PasswortEncryptor.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

Binary file not shown.

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1 @@
5a75cd783901fe21fe7a9a694d8b3934a7b79be3

View File

@ -0,0 +1,13 @@
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.csproj.AssemblyReference.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.csproj.SuggestedBindingRedirects.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Debug\PasswortEncryptor.exe.config
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Debug\PasswortEncryptor.exe
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Debug\PasswortEncryptor.pdb
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Debug\BouncyCastle.Crypto.dll
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.MainForm.resources
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.Properties.Resources.resources
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.csproj.GenerateResource.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.csproj.CoreCompileInputs.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.csproj.CopyComplete
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.exe
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Debug\PasswortEncryptor.pdb

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1 @@
d16475cd27f542540643ceed2c0731f5539a8a51

View File

@ -0,0 +1,13 @@
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Release\PasswortEncryptor.exe.config
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Release\PasswortEncryptor.exe
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Release\PasswortEncryptor.pdb
C:\git\Befund\ServiceInside\PasswortEncryptor\bin\Release\BouncyCastle.Crypto.dll
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.csproj.AssemblyReference.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.csproj.SuggestedBindingRedirects.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.MainForm.resources
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.Properties.Resources.resources
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.csproj.GenerateResource.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.csproj.CoreCompileInputs.cache
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.csproj.CopyComplete
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.exe
C:\git\Befund\ServiceInside\PasswortEncryptor\obj\Release\PasswortEncryptor.pdb

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BouncyCastle" version="1.8.9" targetFramework="net472" />
</packages>

View File

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

221
PrimarySystemSimulator/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,221 @@
namespace PrimarySystemSimulator
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.resultsText = new System.Windows.Forms.RichTextBox();
this.label5 = new System.Windows.Forms.Label();
this.lblStatus = new System.Windows.Forms.Label();
this.send = new System.Windows.Forms.Button();
this.sampleid = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.pathSelector = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox1.BackColor = System.Drawing.Color.White;
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Controls.Add(this.comboBox1);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.resultsText);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.lblStatus);
this.groupBox1.Controls.Add(this.send);
this.groupBox1.Controls.Add(this.sampleid);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.panel1);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.pathSelector);
this.groupBox1.Location = new System.Drawing.Point(12, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(370, 683);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "groupBox1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(279, 107);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 19;
this.button1.Text = "Laden";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(7, 109);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(259, 21);
this.comboBox1.TabIndex = 18;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(7, 92);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(40, 13);
this.label2.TabIndex = 17;
this.label2.Text = "Patient";
//
// resultsText
//
this.resultsText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.resultsText.Location = new System.Drawing.Point(10, 216);
this.resultsText.Name = "resultsText";
this.resultsText.Size = new System.Drawing.Size(341, 361);
this.resultsText.TabIndex = 9;
this.resultsText.Text = "Test Befund 1";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(7, 200);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(41, 13);
this.label5.TabIndex = 10;
this.label5.Text = "Befund";
//
// lblStatus
//
this.lblStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.lblStatus.Location = new System.Drawing.Point(10, 580);
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(341, 37);
this.lblStatus.TabIndex = 16;
//
// send
//
this.send.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.send.Location = new System.Drawing.Point(245, 630);
this.send.Name = "send";
this.send.Size = new System.Drawing.Size(106, 23);
this.send.TabIndex = 1;
this.send.Text = "SEND";
this.send.UseVisualStyleBackColor = true;
this.send.Click += new System.EventHandler(this.send_Click);
//
// sampleid
//
this.sampleid.Location = new System.Drawing.Point(10, 153);
this.sampleid.MaxLength = 14;
this.sampleid.Name = "sampleid";
this.sampleid.Size = new System.Drawing.Size(341, 20);
this.sampleid.TabIndex = 8;
this.sampleid.Text = "1111111111";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(7, 137);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(83, 13);
this.label4.TabIndex = 7;
this.label4.Text = "Auftragsnummer";
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.DarkGray;
this.panel1.Location = new System.Drawing.Point(10, 75);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(344, 3);
this.panel1.TabIndex = 2;
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label1.Location = new System.Drawing.Point(7, 20);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(357, 23);
this.label1.TabIndex = 1;
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pathSelector
//
this.pathSelector.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pathSelector.Location = new System.Drawing.Point(248, 46);
this.pathSelector.Name = "pathSelector";
this.pathSelector.Size = new System.Drawing.Size(106, 23);
this.pathSelector.TabIndex = 0;
this.pathSelector.Text = "Private Storage";
this.pathSelector.UseVisualStyleBackColor = true;
this.pathSelector.Click += new System.EventHandler(this.pathSelector_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(381, 707);
this.Controls.Add(this.groupBox1);
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Form1";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.RichTextBox resultsText;
private System.Windows.Forms.TextBox sampleid;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button pathSelector;
private System.Windows.Forms.Button send;
private System.Windows.Forms.Label lblStatus;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
}
}

View File

@ -0,0 +1,440 @@
using Newtonsoft.Json;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PrimarySystemSimulator
{
public partial class Form1 : Form
{
private string _Path = @"c:\pba\private";
private List<Patient> _Patients = new List<Patient>();
private string patient_path = "";
private bool IsLoading = false;
private bool IsWatching = false;
private bool PatientOpen = false;
private delegate void LoadingFinishedDelegate();
private delegate void PatientSavedDelegate(Patient patient, string ack);
private delegate void ShowPatientDialogDelegate(string ack);
public Form1()
{
InitializeComponent();
label1.Text = _Path;
Initialize();
}
private void Initialize()
{
try
{
patient_path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "tmp_db");
if(!Directory.Exists(patient_path))
{
Directory.CreateDirectory(patient_path);
}
this.LoadPatients();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void WatchRegisterAcks()
{
if(!IsWatching)
{
Thread thread = new Thread(WatchRegisterAcksInBG);
thread.Start();
}
}
private void WatchRegisterAcksInBG()
{
try
{
IsWatching = true;
while(IsWatching)
{
if(!PatientOpen)
{
string[] acks = Directory.GetFiles(Path.Combine(_Path, "ack"), "*.log");
string ack_done_dir = Path.Combine(Path.Combine(_Path, "ack"), "done");
if (acks != null && acks.Length > 0)
{
string type = "";
string pgs = "";
string udid = "";
Patient patien = null;
string[] lines = File.ReadAllLines(acks[0]);
if (lines != null && lines.Length > 0)
{
foreach (string line in lines)
{
if (line.StartsWith("TYPE:"))
{
type = line.Replace("TYPE:", "").Trim(' ').Replace("\r\n", "").Replace("\n", "");
}
else if (line.StartsWith("PGS:"))
{
pgs = line.Replace("PGS:", "").Trim(' ').Replace("\r\n", "").Replace("\n", "");
}
else if (line.StartsWith("UDID:"))
{
udid = line.Replace("UDID:", "").Trim(' ').Replace("\r\n", "").Replace("\n", "");
}
}
}
if (_Patients != null && _Patients.Count > 0)
{
patien = _Patients.FirstOrDefault(m => m.PGS == pgs);
}
if(type == "SUBSCRIBE")
{
if (patien == null)
{
ShowPatientDialog(acks[0]);
}
else if (!string.IsNullOrWhiteSpace(pgs) && !string.IsNullOrEmpty(udid))
{
patien.PGS = pgs;
patien.UDID = udid;
PatientSaved(patien, acks[0]);
}
}
string done_file = Path.Combine(ack_done_dir, Path.GetFileName(acks[0] + ".imp"));
File.Move(acks[0], done_file);
}
}
Thread.Sleep(200);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void SavePatientInDb(Patient patient)
{
try
{
string json = JsonConvert.SerializeObject(patient);
if(!String.IsNullOrEmpty(json))
{
string file = Path.Combine(patient_path, patient.PatId + ".json");
if(File.Exists(file))
{
File.Delete(file);
}
File.WriteAllText(file, json);
LoadPatients();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void ShowPatientDialog(string ack)
{
if(this.send.InvokeRequired)
{
this.send.Invoke(new ShowPatientDialogDelegate(ShowPatientDialog), ack);
}
else
{
PatientOpen = true;
Register register = new Register(ack);
DialogResult result = register.ShowDialog();
PatientSaved(register.Patient, ack);
}
}
private void PatientSaved(Patient patient, string ack)
{
if(this.send.InvokeRequired)
{
this.send.Invoke(new PatientSavedDelegate(PatientSaved), patient, ack);
}
else
{
if(patient != null)
{
if (patient.Status == "REJECTED")
{
string filename = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "test.pdf");
if (File.Exists(filename))
{
File.Delete(filename);
}
string pgs = SHA512HASH(patient.Zip + patient.Birthday + sampleid.Text);
string testhl7 = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "befund.hl7");
string content = File.ReadAllText(testhl7);
content = content.Replace("[STATUS]", "REJECTED");
content = content.Replace("[UDID]", patient.UDID);
content = content.Replace("[PGS]", patient.PGS);
string newFile = Path.Combine(_Path, SHA512HASH(patient.PGS + patient.UDID) + ".hl7");
File.WriteAllText(newFile, content);
lblStatus.Text = "Auftrag wurde abgelehnt";
}
else
{
SavePatientInDb(patient);
}
}
PatientOpen = false;
this.LoadPatients();
}
}
private void LoadPatients()
{
try
{
if(send.InvokeRequired)
{
send.Invoke(new LoadingFinishedDelegate(LoadPatients));
}
else
{
if (!IsLoading)
{
send.Visible = true;
Thread thread = new Thread(LoadPatientsAsync);
thread.Start();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void LoadPatientsAsync()
{
try
{
_Patients = null;
IsLoading = true;
string[] files = Directory.GetFiles(patient_path, "*.json");
if (files != null && files.Length > 0)
{
_Patients = new List<Patient>();
foreach (string file in files)
{
if(!string.IsNullOrEmpty(file) && File.Exists(file))
{
string json = File.ReadAllText(file);
if(!string.IsNullOrEmpty(json))
{
Patient patient = JsonConvert.DeserializeObject<Patient>(json);
if(patient != null && _Patients != null)
{
_Patients.Add(patient);
}
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
LoadFinished();
}
}
private void LoadFinished()
{
if(this.send.InvokeRequired)
{
this.send.Invoke(new LoadingFinishedDelegate(LoadFinished));
}
else
{
comboBox1.DataSource = null;
if(_Patients != null && _Patients.Count > 0)
{
comboBox1.DataSource = _Patients;
comboBox1.DisplayMember = "Name";
}
IsLoading = false;
if(!IsWatching)
{
this.WatchRegisterAcks();
}
}
}
private void send_Click(object sender, EventArgs e)
{
lblStatus.Text = "";
try
{
if (string.IsNullOrEmpty(this._Path))
{
MessageBox.Show("Bitte wählen Sie den Pfad von der Freigabe, wo der ServiceInside die Dateien bearbeitet");
}
else if (string.IsNullOrEmpty(this.sampleid.Text))
{
MessageBox.Show("Bitte geben Sie eine Auftragsnummer ein");
}
else if (string.IsNullOrEmpty(this.resultsText.Text))
{
MessageBox.Show("Bitte geben Sie einen Text als Befund ein");
}
else if(comboBox1.SelectedValue == null)
{
MessageBox.Show("Bitte wählen Sie einen Patient aus");
}
else
{
Patient patient = (comboBox1.SelectedValue as Patient);
PdfDocument document = new PdfDocument();
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
gfx.DrawString("Patient: " + patient.Name + " (" + patient.PatId + ")", new XFont("Arial", 16, XFontStyle.Bold), XBrushes.Black, 100, 100);
gfx.DrawString("PLZ:" + patient.Zip, new XFont("Arial", 16, XFontStyle.Bold), XBrushes.Black, 100, 120);
gfx.DrawString("Geburtsdatum: " + patient.Birthday, new XFont("Arial", 16, XFontStyle.Bold), XBrushes.Black, 100, 140);
gfx.DrawString("Auftragsnummer: " + sampleid.Text, new XFont("Arial", 16, XFontStyle.Bold), XBrushes.Black, 100, 160);
gfx.DrawString("BEFUND: " + sampleid.Text, new XFont("Arial", 16, XFontStyle.Bold), XBrushes.Black, 100, 200);
gfx.DrawString(resultsText.Text, new XFont("Arial", 16, XFontStyle.Bold), XBrushes.Black, 100, 220);
string filename = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "test.pdf");
if (File.Exists(filename))
{
File.Delete(filename);
}
document.Save(filename);
string base64 = Convert.ToBase64String(File.ReadAllBytes(filename));
string pgs = SHA512HASH(patient.Zip + patient.Birthday + sampleid.Text);
string testhl7 = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "befund.hl7");
string content = File.ReadAllText(testhl7);
content = content.Replace("[BIRTHDAY]", patient.Birthday);
content = content.Replace("[ZIP]", patient.Zip);
content = content.Replace("[SAMPLEID]", sampleid.Text);
content = content.Replace("[PATID]", patient.PatId);
content = content.Replace("[UDID]", patient.UDID);
content = content.Replace("[RESULTS]", base64);
content = content.Replace("[STATUS]", "COMPLETED");
content = content.Replace("[PGS]", pgs);
string newFile = Path.Combine(_Path, pgs + ".hl7");
File.WriteAllText(newFile, content);
lblStatus.Text = "Test Befund wurde erfolgreich erstellt";
}
}
catch (Exception ex)
{
lblStatus.Text = ex.Message;
}
}
private void pathSelector_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
if(dialog.ShowDialog() == DialogResult.OK)
{
this._Path = dialog.SelectedPath;
label1.Text = dialog.SelectedPath;
}
}
public static string SHA512HASH(string value)
{
string result = null;
try
{
byte[] bytes = Encoding.UTF8.GetBytes(value);
using (System.Security.Cryptography.SHA512 hash = System.Security.Cryptography.SHA512.Create())
{
byte[] hashedInputBytes = hash.ComputeHash(bytes);
StringBuilder hashedInputStringBuilder = new StringBuilder(128);
foreach (var b in hashedInputBytes)
{
hashedInputStringBuilder.Append(b.ToString("X2"));
}
result = hashedInputStringBuilder.ToString().ToLower();
}
}
catch
{
result = null;
}
return result;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
IsWatching = false;
}
private void button1_Click(object sender, EventArgs e)
{
LoadPatients();
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PrimarySystemSimulator
{
public class Patient
{
public string PGS { get; set; }
public string Name { get; set; }
public string PatId { get; set; }
public string Zip { get; set; }
public string Birthday { get; set; }
public string UDID { get; set; }
public string Status { get; set; }
}
}

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{91114F93-C7BF-4ACF-8546-43C37160D7D3}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>PrimarySystemSimulator</RootNamespace>
<AssemblyName>PrimarySystemSimulator</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.Charting, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Patient.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Register.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Register.Designer.cs">
<DependentUpon>Register.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="Register.resx">
<DependentUpon>Register.cs</DependentUpon>
</EmbeddedResource>
<None Include="..\.editorconfig">
<Link>.editorconfig</Link>
</None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<None Include="befund.hl7">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\loading.gif" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PrimarySystemSimulator
{
internal static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("PrimarySystemSimulator")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PrimarySystemSimulator")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("91114f93-c7bf-4acf-8546-43c37160d7d3")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,73 @@
//------------------------------------------------------------------------------
// <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 PrimarySystemSimulator.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PrimarySystemSimulator.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap loading {
get {
object obj = ResourceManager.GetObject("loading", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="loading" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\loading.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PrimarySystemSimulator.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,244 @@
namespace PrimarySystemSimulator
{
partial class Register
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Register));
this.label1 = new System.Windows.Forms.Label();
this.lblPGS = new System.Windows.Forms.Label();
this.udid = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.patientnummer = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.patient = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.birthday = new System.Windows.Forms.DateTimePicker();
this.label2 = new System.Windows.Forms.Label();
this.zip = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(24, 13);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(43, 20);
this.label1.TabIndex = 0;
this.label1.Text = "PGS";
//
// lblPGS
//
this.lblPGS.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblPGS.Location = new System.Drawing.Point(92, 13);
this.lblPGS.Name = "lblPGS";
this.lblPGS.Size = new System.Drawing.Size(412, 78);
this.lblPGS.TabIndex = 1;
//
// udid
//
this.udid.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.udid.Location = new System.Drawing.Point(92, 91);
this.udid.Name = "udid";
this.udid.Size = new System.Drawing.Size(413, 23);
this.udid.TabIndex = 3;
this.udid.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.Location = new System.Drawing.Point(23, 91);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(50, 20);
this.label3.TabIndex = 2;
this.label3.Text = "UDID";
//
// patientnummer
//
this.patientnummer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.patientnummer.Location = new System.Drawing.Point(238, 148);
this.patientnummer.MaxLength = 10;
this.patientnummer.Name = "patientnummer";
this.patientnummer.Size = new System.Drawing.Size(266, 20);
this.patientnummer.TabIndex = 23;
this.patientnummer.Text = "1";
//
// label6
//
this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(235, 132);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(77, 13);
this.label6.TabIndex = 22;
this.label6.Text = "Patientnummer";
//
// patient
//
this.patient.Location = new System.Drawing.Point(27, 148);
this.patient.Name = "patient";
this.patient.Size = new System.Drawing.Size(205, 20);
this.patient.TabIndex = 21;
this.patient.Text = "Max Mustermann";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(21, 132);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(40, 13);
this.label7.TabIndex = 20;
this.label7.Text = "Patient";
//
// birthday
//
this.birthday.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.birthday.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.birthday.Location = new System.Drawing.Point(27, 242);
this.birthday.Name = "birthday";
this.birthday.Size = new System.Drawing.Size(477, 20);
this.birthday.TabIndex = 19;
this.birthday.Value = new System.DateTime(1987, 1, 4, 0, 0, 0, 0);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(24, 225);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(73, 13);
this.label2.TabIndex = 18;
this.label2.Text = "Geburtsdatum";
//
// zip
//
this.zip.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.zip.Location = new System.Drawing.Point(27, 192);
this.zip.MaxLength = 10;
this.zip.Name = "zip";
this.zip.Size = new System.Drawing.Size(477, 20);
this.zip.TabIndex = 17;
this.zip.Text = "41238";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(24, 176);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(27, 13);
this.label4.TabIndex = 16;
this.label4.Text = "PLZ";
//
// button1
//
this.button1.Location = new System.Drawing.Point(422, 356);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(82, 44);
this.button1.TabIndex = 24;
this.button1.Text = "Verknüpfen";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(334, 356);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(82, 44);
this.button2.TabIndex = 25;
this.button2.Text = "Ablehnen";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// label5
//
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.ForeColor = System.Drawing.Color.Red;
this.label5.Location = new System.Drawing.Point(26, 276);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(479, 65);
this.label5.TabIndex = 26;
this.label5.Text = resources.GetString("label5.Text");
//
// Register
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(517, 412);
this.Controls.Add(this.label5);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.patientnummer);
this.Controls.Add(this.label6);
this.Controls.Add(this.patient);
this.Controls.Add(this.label7);
this.Controls.Add(this.birthday);
this.Controls.Add(this.label2);
this.Controls.Add(this.zip);
this.Controls.Add(this.label4);
this.Controls.Add(this.udid);
this.Controls.Add(this.label3);
this.Controls.Add(this.lblPGS);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "Register";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Register";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label lblPGS;
private System.Windows.Forms.Label udid;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox patientnummer;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox patient;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.DateTimePicker birthday;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox zip;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label5;
}
}

View File

@ -0,0 +1,97 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PrimarySystemSimulator
{
public partial class Register : Form
{
public Patient Patient = null;
public Register()
{
InitializeComponent();
}
public Register(string ack)
{
InitializeComponent();
try
{
if (!string.IsNullOrEmpty(ack) && File.Exists(ack))
{
string[] lines = File.ReadAllLines(ack);
if (lines != null && lines.Length > 0)
{
foreach (string line in lines)
{
if (line.StartsWith("PGS:"))
{
lblPGS.Text = line.Replace("PGS:", "").Trim(' ').Replace("\r\n", "").Replace("\n", "");
}
else if (line.StartsWith("UDID:"))
{
udid.Text = line.Replace("UDID:", "").Trim(' ').Replace("\r\n", "").Replace("\n", "");
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.patient.Text))
{
MessageBox.Show("Bitte geben Sie einen Patientennamen ein");
}
else if (string.IsNullOrEmpty(this.patientnummer.Text))
{
MessageBox.Show("Bitte geben Sie eine Patientennummer ein");
}
else if (string.IsNullOrEmpty(this.zip.Text))
{
MessageBox.Show("Bitte geben Sie eine PLZ ein");
}
else
{
Patient = new Patient();
Patient.Name = this.patient.Text;
Patient.PatId = this.patientnummer.Text;
Patient.Birthday = this.birthday.Value.ToString("yyyy-MM-dd");
Patient.UDID = udid.Text;
Patient.PGS = lblPGS.Text;
Patient.Zip = zip.Text;
Patient.Status = "COMPLETED";
this.DialogResult = DialogResult.OK;
}
}
private void button2_Click(object sender, EventArgs e)
{
Patient = new Patient();
Patient.Name = this.patient.Text;
Patient.PatId = this.patientnummer.Text;
Patient.Birthday = this.birthday.Value.ToString("yyyy-MM-dd");
Patient.UDID = udid.Text;
Patient.PGS = lblPGS.Text;
Patient.Zip = zip.Text;
Patient.Status = "REJECTED";
this.DialogResult = DialogResult.Cancel;
}
}
}

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="label5.Text" xml:space="preserve">
<value>WICHTIG: Im Simulator soll bei der Patientenverknüpfung darauf aufgepasst werden, dass die PLZ, GEB gleich eingegeben wird wie in der mobilen App.
Primary System(MOLIS) kann anhand PGS diese automatisch auflösen bzw. zuordnen.
</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1 @@
MSH|^~\&|MOLIS|MGLSLB|CLOVERLEAF|JEK KH|20220330110245||MDM^T01|25625698|P|2.3|||AL|NE|DE EVN|T01|20220330110245|[STATUS] PID|1|[PATID]|[BIRTHDAY]|[ZIP]|[UDID] TXA|1|[SAMPLEID]|[PGS] OBX|||||[RESULTS]

Binary file not shown.

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.

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1 @@
MSH|^~\&|MOLIS|MGLSLB|CLOVERLEAF|JEK KH|20220330110245||MDM^T01|25625698|P|2.3|||AL|NE|DE EVN|T01|20220330110245|[STATUS] PID|1|[PATID]|[BIRTHDAY]|[ZIP]|[UDID] TXA|1|[SAMPLEID]|[PGS] OBX|||||[RESULTS]

Binary file not shown.

View File

@ -0,0 +1 @@
{"PGS":"42c771a58b4ac0915683ab931f12e54012380a29462915dbd2db10adc7b9ea5d917964c4564652a6032076cece5e6dcec511e6c116b5a8b048d8b5287082f9ff","Name":"Max Mustermann","PatId":"1","Zip":"41238","Birthday":"1987-01-04","UDID":"c08ff0e0bb55bb35_8e69ae26-4d65-4bf7-a44d-8bb968221b3e","Status":"COMPLETED"}

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

View File

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

View File

@ -0,0 +1 @@
MSH|^~\&|MOLIS|MGLSLB|CLOVERLEAF|JEK KH|20220330110245||MDM^T01|25625698|P|2.3|||AL|NE|DE EVN|T01|20220330110245|[STATUS] PID|1|[PATID]|[BIRTHDAY]|[ZIP]|[UDID] TXA|1|[SAMPLEID]|[PGS] OBX|||||[RESULTS]

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

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