functionality testing
This commit is contained in:
parent
824f98e6d2
commit
3c99fe5624
24 changed files with 870 additions and 128 deletions
|
|
@ -1,16 +1,15 @@
|
|||
#include "stdafx.h"
|
||||
#include "EpdBase.h"
|
||||
|
||||
#define DiscoveryExpirationPeriod 1000
|
||||
|
||||
EpdBase::Epd2U::Epd2U(int comport)
|
||||
{
|
||||
port = comport;
|
||||
CommsInitialized = 0;
|
||||
SetAutoCommit(0);
|
||||
Error = 123;
|
||||
|
||||
//SetTimeouts(port, 20, 1000, 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
DWORD EpdBase::Epd2U::StartCom()
|
||||
|
|
@ -20,7 +19,7 @@ DWORD EpdBase::Epd2U::StartCom()
|
|||
if (InitRv == 0) Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
else {
|
||||
CommsInitialized = 1;
|
||||
SetDiscoveryExpirationPeriod(port, 5000);
|
||||
SetDiscoveryExpirationPeriod(port, DiscoveryExpirationPeriod);
|
||||
}
|
||||
return Error;
|
||||
}
|
||||
|
|
@ -35,17 +34,18 @@ EpdBase::Epd2U::~Epd2U()
|
|||
int EpdBase::Epd2U::StartDiscover()
|
||||
{
|
||||
Error = 0;
|
||||
FlushDiscoveryCache(port);
|
||||
Sleep(200);
|
||||
DiscRV= Discover(port, DeviceIDs, MaxDevices, &DeviceCount);
|
||||
Commit();
|
||||
if (DiscRV == 1 && DeviceCount == 0)
|
||||
{
|
||||
DeinitComms(port);
|
||||
Sleep(100);
|
||||
FlushDiscoveryCache(port);
|
||||
Sleep(200);
|
||||
InitRv = InitComms(port, 9600, 8, 0, 0);
|
||||
if (InitRv == 1) {
|
||||
CommsInitialized = 1;
|
||||
SetDiscoveryExpirationPeriod(port, 5000);
|
||||
SetDiscoveryExpirationPeriod(port, DiscoveryExpirationPeriod);
|
||||
DiscRV = Discover(port, DeviceIDs, MaxDevices, &DeviceCount);
|
||||
Commit();
|
||||
}
|
||||
|
|
@ -54,10 +54,7 @@ int EpdBase::Epd2U::StartDiscover()
|
|||
Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return DiscRV;
|
||||
|
||||
}
|
||||
|
||||
void EpdBase::Epd2U::Open(DWORD DeviceID)
|
||||
|
|
@ -119,6 +116,7 @@ void EpdBase::Epd2U::DecodeStatus()
|
|||
|
||||
WORD EpdBase::Epd2U::ReadStatus()
|
||||
{
|
||||
Error = 0; ReadStatusRV = 0;
|
||||
memset(WearerID, 0, WearerIDLength+1);
|
||||
memset(WearerName, 0, WearerNameLength+1);
|
||||
|
||||
|
|
@ -126,7 +124,6 @@ WORD EpdBase::Epd2U::ReadStatus()
|
|||
ErrorSource = ErrorReason = ErrorData = 0;
|
||||
EpdID = HardVersion = SoftVersion = FunctionFlags = 0;
|
||||
|
||||
|
||||
CommitRV = ReadEpdStatus(&EpdClock, &RealTime, &IssueCount, &OffTime, &OperatingStatus, &ErrorStatus, &AlarmStatus, &OtherAlarms, &EEPROMBadSectors);
|
||||
if (CommitRV==1) CommitRV= ReadEpdID(
|
||||
&EpdID,
|
||||
|
|
@ -136,7 +133,8 @@ WORD EpdBase::Epd2U::ReadStatus()
|
|||
if (CommitRV==1) CommitRV = Commit();
|
||||
if(CommitRV == 0) {
|
||||
Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
return ErrorReason;
|
||||
ReadStatusRV= ErrorReason;
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
if (CurrentDeviceID == 0) CurrentDeviceID = EpdID;
|
||||
|
|
@ -156,14 +154,14 @@ WORD EpdBase::Epd2U::ReadStatus()
|
|||
if(CommitRV==1) CommitRV = Commit();
|
||||
if (CommitRV == 0) {
|
||||
Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
|
||||
return ErrorReason;
|
||||
ReadStatusRV = ErrorReason;
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
for (int i = 0; i < WearerIDLength; i++)
|
||||
if (WearerID[i] == 0xb) WearerID[i] = '0'; else WearerID[i] |= 0x30;
|
||||
}
|
||||
}
|
||||
|
||||
return CommitRV;
|
||||
}
|
||||
|
||||
|
|
@ -378,7 +376,6 @@ WORD EpdBase::Epd2U::DeIssue()
|
|||
}
|
||||
//DeinitComms(port);
|
||||
return CommitRV;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -386,7 +383,6 @@ WORD EpdBase::Epd2U::Issue()
|
|||
{
|
||||
IssueEpdRV = WriteAlarmDoseThresholdsRV = WriteAlarmRateThresholdsRV = WriteWearerNameRV = OnRV = CommitRV = 0;
|
||||
|
||||
|
||||
DWORD OKRV = SetFailFlag(); // all actions have been completed
|
||||
if (OKRV) OKRV = Commit();
|
||||
|
||||
|
|
@ -406,7 +402,7 @@ WORD EpdBase::Epd2U::Issue()
|
|||
Commit();
|
||||
|
||||
if (!DetectorsOn) {
|
||||
OKRV = EpdOn(); OKRV=Commit(); Sleep(1000);
|
||||
OKRV = EpdOn(); OKRV=Commit(); Sleep(1500);
|
||||
}
|
||||
|
||||
if (OKRV) {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ EpdBaseClr::Epd2::!Epd2()
|
|||
|
||||
int EpdBaseClr::Epd2::Connect()
|
||||
{
|
||||
|
||||
ConnectError = 0;
|
||||
epd->StartCom();
|
||||
b->CurrentDeviceID = 0;
|
||||
|
||||
|
|
@ -32,6 +34,9 @@ int EpdBaseClr::Epd2::Connect()
|
|||
DeviceCount = epd->DeviceCount;
|
||||
if (epd->DeviceCount >= 0) b->CurrentDeviceID = epd->DeviceIDs[0];
|
||||
}
|
||||
else {
|
||||
ConnectError = epd->Error;
|
||||
}
|
||||
return DiscRV;
|
||||
}
|
||||
|
||||
|
|
@ -43,16 +48,13 @@ int EpdBaseClr::Epd2::Close()
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int EpdBaseClr::Epd2::GetStatus()
|
||||
{
|
||||
//ReadStatus
|
||||
StatusRV = 0; Issued = false;
|
||||
GetStatusError = 0; StatusRV = 0; Issued = false;
|
||||
WearerID = String::Empty;
|
||||
WearerName = String::Empty;
|
||||
epd->ReadStatus();
|
||||
StatusRV= epd->ReadStatusRV;
|
||||
StatusRV = epd->ReadStatus();
|
||||
if (StatusRV != 1 ) GetStatusError=epd->Error;
|
||||
Issued = epd->EPDIssued;
|
||||
WearerID = gcnew String((char *)epd->WearerID);
|
||||
WearerName = gcnew String((char *)epd->WearerName);
|
||||
|
|
@ -77,6 +79,7 @@ int EpdBaseClr::Epd2::GetDoses()
|
|||
ReadDosesRV = epd->ReadDoses();
|
||||
|
||||
if (ReadDosesRV == 1) {
|
||||
GetDosesError = 0;
|
||||
Hp10 = (double)epd->Hp10Dose / 64.0;
|
||||
Hp07 = (double)epd->Hp07Dose / 64.0;
|
||||
Hp07Peak = (double)epd->Hp07Peak / 64.0;
|
||||
|
|
@ -84,7 +87,9 @@ int EpdBaseClr::Epd2::GetDoses()
|
|||
|
||||
Hp07Total = epd->Hp07Total / 64.0;
|
||||
Hp10Total = epd->Hp10Total / 64.0;
|
||||
|
||||
}
|
||||
else {
|
||||
GetDosesError = epd->Error;
|
||||
}
|
||||
|
||||
if (epd->Hp10Time > 0)
|
||||
|
|
@ -119,12 +124,15 @@ int EpdBaseClr::Epd2::SetDeIssued()
|
|||
|
||||
int EpdBaseClr::Epd2::PrepareForIssue()
|
||||
{
|
||||
return epd->PrepareForIssue();
|
||||
PrepareForIssueError = 0;
|
||||
int rv= epd->PrepareForIssue();
|
||||
if (rv != 1) PrepareForIssueError = epd->Error;
|
||||
return rv;
|
||||
}
|
||||
|
||||
int EpdBaseClr::Epd2::SetIssued()
|
||||
{
|
||||
|
||||
SetIssuedError = 0;
|
||||
epd->Hp07THDose = Hp07THDose*64;
|
||||
epd->Hp10THDose1 = Hp10THDose1*64;
|
||||
epd->Hp10THDose2 = Hp10THDose2*64;
|
||||
|
|
@ -136,7 +144,6 @@ int EpdBaseClr::Epd2::SetIssued()
|
|||
epd->Hp10Rate2Off = Hp10Rate2Off;
|
||||
epd->Hp07RateOff = Hp07RateOff;
|
||||
|
||||
|
||||
memset(epd->WearerID, ' ', WearerIDLength); epd->WearerID[WearerIDLength] = 0;
|
||||
char* str1 = (char*)(void *)Runtime::InteropServices::Marshal::StringToHGlobalAnsi(WearerID);
|
||||
int l = strlen(str1);
|
||||
|
|
@ -151,11 +158,11 @@ int EpdBaseClr::Epd2::SetIssued()
|
|||
_memccpy(epd->WearerName, str2, l, WearerNameLength);
|
||||
Runtime::InteropServices::Marshal::FreeHGlobal((IntPtr)str2);
|
||||
|
||||
epd->Issue();
|
||||
return 0;
|
||||
int rv = epd->Issue();
|
||||
if (rv != 1) SetIssuedError = epd->Error;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
int EpdBaseClr::Epd2::WriteCalibration()
|
||||
{
|
||||
|
||||
|
|
@ -180,7 +187,9 @@ int EpdBaseClr::Epd2::WriteCalibration()
|
|||
|
||||
int EpdBaseClr::Epd2::ReadTresholds()
|
||||
{
|
||||
epd->ReadTresHolds();
|
||||
ReadTresholdsError = 0;
|
||||
int rv= epd->ReadTresHolds();
|
||||
if (rv != 0) ReadTresholdsError = epd->Error;
|
||||
|
||||
Hp10THDose1 = (double)epd->Hp10THDose1 / 64.0;
|
||||
Hp10THDose2 = (double)epd->Hp10THDose2 / 64.0;
|
||||
|
|
@ -207,7 +216,7 @@ int EpdBaseClr::Epd2::ReadTresholds()
|
|||
FB = epd->FB;
|
||||
HG = epd->HG;
|
||||
|
||||
return 0;
|
||||
return rv;
|
||||
}
|
||||
|
||||
int EpdBaseClr::Epd2::ReadExtraStatus()
|
||||
|
|
|
|||
|
|
@ -29,6 +29,12 @@ namespace EpdBaseClr {
|
|||
int InitRV;
|
||||
int DiscRV;
|
||||
int StatusRV;
|
||||
int GetStatusError;
|
||||
int GetDosesError;
|
||||
int ReadTresholdsError;
|
||||
int PrepareForIssueError;
|
||||
int SetIssuedError;
|
||||
int ConnectError;
|
||||
int ReadDosesRV;
|
||||
int DeviceCount = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ namespace OkReadBadge
|
|||
clr = gcnew OkReadBadge::BadgeMessageHandler();
|
||||
clr->OnMessage = f;
|
||||
clrb = new OkReadBadge::BadgeUnmanaged(clr);
|
||||
|
||||
}
|
||||
|
||||
void Start()
|
||||
|
|
|
|||
|
|
@ -62,9 +62,6 @@ void OkReadBadge::BadgeUnmanaged::GetDeviceUSB(std::wstring vid, std::wstring pi
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int OkReadBadge::BadgeUnmanaged::read()
|
||||
{
|
||||
//const string x ="USB\\VID_076B&PID_5128&MI_00\\6&13A62366&0&0000";
|
||||
|
|
@ -73,6 +70,7 @@ int OkReadBadge::BadgeUnmanaged::read()
|
|||
//const wchar_t *devicePath1 = L"\\\\?\\hid#vid_076b&pid_5428&mi_00#7&95573f7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";
|
||||
HANDLE HIDfile = CreateFile(DevicePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL| FILE_FLAG_OVERLAPPED, nullptr); //FILE_FLAG_OVERLAPPED|
|
||||
DWORD err = GetLastError();
|
||||
completed = false;
|
||||
if (err != 0) {
|
||||
//_tprintf(TEXT("unable to obtain read permissions for the HID device, error:\n "));
|
||||
}
|
||||
|
|
@ -81,7 +79,7 @@ int OkReadBadge::BadgeUnmanaged::read()
|
|||
bread = 0;
|
||||
rv = 1;
|
||||
err = 0;
|
||||
while (err==0)
|
||||
while (err==0 && !completed)
|
||||
{
|
||||
rv = ReadFile(HIDfile, buffer, 100, &bread, Overlapped);
|
||||
if (rv == 0)
|
||||
|
|
@ -117,16 +115,13 @@ int OkReadBadge::BadgeUnmanaged::read()
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
OkReadBadge::BadgeUnmanaged::BadgeUnmanaged(BadgeMessageHandler^ clr)
|
||||
{
|
||||
m_clr = clr;
|
||||
|
||||
Overlapped = new OVERLAPPED();
|
||||
memset(Overlapped, 0, sizeof(OVERLAPPED));
|
||||
Overlapped->Offset = 0;
|
||||
Overlapped->hEvent = CreateEvent(nullptr, true, false, nullptr);
|
||||
|
||||
buffer[100];
|
||||
memset(buffer, 0, sizeof(buffer));
|
||||
buffer[0] = 0x00; // Feature report 0x0F
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ namespace OkReadBadge
|
|||
bool nextSite = false;
|
||||
bool nextCode = false;
|
||||
bool nextFinish = false;
|
||||
bool completed = false;
|
||||
char Res [100];
|
||||
|
||||
|
||||
static bool CALLBACK Message(int err, LPARAM param)
|
||||
{
|
||||
//m_clr.Result = gcnew buffer
|
||||
|
|
@ -50,7 +50,7 @@ namespace OkReadBadge
|
|||
}
|
||||
else if (!strncmp("csn:", r, 4)) {
|
||||
memset(bu->Res, 0, sizeof(bu->Res));
|
||||
bu->nextCSN = true; bu->nextFinish = bu->nextCode = bu->nextSite = false ;
|
||||
bu->nextCSN = true; bu->nextFinish = bu->nextCode = bu->nextSite = bu->completed = false ;
|
||||
}
|
||||
else if (!strncmp("site:", r, 5)) { bu->nextSite = true; }
|
||||
else if (!strncmp("code:", r, 5)) { bu->nextCode = true; }
|
||||
|
|
@ -59,6 +59,7 @@ namespace OkReadBadge
|
|||
bu->nextCode = bu->nextSite = bu->nextCSN = false;
|
||||
if (bu->nextFinish) {
|
||||
bu->nextFinish = false;
|
||||
bu->completed = true;
|
||||
}
|
||||
}
|
||||
bu->m_clr->Result = gcnew String(r);
|
||||
|
|
|
|||
16
RegisterBAdge/App.config
Normal file
16
RegisterBAdge/App.config
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
</configSections>
|
||||
<connectionStrings>
|
||||
<add name="RegisterBAdge.Properties.Settings.idpbwConnection"
|
||||
connectionString="Data Source=sqlprdidpbw;Initial Catalog=idpbw;Integrated Security=True"
|
||||
providerName="System.Data.SqlClient" />
|
||||
<add name="RegisterBAdge.Properties.Settings.RemsConnection"
|
||||
connectionString="Data Source=sqlsrv3;Initial Catalog=HPH_REMS_new;Integrated Security=True"
|
||||
providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
9
RegisterBAdge/App.xaml
Normal file
9
RegisterBAdge/App.xaml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<Application x:Class="RegisterBAdge.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:RegisterBAdge"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
17
RegisterBAdge/App.xaml.cs
Normal file
17
RegisterBAdge/App.xaml.cs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace RegisterBAdge
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
53
RegisterBAdge/MainWindow.xaml
Normal file
53
RegisterBAdge/MainWindow.xaml
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<Window x:Class="RegisterBAdge.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:RegisterBAdge"
|
||||
mc:Ignorable="d"
|
||||
Title="Register Badge" Height="450" Width="800" Loaded="Window_Loaded">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="20" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Text="Registratie Badge in Rems" Background="AntiqueWhite" HorizontalAlignment="Stretch" TextAlignment="Center" FontWeight="Bold" Margin="5,10,5,10" />
|
||||
<Grid Grid.Row="1">
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto" />
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock Text="PersID" Grid.Row="0" Grid.Column="0" Padding="10,0,10,0"/>
|
||||
<TextBox Name="PersID" Grid.Row="0" Grid.Column="1"/>
|
||||
|
||||
<TextBlock Text="Name" Grid.Row="1" Grid.Column="0" Padding="10,0,10,0"/>
|
||||
<TextBox Name="Name" Grid.Row="1" Grid.Column="1"/>
|
||||
|
||||
<TextBlock Text="FirstName" Grid.Row="2" Grid.Column="0" Padding="10,0,10,0"/>
|
||||
<TextBox Name="FirstName" Grid.Row="2" Grid.Column="1"/>
|
||||
|
||||
|
||||
|
||||
<TextBlock Text="CSN: Card Serial Number" Grid.Row="3" Grid.Column="0" Padding="10,0,10,0"/>
|
||||
<TextBox Name="CSN" Grid.Row="3" Grid.Column="1"/>
|
||||
<TextBlock Text="SiteCode" Grid.Row="4" Grid.Column="0" Padding="10,0,10,0"/>
|
||||
<TextBox Name="Site" Grid.Row="4" Grid.Column="1"/>
|
||||
<TextBlock Text="BadgeCode" Grid.Row="5" Grid.Column="0" Padding="10,0,10,0"/>
|
||||
<TextBox Name="Code" Grid.Row="5" Grid.Column="1"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Window>
|
||||
|
||||
184
RegisterBAdge/MainWindow.xaml.cs
Normal file
184
RegisterBAdge/MainWindow.xaml.cs
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace RegisterBAdge
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public static OkReadBadge.Badging a;
|
||||
System.Threading.Thread t;
|
||||
bool nextCSN = false;
|
||||
bool nextSite = false;
|
||||
bool nextCode = false;
|
||||
bool nextFinish = false;
|
||||
string csn, site, code;
|
||||
System.Data.SqlClient.SqlCommand UpdPers;
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
void CheckBadge()
|
||||
{
|
||||
using (var t = new System.Data.DataTable()) {
|
||||
using (var co = new System.Data.SqlClient.SqlConnection(Properties.Settings.Default.idpbwConnection))
|
||||
{
|
||||
using (var co2 = new System.Data.SqlClient.SqlConnection(Properties.Settings.Default.RemsConnection))
|
||||
{
|
||||
using (var cm = new System.Data.SqlClient.SqlCommand("rems.GetPerson", co))
|
||||
{
|
||||
cm.CommandType = System.Data.CommandType.StoredProcedure;
|
||||
cm.Parameters.AddWithValue("CSN", CSN.Text);
|
||||
cm.Parameters.AddWithValue("Badge", Code.Text);
|
||||
co.Open();
|
||||
var rs = cm.ExecuteReader(System.Data.CommandBehavior.SingleRow | System.Data.CommandBehavior.CloseConnection);
|
||||
t.Load(rs);
|
||||
co.Close();
|
||||
if (t.Rows.Count > 0)
|
||||
{
|
||||
co2.Open();
|
||||
DataRow r = t.Rows[0];
|
||||
|
||||
PersID.Text = r["persID"].ToString();
|
||||
Name.Text = r["LastName"].ToString();
|
||||
FirstName.Text = (string)r["NickName"];
|
||||
|
||||
UpdPers.Parameters["persID"].Value = (int)r["persID"];
|
||||
UpdPers.Parameters["TYPE"].Value = (string)r["TYPE"];
|
||||
UpdPers.Parameters["CSN"].Value = (string)r["CSN"];
|
||||
UpdPers.Parameters["Badge"].Value = (string)r["Badge"];
|
||||
UpdPers.Parameters["firstname"].Value = (string)r["firstname"];
|
||||
UpdPers.Parameters["LastName"].Value = (string)r["LastName"];
|
||||
UpdPers.Parameters["NickName"].Value = (string)r["NickName"];
|
||||
UpdPers.Parameters["birthDate"].Value = (DateTime)r["birthDate"];
|
||||
UpdPers.Parameters["conCode"].Value = (string)r["conCode"];
|
||||
UpdPers.Parameters["AccessAllow"].Value = (Boolean)r["AccessAllow"];
|
||||
UpdPers.Parameters["Language"].Value = (string)r["Language"];
|
||||
UpdPers.Parameters["VisitIdLocked"].Value = DBNull.Value;
|
||||
UpdPers.Parameters["Deleted"].Value = (Boolean)r["Deleted"];
|
||||
UpdPers.Connection = co2;
|
||||
UpdPers.ExecuteNonQuery();
|
||||
co2.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//_User = new User(CSN.Text, Code.Text);
|
||||
//if (_User.Error == 0)
|
||||
// AskTask();
|
||||
//else
|
||||
//{
|
||||
// MessageBox.Show(_User.ErrorMessage);
|
||||
// Close();
|
||||
//}
|
||||
}
|
||||
|
||||
public void showBadge()
|
||||
{
|
||||
CSN.Text = csn;
|
||||
Site.Text = site;
|
||||
Code.Text = code;
|
||||
|
||||
Dispatcher.Invoke(CheckBadge);
|
||||
}
|
||||
|
||||
bool Msg(int err)
|
||||
{
|
||||
//decodeert verschillenden USB messages. (callback )
|
||||
if (err == 0)
|
||||
{
|
||||
if (a.clr.Result.StartsWith("csn:", StringComparison.InvariantCultureIgnoreCase) && a.clr.Result.EndsWith(";"))
|
||||
{ //GEn 2
|
||||
csn = string.Empty;
|
||||
foreach (string ar in a.clr.Result.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
if (ar.StartsWith("csn:")) csn = ar.Substring(4);
|
||||
if (ar.StartsWith("site:")) site = ar.Substring(5);
|
||||
if (ar.StartsWith("code:")) code = ar.Substring(5);
|
||||
}
|
||||
this.Dispatcher.Invoke(new Action(() => showBadge()));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (a.clr.Result.Equals(";"))
|
||||
{
|
||||
if (nextSite) site = string.Empty;
|
||||
if (nextCode) code = string.Empty;
|
||||
if (nextFinish || nextCode)
|
||||
{
|
||||
this.Dispatcher.Invoke(new Action(() => showBadge()));
|
||||
}
|
||||
nextCSN = nextSite = nextCode = nextFinish = false;
|
||||
}
|
||||
else if (nextCSN) { csn = a.clr.Result; nextCSN = nextFinish = false; }
|
||||
else if (nextSite) { site = a.clr.Result; nextSite = false; }
|
||||
else if (nextCode) { code = a.clr.Result; nextCode = false; nextFinish = true; }
|
||||
else if (a.clr.Result.Equals("csn:")) { nextCSN = true; nextCode = nextSite = false; }
|
||||
else if (a.clr.Result.Equals("site:")) { nextSite = true; nextCSN = nextCode = false; }
|
||||
else if (a.clr.Result.Equals("code:")) { nextCode = true; nextCSN = nextSite = false; }
|
||||
else System.Diagnostics.Debug.WriteLine(a.clr.Result);
|
||||
}
|
||||
}
|
||||
else
|
||||
System.Diagnostics.Debug.WriteLine($"Error {err}");
|
||||
return false;
|
||||
}
|
||||
|
||||
private void Starter()
|
||||
{
|
||||
try
|
||||
{
|
||||
a = new OkReadBadge.Badging(Msg);
|
||||
a.Start();
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Badgereader error {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
}
|
||||
}
|
||||
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
UpdPers = new System.Data.SqlClient.SqlCommand("UpdatePerson");
|
||||
UpdPers.CommandType = System.Data.CommandType.StoredProcedure;
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("RETURN_VALUE", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.ReturnValue, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("persID", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("TYPE", System.Data.SqlDbType.Char, 1, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("CSN", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("Badge", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("firstname", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("LastName", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("NickName", System.Data.SqlDbType.VarChar, 30, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("birthDate", System.Data.SqlDbType.Date, 0, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("conCode", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("AccessAllow", System.Data.SqlDbType.Bit, 0, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("Language", System.Data.SqlDbType.Char, 1, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("VisitIdLocked", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
UpdPers.Parameters.Add(new System.Data.SqlClient.SqlParameter("Deleted", System.Data.SqlDbType.Bit, 0, System.Data.ParameterDirection.Input, false, 0, 0, null, System.Data.DataRowVersion.Current, DBNull.Value));
|
||||
|
||||
|
||||
t = new System.Threading.Thread(() => Starter());
|
||||
t.Start();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
55
RegisterBAdge/Properties/AssemblyInfo.cs
Normal file
55
RegisterBAdge/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("RegisterBAdge")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("RegisterBAdge")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
71
RegisterBAdge/Properties/Resources.Designer.cs
generated
Normal file
71
RegisterBAdge/Properties/Resources.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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 RegisterBAdge.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[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>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </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("RegisterBAdge.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
117
RegisterBAdge/Properties/Resources.resx
Normal file
117
RegisterBAdge/Properties/Resources.resx
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
46
RegisterBAdge/Properties/Settings.Designer.cs
generated
Normal file
46
RegisterBAdge/Properties/Settings.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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 RegisterBAdge.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.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;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=sqlprdidpbw;Initial Catalog=idpbw;Integrated Security=True")]
|
||||
public string idpbwConnection {
|
||||
get {
|
||||
return ((string)(this["idpbwConnection"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=sqlsrv3;Initial Catalog=HPH_REMS_new;Integrated Security=True")]
|
||||
public string RemsConnection {
|
||||
get {
|
||||
return ((string)(this["RemsConnection"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
22
RegisterBAdge/Properties/Settings.settings
Normal file
22
RegisterBAdge/Properties/Settings.settings
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="RegisterBAdge.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="idpbwConnection" Type="(Connection string)" Scope="Application">
|
||||
<DesignTimeValue Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
||||
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<ConnectionString>Data Source=sqlprdidpbw;Initial Catalog=idpbw;Integrated Security=True</ConnectionString>
|
||||
<ProviderName>System.Data.SqlClient</ProviderName>
|
||||
</SerializableConnectionString></DesignTimeValue>
|
||||
<Value Profile="(Default)">Data Source=sqlprdidpbw;Initial Catalog=idpbw;Integrated Security=True</Value>
|
||||
</Setting>
|
||||
<Setting Name="RemsConnection" Type="(Connection string)" Scope="Application">
|
||||
<DesignTimeValue Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
||||
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<ConnectionString>Data Source=sqlsrv3;Initial Catalog=HPH_REMS_new;Integrated Security=True</ConnectionString>
|
||||
<ProviderName>System.Data.SqlClient</ProviderName>
|
||||
</SerializableConnectionString></DesignTimeValue>
|
||||
<Value Profile="(Default)">Data Source=sqlsrv3;Initial Catalog=HPH_REMS_new;Integrated Security=True</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
101
RegisterBAdge/RegisterBAdge.csproj
Normal file
101
RegisterBAdge/RegisterBAdge.csproj
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
<?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>{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>RegisterBAdge</RootNamespace>
|
||||
<AssemblyName>RegisterBAdge</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<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="OkReadBadge">
|
||||
<HintPath>..\Release\OkReadBadge.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xaml">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="MainWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MainWindow.xaml.cs">
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
|
|
@ -15,6 +15,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EpdBaseClr", "EpdBaseClr\Ep
|
|||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OkReadBadge", "OkReadBadge\OkReadBadge.vcxproj", "{F98F3496-8A4C-4BDB-9F17-C7AF47A60739}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegisterBAdge", "RegisterBAdge\RegisterBAdge.csproj", "{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -121,6 +123,26 @@ Global
|
|||
{F98F3496-8A4C-4BDB-9F17-C7AF47A60739}.Release|x64.Build.0 = Release|x64
|
||||
{F98F3496-8A4C-4BDB-9F17-C7AF47A60739}.Release|x86.ActiveCfg = Release|Win32
|
||||
{F98F3496-8A4C-4BDB-9F17-C7AF47A60739}.Release|x86.Build.0 = Release|Win32
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6AC69ACE-3666-4A3D-A4B9-FFA24C424C1B}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
<xs:element name="DataSet1" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DataSet1" msprop:Generator_UserDSName="DataSet1">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="GetTaskList" msprop:Generator_TableClassName="GetTaskListDataTable" msprop:Generator_TableVarName="tableGetTaskList" msprop:Generator_TablePropName="GetTaskList" msprop:Generator_RowDeletingName="GetTaskListRowDeleting" msprop:Generator_RowChangingName="GetTaskListRowChanging" msprop:Generator_RowEvHandlerName="GetTaskListRowChangeEventHandler" msprop:Generator_RowDeletedName="GetTaskListRowDeleted" msprop:Generator_UserTableName="GetTaskList" msprop:Generator_RowChangedName="GetTaskListRowChanged" msprop:Generator_RowEvArgName="GetTaskListRowChangeEvent" msprop:Generator_RowClassName="GetTaskListRow">
|
||||
<xs:element name="GetTaskList" msprop:Generator_TableClassName="GetTaskListDataTable" msprop:Generator_TableVarName="tableGetTaskList" msprop:Generator_RowChangedName="GetTaskListRowChanged" msprop:Generator_TablePropName="GetTaskList" msprop:Generator_RowDeletingName="GetTaskListRowDeleting" msprop:Generator_RowChangingName="GetTaskListRowChanging" msprop:Generator_RowEvHandlerName="GetTaskListRowChangeEventHandler" msprop:Generator_RowDeletedName="GetTaskListRowDeleted" msprop:Generator_RowClassName="GetTaskListRow" msprop:Generator_UserTableName="GetTaskList" msprop:Generator_RowEvArgName="GetTaskListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ID_Task" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnID_Task" msprop:Generator_ColumnPropNameInRow="ID_Task" msprop:Generator_ColumnPropNameInTable="ID_TaskColumn" msprop:Generator_UserColumnName="ID_Task" type="xs:int" />
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetTaskInfo" msprop:Generator_TableClassName="GetTaskInfoDataTable" msprop:Generator_TableVarName="tableGetTaskInfo" msprop:Generator_RowChangedName="GetTaskInfoRowChanged" msprop:Generator_TablePropName="GetTaskInfo" msprop:Generator_RowDeletingName="GetTaskInfoRowDeleting" msprop:Generator_RowChangingName="GetTaskInfoRowChanging" msprop:Generator_RowEvHandlerName="GetTaskInfoRowChangeEventHandler" msprop:Generator_RowDeletedName="GetTaskInfoRowDeleted" msprop:Generator_RowClassName="GetTaskInfoRow" msprop:Generator_UserTableName="GetTaskInfo" msprop:Generator_RowEvArgName="GetTaskInfoRowChangeEvent">
|
||||
<xs:element name="GetTaskInfo" msprop:Generator_TableClassName="GetTaskInfoDataTable" msprop:Generator_TableVarName="tableGetTaskInfo" msprop:Generator_TablePropName="GetTaskInfo" msprop:Generator_RowDeletingName="GetTaskInfoRowDeleting" msprop:Generator_RowChangingName="GetTaskInfoRowChanging" msprop:Generator_RowEvHandlerName="GetTaskInfoRowChangeEventHandler" msprop:Generator_RowDeletedName="GetTaskInfoRowDeleted" msprop:Generator_UserTableName="GetTaskInfo" msprop:Generator_RowChangedName="GetTaskInfoRowChanged" msprop:Generator_RowEvArgName="GetTaskInfoRowChangeEvent" msprop:Generator_RowClassName="GetTaskInfoRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ID_Task" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnID_Task" msprop:Generator_ColumnPropNameInRow="ID_Task" msprop:Generator_ColumnPropNameInTable="ID_TaskColumn" msprop:Generator_UserColumnName="ID_Task" type="xs:int" />
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
xmlns:local="clr-namespace:eDosStation"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="eDosStation.EntryBadge"
|
||||
mc:Ignorable="d"
|
||||
Title="EntryBadge" Height="980" Width="1820" Loaded="Window_Loaded" FontFamily="Comic Sans MS" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" WindowState="Maximized" >
|
||||
Title="EntryBadge" Height="980" Width="1820" Loaded="Window_Loaded" FontFamily="Comic Sans MS" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" WindowState="Maximized" Closing="Window_Closing" >
|
||||
<Window.Resources>
|
||||
<local:DataSet1 x:Key="dataSet1"/>
|
||||
<CollectionViewSource x:Key="getTaskListViewSource" Source="{Binding GetTaskInfo, Source={StaticResource dataSet1}}"/>
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
<TabItem Name="tbTask">
|
||||
<Grid DataContext="{Binding Mode=OneWay, Source={StaticResource getTaskListViewSource}}" >
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="auto" />
|
||||
|
|
@ -46,8 +47,8 @@
|
|||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Border Grid.Row="0" Grid.ColumnSpan="2" Background="AliceBlue" HorizontalAlignment="Stretch" CornerRadius="10" >
|
||||
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="Naam" Name="Naam" HorizontalAlignment="Stretch" TextAlignment="Center" FontWeight="Bold" Background="Azure" FontSize="15" />
|
||||
<Border Grid.Row="1" Grid.ColumnSpan="2" Background="AliceBlue" HorizontalAlignment="Stretch" CornerRadius="10" >
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
|
|
@ -57,7 +58,6 @@
|
|||
<StackPanel Orientation="Horizontal" Grid.Column="0">
|
||||
<telerik:RadToggleButton Name="cbNormal" HorizontalAlignment="Left" Width="150" Content="Normal" TextBlock.FontSize="24" Click="CbNormal_Click" IsChecked="True" CornerRadius="15" />
|
||||
<telerik:RadToggleButton Name="cbAlara" HorizontalAlignment="Left" Width="150" Content="Alara" TextBlock.FontSize="24" Click="CbAlara_Click" IsChecked="False" CornerRadius="15" />
|
||||
|
||||
</StackPanel>
|
||||
<TextBlock Grid.Column="1" FontSize="36" TextAlignment="Center" Text="Choose a task" />
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Column="3">
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
</StackPanel>
|
||||
</Grid>
|
||||
</Border>
|
||||
<StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Vertical" VerticalAlignment="Top" HorizontalAlignment="Stretch" >
|
||||
<StackPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Vertical" VerticalAlignment="Top" HorizontalAlignment="Stretch" >
|
||||
<ScrollViewer VerticalScrollBarVisibility="Visible" Style="{Binding Mode=OneWay, Source={StaticResource CustomScrollViewer}}" MaxHeight="753">
|
||||
<ListBox ItemsSource="{Binding Mode=OneWay}" SelectedValuePath="ID_Task" SelectionChanged="ListBox_SelectionChanged" ScrollViewer.CanContentScroll="False" >
|
||||
<ListBox.ItemsPanel >
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
</ScrollViewer>
|
||||
|
||||
</StackPanel>
|
||||
<Grid Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Margin="10,10,10,10">
|
||||
<Grid Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2" Margin="10,10,10,10">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
|
|
@ -156,11 +156,8 @@
|
|||
<TextBlock Grid.Row="2" Grid.Column="0" Text="{Binding EPDRad,StringFormat={}Type: {0} }" />
|
||||
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding FNGain_ANGainValue,StringFormat={}Gain: {0:0.00} }" />
|
||||
<TextBlock Grid.Row="2" Grid.Column="2" Text="{Binding MinWorkerDosisMargin,StringFormat={}Margin: {0:0.00} }" />
|
||||
|
||||
|
||||
|
||||
</Grid>
|
||||
<Image Grid.Row="2" Grid.RowSpan="2" Grid.Column="0" Height="150" >
|
||||
<Image Grid.Row="3" Grid.RowSpan="2" Grid.Column="0" Height="150" >
|
||||
<Image.Style>
|
||||
<Style TargetType="{x:Type Image}">
|
||||
<Style.Triggers>
|
||||
|
|
@ -174,7 +171,7 @@
|
|||
</Style>
|
||||
</Image.Style>
|
||||
</Image>
|
||||
<StackPanel Grid.Row="3" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Center" >
|
||||
<StackPanel Grid.Row="4" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Center" >
|
||||
<telerik:RadButton Name="TaskOK" Content="OK" Click="TaskOK_Click" Width="300" Height="50" CornerRadius="10" TextBlock.FontSize="25" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ namespace eDosStation
|
|||
static User _User;
|
||||
|
||||
DataSet1.GetTaskInfoRow CurTaskRow;
|
||||
|
||||
private bool StopReadBadge=true;
|
||||
public EntryBadge(EpdBaseClr.Epd2 curEP, Station curStation)
|
||||
{
|
||||
ep=curEP;
|
||||
|
|
@ -50,12 +50,16 @@ namespace eDosStation
|
|||
InitializeComponent();
|
||||
_User = null;
|
||||
}
|
||||
|
||||
private bool LoadDoses()
|
||||
{
|
||||
bool rv = true;
|
||||
ep.GetStatus();
|
||||
|
||||
System.Diagnostics.Debug.WriteLine("LoadDoses: EPD GEt Status");
|
||||
int rva= ep.GetStatus();
|
||||
if (rva != 1)
|
||||
{
|
||||
MessageBox.Show($"Entry GetStatus error {rva} {ep.GetStatusError}");
|
||||
}
|
||||
System.Diagnostics.Debug.WriteLine($"LoadDoses: EPD {ep.EpdID} Type:{ep.epdType}");
|
||||
if (ep.Issued)
|
||||
{
|
||||
MessageBox.Show("EPD is currently issued\nPlease take an other", "EDP", MessageBoxButton.OK, MessageBoxImage.Hand, MessageBoxResult.OK, MessageBoxOptions.ServiceNotification);
|
||||
|
|
@ -68,22 +72,28 @@ namespace eDosStation
|
|||
MessageBox.Show("Wrong EPD Type", "EDP", MessageBoxButton.OK, MessageBoxImage.Hand, MessageBoxResult.OK, MessageBoxOptions.ServiceNotification);
|
||||
this.Close();
|
||||
return false;
|
||||
|
||||
}
|
||||
statusEPD.Text = $"EPD: {ep.EpdID}";
|
||||
ep.ReadTresholds();
|
||||
rva = ep.ReadTresholds();
|
||||
if (rva != 1)
|
||||
{
|
||||
MessageBox.Show($"ReadTresholds error {ep.ReadTresholdsError}");
|
||||
}
|
||||
|
||||
return rv;
|
||||
//ep.Hp07THDose =
|
||||
}
|
||||
|
||||
private void DispatcherTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
EpdFound = false;
|
||||
dispatcherTimer.Stop();
|
||||
ep.Close();
|
||||
ep.Connect();
|
||||
if (ep.DeviceCount == 1)
|
||||
System.Threading.Thread.Sleep(200);
|
||||
int rv= ep.Connect();
|
||||
System.Diagnostics.Debug.WriteLine($"Connect {rv} error {ep.ConnectError}");
|
||||
if (ep.DeviceCount >0 && ep.b.CurrentDeviceID>0)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($"Devices:{ep.DeviceCount} id:{ep.b.CurrentDeviceID} {ep.ConnectError} ");
|
||||
EpdFound = true;
|
||||
DoEPD();
|
||||
}
|
||||
|
|
@ -92,7 +102,7 @@ namespace eDosStation
|
|||
Search--;
|
||||
if (Search > 0)
|
||||
{
|
||||
statusEPD.Text = $"Search {Search}";
|
||||
statusEPD.Text = $"Search {Search} ({ep.ConnectError})";
|
||||
dispatcherTimer.Start();
|
||||
}
|
||||
else
|
||||
|
|
@ -101,7 +111,6 @@ namespace eDosStation
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DoEPD()
|
||||
{
|
||||
if (LoadDoses())
|
||||
|
|
@ -127,7 +136,10 @@ namespace eDosStation
|
|||
}
|
||||
|
||||
int rv= ep.PrepareForIssue();
|
||||
|
||||
if (rv != 1)
|
||||
{
|
||||
MessageBox.Show($"PrepareForIssue error {ep.PrepareForIssueError}");
|
||||
}
|
||||
ep.WearerID = VisitID.ToString();
|
||||
ep.WearerName = _User.PersID.ToString();
|
||||
|
||||
|
|
@ -174,17 +186,21 @@ namespace eDosStation
|
|||
}
|
||||
}
|
||||
|
||||
ep.SetIssued();
|
||||
rv = ep.SetIssued();
|
||||
if (rv != 1)
|
||||
{
|
||||
MessageBox.Show($"SetIssued error {ep.SetIssuedError}");
|
||||
}
|
||||
bEpdDone.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
private void GetEPD()
|
||||
{
|
||||
if (_User == null || CurTaskRow == null) return;
|
||||
|
||||
int ok = ep.Connect();
|
||||
if (ep.DeviceCount == 1)
|
||||
if (ok != 1) System.Diagnostics.Debug.WriteLine($"GetEpd {ok} ConnectError: {ep.ConnectError}");
|
||||
if (ep.DeviceCount == 1 && ep.b.CurrentDeviceID>0)
|
||||
{
|
||||
EpdFound = true;
|
||||
DoEPD();
|
||||
|
|
@ -200,7 +216,6 @@ namespace eDosStation
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetFilter(bool isAlara)
|
||||
{
|
||||
Inst1 = (cbInst1.IsChecked ==true);
|
||||
|
|
@ -240,12 +255,10 @@ namespace eDosStation
|
|||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (!string.IsNullOrEmpty(_User.UserComment))
|
||||
{
|
||||
MessageBox.Show(_User.UserComment, "Comment", MessageBoxButton.OK, MessageBoxImage.Asterisk);
|
||||
}
|
||||
|
||||
eDosStation.DataSet1 dataSet1 = ((eDosStation.DataSet1)(this.FindResource("dataSet1")));
|
||||
using (var dataSet1GetTaskInfoTableAdapter = new eDosStation.DataSet1TableAdapters.GetTaskInfoTableAdapter())
|
||||
{
|
||||
|
|
@ -261,7 +274,10 @@ namespace eDosStation
|
|||
{
|
||||
_User = new User(CSN.Text, Code.Text);
|
||||
if (_User.Error == 0)
|
||||
{
|
||||
Naam.Text = string.Concat(_User.FirstName, " ", _User.LastName);
|
||||
AskTask();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(_User.ErrorMessage);
|
||||
|
|
@ -273,16 +289,25 @@ namespace eDosStation
|
|||
CSN.Text = csn;
|
||||
Site.Text = site;
|
||||
Code.Text = code;
|
||||
|
||||
Dispatcher.Invoke(CheckBadge);
|
||||
}
|
||||
bool Msg(int err)
|
||||
{
|
||||
//decodeert verschillende USB messages. (callback )
|
||||
if (StopReadBadge )
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine("msg dropped:");
|
||||
if (err!=0) System.Diagnostics.Debug.WriteLine($"msg result={a.clr.Result}");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (err == 0)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($"msg result={a.clr.Result}");
|
||||
if (a.clr.Result.StartsWith("csn:", StringComparison.InvariantCultureIgnoreCase) && a.clr.Result.EndsWith(";"))
|
||||
{ //GEn 2
|
||||
csn = string.Empty;
|
||||
|
||||
foreach (string ar in a.clr.Result.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
if (ar.StartsWith("csn:")) csn = ar.Substring(4);
|
||||
|
|
@ -290,6 +315,7 @@ namespace eDosStation
|
|||
if (ar.StartsWith("code:")) code = ar.Substring(5);
|
||||
}
|
||||
this.Dispatcher.Invoke(new Action(() => showBadge()));
|
||||
StopReadBadge = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -300,6 +326,7 @@ namespace eDosStation
|
|||
if (nextFinish || nextCode)
|
||||
{
|
||||
this.Dispatcher.Invoke(new Action(() => showBadge()));
|
||||
StopReadBadge = true;
|
||||
}
|
||||
nextCSN = nextSite = nextCode = nextFinish = false;
|
||||
}
|
||||
|
|
@ -314,9 +341,6 @@ namespace eDosStation
|
|||
}
|
||||
else
|
||||
System.Diagnostics.Debug.WriteLine($"Error {err}");
|
||||
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -324,9 +348,6 @@ namespace eDosStation
|
|||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void BClear_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CSN.Text = string.Empty;
|
||||
|
|
@ -393,12 +414,6 @@ namespace eDosStation
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void CbInst1_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Inst1 = (cbInst1.IsChecked == true);
|
||||
|
|
@ -427,7 +442,13 @@ namespace eDosStation
|
|||
cbNormal.IsChecked = !isAlara;
|
||||
SetFilter(isAlara);
|
||||
}
|
||||
}
|
||||
|
||||
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
t = null;
|
||||
a = null;
|
||||
//t.Abort();
|
||||
}
|
||||
|
||||
private void CbInst2_Click(object sender, RoutedEventArgs e)
|
||||
|
|
@ -438,14 +459,16 @@ namespace eDosStation
|
|||
SetFilter(isAlara);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void Starter()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (a == null)
|
||||
{
|
||||
a = new OkReadBadge.Badging(Msg);
|
||||
StopReadBadge = false;
|
||||
a.Start();
|
||||
}
|
||||
} catch (System.Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Badgereader error {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
|
|
@ -453,6 +476,7 @@ namespace eDosStation
|
|||
}
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
EpdFound = false;
|
||||
initialising = true;
|
||||
tbEntry.IsSelected = true;
|
||||
bEpdDone.Visibility = Visibility.Hidden;
|
||||
|
|
@ -468,28 +492,12 @@ namespace eDosStation
|
|||
Inst2 = false;
|
||||
cbInst2.IsChecked = Inst2;
|
||||
}
|
||||
//eDosStation.DataSet1 dataSet1 = ((eDosStation.DataSet1)(this.FindResource("dataSet1")));
|
||||
////using (eDosStation.DataSet1TableAdapters.GetTaskListTableAdapter dataSet1GetTaskListTableAdapter = new eDosStation.DataSet1TableAdapters.GetTaskListTableAdapter())
|
||||
////{
|
||||
//// dataSet1GetTaskListTableAdapter.Fill(dataSet1.GetTaskList);
|
||||
////}
|
||||
//using (var dataSet1GetTaskInfoTableAdapter = new eDosStation.DataSet1TableAdapters.GetTaskInfoTableAdapter())
|
||||
//{
|
||||
// dataSet1GetTaskInfoTableAdapter.Fill(dataSet1.GetTaskInfo, null, null);
|
||||
//}
|
||||
|
||||
|
||||
|
||||
//System.Windows.Data.CollectionViewSource getTaskListViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("getTaskListViewSource")));
|
||||
//getTaskListViewSource.View.MoveCurrentToFirst();
|
||||
|
||||
|
||||
string TestCSN = thisStation.TestCSN;
|
||||
initialising = false;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(TestCSN))
|
||||
{
|
||||
////Real
|
||||
t = new System.Threading.Thread(() => Starter());
|
||||
t.Start();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,12 +57,21 @@ namespace eDosStation
|
|||
}
|
||||
dispatcherTimer.Tick += DispatcherTimer_TickTO; ;
|
||||
|
||||
ep.GetStatus();
|
||||
int rv= ep.GetStatus();
|
||||
if (rv != 1)
|
||||
{
|
||||
int er= ep.GetStatusError;
|
||||
MessageBox.Show($"GetStatus {rv} error {er}");
|
||||
}
|
||||
|
||||
if (!ep.Issued)
|
||||
{
|
||||
MessageBox.Show("This EPD is not issued","EDP",MessageBoxButton.OK,MessageBoxImage.Hand,MessageBoxResult.OK,MessageBoxOptions.ServiceNotification);
|
||||
this.Close();
|
||||
return;
|
||||
} else if (ep.EpdID==0)
|
||||
{
|
||||
MessageBox.Show("This EPD is not read", "EDP", MessageBoxButton.OK, MessageBoxImage.Hand, MessageBoxResult.OK, MessageBoxOptions.ServiceNotification);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -80,11 +89,19 @@ namespace eDosStation
|
|||
DosePanel.Background = GreenBrush;
|
||||
ok.IsSelected = true;
|
||||
}
|
||||
int rv = ep.ReadExtraStatus(); //D1 BaseD1 ...
|
||||
rv = ep.ReadExtraStatus(); //D1 BaseD1 ...
|
||||
if (rv != 1)
|
||||
{
|
||||
MessageBox.Show($"ReadExtraStatus {rv}");
|
||||
}
|
||||
|
||||
Wearer.Text = $"Wearer: {ep.WearerName}";
|
||||
EpdVisit.Text = $"Visit: {ep.WearerID}";
|
||||
ep.GetDoses();
|
||||
rv = ep.GetDoses();
|
||||
if (rv != 1)
|
||||
{
|
||||
MessageBox.Show($"GetDoses {rv} er:{ep.GetDosesError}");
|
||||
}
|
||||
HpDose07.Text = $"Hp07: {ep.Hp07:0.00} µSv ";
|
||||
HpDose10.Text = $"Hp10: {ep.Hp10:0.00} µSv";
|
||||
if (int.TryParse(ep.WearerID, out int VisitID)) {
|
||||
|
|
@ -127,8 +144,6 @@ namespace eDosStation
|
|||
pa = new SqlParameter("D3", SqlDbType.Int); pa.Value = ep.D3; cmd1.Parameters.Add(pa);
|
||||
pa = new SqlParameter("D4", SqlDbType.Int); pa.Value = ep.D4; cmd1.Parameters.Add(pa);
|
||||
|
||||
|
||||
|
||||
pa = new SqlParameter("alarmStatus", SqlDbType.Int); pa.Value = ep.alarmStatus; cmd1.Parameters.Add(pa);
|
||||
pa = new SqlParameter("otherAlarms", SqlDbType.Int); pa.Value = ep.otherAlarms; cmd1.Parameters.Add(pa);
|
||||
pa = new SqlParameter("errorStatus", SqlDbType.Int); pa.Value = ep.errorStatus; cmd1.Parameters.Add(pa);
|
||||
|
|
@ -140,8 +155,12 @@ namespace eDosStation
|
|||
}
|
||||
}
|
||||
}
|
||||
ep.SetDeIssued();
|
||||
|
||||
rv= ep.SetDeIssued();
|
||||
if (rv!=1)
|
||||
{
|
||||
MessageBox.Show($"DeIssueerror {rv}");
|
||||
}
|
||||
|
||||
dispatcherTimer.Start(); //Knop hide
|
||||
return;
|
||||
|
|
@ -156,12 +175,14 @@ namespace eDosStation
|
|||
|
||||
private void StartScan()
|
||||
{
|
||||
EpdFound = false;
|
||||
//ep = new EpdBaseClr.Epd2(thisStation.ComPort);
|
||||
ep.Connect();
|
||||
int rv = ep.Connect();
|
||||
System.Diagnostics.Debug.WriteLine($"Connect {rv} error {ep.ConnectError}");
|
||||
if (ep.DeviceCount == 1)
|
||||
{
|
||||
EpdFound = true;
|
||||
statusEPD.Content = $"EPD: {ep.b.CurrentDeviceID}";
|
||||
statusEPD.Content = $"StartScan : EPD: {ep.b.CurrentDeviceID}";
|
||||
LoadDoses();
|
||||
}
|
||||
if (!EpdFound)
|
||||
|
|
@ -178,12 +199,12 @@ namespace eDosStation
|
|||
private void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Wait.IsSelected = true;
|
||||
EpdFound = false;
|
||||
Dispatcher.InvokeAsync(StartScan);
|
||||
}
|
||||
|
||||
private void DispatcherTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
dispatcherTimer.Stop();
|
||||
EpdFound = false;
|
||||
ep.Connect();
|
||||
|
|
|
|||
|
|
@ -38,12 +38,14 @@ namespace eDosStation
|
|||
{
|
||||
var w = new EntryBadge(ep, thisStation);
|
||||
w.ShowDialog();
|
||||
w = null;
|
||||
}
|
||||
|
||||
private void BExit_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var w = new EpdExit(ep, thisStation);
|
||||
w.ShowDialog();
|
||||
w = null;
|
||||
}
|
||||
|
||||
private void MenuItem_Click(object sender, RoutedEventArgs e)
|
||||
|
|
|
|||
|
|
@ -15,13 +15,9 @@ namespace eDosStation
|
|||
public string conCode { get; set; }
|
||||
public string Language { get; set; }
|
||||
public bool? AccessAllow { get; set; }
|
||||
|
||||
public double? Margin { get; set; }
|
||||
|
||||
public bool? VisitIDLocked { get; set; }
|
||||
|
||||
public string ReasonNoAccess { get; set; }
|
||||
|
||||
public string UserComment { get; set; }
|
||||
|
||||
public bool AllOk = false;
|
||||
|
|
@ -61,14 +57,13 @@ namespace eDosStation
|
|||
AllOk = (AccessAllow == true & VisitIDLocked == true);
|
||||
}
|
||||
rs.Close();
|
||||
} catch(System.Exception ex)
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
Error = 1;
|
||||
ErrorMessage = ex.Message;
|
||||
}
|
||||
co.Close();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue