Code import
This commit is contained in:
parent
de6d988c2d
commit
d18ca8bcb0
|
@ -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
|
|
@ -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
|
|
@ -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.
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
||||
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
|
||||
ceEvAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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")]
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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.
|
@ -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.
|
@ -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 |
|
@ -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")]
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
5a75cd783901fe21fe7a9a694d8b3934a7b79be3
|
|
@ -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.
Binary file not shown.
|
@ -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")]
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
d16475cd27f542540643ceed2c0731f5539a8a51
|
|
@ -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.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="BouncyCastle" version="1.8.9" targetFramework="net472" />
|
||||
</packages>
|
|
@ -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>
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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; }
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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")]
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 |
|
@ -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
Binary file not shown.
|
@ -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.
|
@ -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.
Binary file not shown.
Binary file not shown.
|
@ -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.
Binary file not shown.
Binary file not shown.
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
Binary file not shown.
|
@ -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.
|
@ -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.
Binary file not shown.
|
@ -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")]
|
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue