aktuellen Stand einchecken (Service Referenz muss ersetzt werden)
This commit is contained in:
parent
f02530f960
commit
97ef25d4a5
@ -19,6 +19,12 @@ Sample license text.
|
||||
<setting name="ConnectionString" serializeAs="String">
|
||||
<value>Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value>
|
||||
</setting>
|
||||
<setting name="UseLocking" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="LockingServerAddress" serializeAs="String">
|
||||
<value>http://heupferd/bsmd.LockingService/LockingService.svc</value>
|
||||
</setting>
|
||||
</ENI2.Properties.Settings>
|
||||
</applicationSettings>
|
||||
<userSettings>
|
||||
@ -29,15 +35,7 @@ Sample license text.
|
||||
</ENI2.Properties.Settings>
|
||||
</userSettings>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<basicHttpBinding>
|
||||
<binding name="BasicHttpBinding_IService" />
|
||||
</basicHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://localhost/bsmd.LockingService/LockingService.svc"
|
||||
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService"
|
||||
contract="LockingServiceReference.IService" name="BasicHttpBinding_IService" />
|
||||
</client>
|
||||
<bindings />
|
||||
<client />
|
||||
</system.serviceModel>
|
||||
</configuration>
|
||||
@ -9,7 +9,7 @@ using bsmd.database;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System;
|
||||
using ENI2.LockingServiceReference;
|
||||
using System.Net;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
@ -17,8 +17,7 @@ namespace ENI2
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
private ServiceClient lockingServiceClient;
|
||||
{
|
||||
|
||||
public App() : base()
|
||||
{
|
||||
@ -30,7 +29,7 @@ namespace ENI2
|
||||
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
base.OnStartup(e);
|
||||
base.OnStartup(e);
|
||||
|
||||
// initialize static / localized lookups from sqlite database
|
||||
|
||||
@ -41,14 +40,12 @@ namespace ENI2
|
||||
LADG.CargoHandlingDict.Add(key, cargoHandlingDict[key]);
|
||||
|
||||
EventManager.RegisterClassHandler(typeof(DatePicker), DatePicker.PreviewKeyDownEvent, new KeyEventHandler(this.DatePicker_PreviewKeyDown));
|
||||
try
|
||||
{
|
||||
// this.lockingServiceClient = new ServiceClient();
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Diagnostics.Trace.WriteLine("Exception creating locking service client: {0}", ex.ToString());
|
||||
}
|
||||
|
||||
// perform logon
|
||||
// TODO: Benutzerverwaltung
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -41,6 +41,11 @@ namespace ENI2
|
||||
/// </summary>
|
||||
public event Action RequestReload;
|
||||
|
||||
/// <summary>
|
||||
/// Mit diesem Event wird der Wunsch nach einem Lock zum Ausdruck gebracht ;-)
|
||||
/// </summary>
|
||||
public event Action<bool> RequestLock;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
@ -49,6 +54,8 @@ namespace ENI2
|
||||
|
||||
public List<Message> Messages { get; set; }
|
||||
|
||||
public Guid UserId { get; set; } // TODO: Ersetzen mit der User-Entity
|
||||
|
||||
#endregion
|
||||
|
||||
#region public methods
|
||||
@ -71,6 +78,10 @@ namespace ENI2
|
||||
this.RequestReload?.Invoke();
|
||||
}
|
||||
|
||||
protected virtual void OnRequestLock(bool shouldLock)
|
||||
{
|
||||
this.RequestLock?.Invoke(shouldLock);
|
||||
}
|
||||
|
||||
protected void SetLocodeStateImage(Image stateImage, LocodeState state)
|
||||
{
|
||||
|
||||
@ -4,10 +4,12 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Controls;
|
||||
|
||||
using bsmd.database;
|
||||
using ENI2.DetailViewControls;
|
||||
using ENI2.LockingServiceReference;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
@ -16,12 +18,27 @@ namespace ENI2
|
||||
/// </summary>
|
||||
public partial class DetailRootControl : UserControl
|
||||
{
|
||||
|
||||
#region Fields
|
||||
|
||||
private MessageCore _core;
|
||||
private List<MessageGroup> _listBoxList = new List<MessageGroup>();
|
||||
private List<Message> _messages;
|
||||
private Dictionary<Type, DetailBaseControl> controlCache = new Dictionary<Type, DetailBaseControl>();
|
||||
private ServiceClient lockingServiceClient;
|
||||
private Guid userId = Guid.NewGuid(); // remove THIS!!
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
public MessageCore Core { get { return this._core; } }
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Construction
|
||||
|
||||
public DetailRootControl(MessageCore aCore)
|
||||
{
|
||||
_core = aCore;
|
||||
@ -51,8 +68,23 @@ namespace ENI2
|
||||
|
||||
_messages = DBManager.Instance.GetMessagesForCore(_core, DBManager.MessageLoad.ALL);
|
||||
Dispatcher.BeginInvoke((Action)(() => this.listBoxMessages.SelectedIndex = 0));
|
||||
|
||||
// Connect to locking service (if enabled)
|
||||
|
||||
try
|
||||
{
|
||||
if (ENI2.Properties.Settings.Default.UseLocking)
|
||||
this.lockingServiceClient = new ServiceClient("BasicHttpBinding_IService", ENI2.Properties.Settings.Default.LockingServerAddress);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Diagnostics.Trace.WriteLine("Exception creating locking service client: {0}", ex.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region class MessageGroup
|
||||
|
||||
/// <summary>
|
||||
@ -89,6 +121,7 @@ namespace ENI2
|
||||
};
|
||||
|
||||
detailControl.RequestReload += DetailControl_RequestReload;
|
||||
detailControl.RequestLock += DetailControl_RequestLock;
|
||||
|
||||
detailControl.Initialize();
|
||||
controlCache.Add(mg.MessageGroupControlType, detailControl);
|
||||
@ -99,6 +132,42 @@ namespace ENI2
|
||||
}
|
||||
}
|
||||
|
||||
private void DetailControl_RequestLock(bool shouldLock)
|
||||
{
|
||||
if(this.lockingServiceClient == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (shouldLock)
|
||||
{
|
||||
try
|
||||
{
|
||||
string lockResult = this.lockingServiceClient.Lock(this.Core.Id.Value, this.userId.ToString());
|
||||
if (lockResult == "")
|
||||
{
|
||||
// lock successful
|
||||
this.Core.Locked = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// locking failed: Notify User
|
||||
|
||||
}
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
Trace.WriteLine(ex.ToString());
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lockingServiceClient.Unlock(this.Core.Id.Value, this.userId.ToString());
|
||||
this.Core.Locked = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void DetailControl_RequestReload()
|
||||
{
|
||||
/// core und messages neu laden
|
||||
|
||||
@ -32,7 +32,9 @@
|
||||
<RowDefinition Height="24" />
|
||||
<RowDefinition Height="24" />
|
||||
<RowDefinition Height="24" />
|
||||
<RowDefinition Height="24" />
|
||||
<RowDefinition Height="4" />
|
||||
<RowDefinition Height="32" />
|
||||
<RowDefinition Height="4" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
@ -72,19 +74,25 @@
|
||||
<Label Name="labelCreated" Grid.Column="4" Grid.Row="4" Margin="2, 0, 0, 0" />
|
||||
<TextBox Name="textBoxTicketNo" Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="2" Text="{Binding TicketNo}" Margin="2" />
|
||||
<!-- Command buttons -->
|
||||
<Button IsEnabled="False" Name="buttonStorno" Grid.Column="1" Grid.Row="5" Margin="2" Click="buttonStorno_Click" Content="{x:Static p:Resources.textCancelDeclaration}"/>
|
||||
<Button IsEnabled="False" Name="buttonCopy" Grid.Column="2" Grid.Row="5" Margin="2" Click="buttonCopy_Click" Content="{x:Static p:Resources.textCopyData}"/>
|
||||
<Button IsEnabled="False" Name="buttonSendPDF" Grid.Column="3" Grid.Row="5" Margin="2" Click="buttonSendPDF_Click" Content="{x:Static p:Resources.textCreatePDF}"/>
|
||||
<Button Name="buttonQueryHIS" Grid.Column="4" Grid.Row="5" Margin="2" Click="buttonQueryHIS_Click" Content="{x:Static p:Resources.textQueryHIS}"/>
|
||||
<Button Name="buttonRefresh" Grid.Column="5" Grid.Row="5" Margin="2" Click="buttonRefresh_Click">
|
||||
<Button Name="buttonLock" Grid.Column="0" Grid.Row="6" Margin="2" Click="buttonLock_Click" BorderThickness="0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="../Resources/nav_refresh_blue.png" Margin="0,0,10,0"/>
|
||||
<TextBlock Text="{x:Static p:Resources.textRefresh}"/>
|
||||
<Image Source="../Resources/lock_open.png" Margin="0,0,5,0" Height="24" />
|
||||
<TextBlock Text="{x:Static p:Resources.textLock}" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button IsEnabled="False" Name="buttonStorno" Grid.Column="1" Grid.Row="6" Margin="2" Click="buttonStorno_Click" Content="{x:Static p:Resources.textCancelDeclaration}"/>
|
||||
<Button IsEnabled="False" Name="buttonCopy" Grid.Column="2" Grid.Row="6" Margin="2" Click="buttonCopy_Click" Content="{x:Static p:Resources.textCopyData}"/>
|
||||
<Button IsEnabled="False" Name="buttonSendPDF" Grid.Column="3" Grid.Row="6" Margin="2" Click="buttonSendPDF_Click" Content="{x:Static p:Resources.textCreatePDF}"/>
|
||||
<Button Name="buttonQueryHIS" Grid.Column="4" Grid.Row="6" Margin="2" Click="buttonQueryHIS_Click" Content="{x:Static p:Resources.textQueryHIS}"/>
|
||||
<Button Name="buttonRefresh" Grid.Column="5" Grid.Row="6" Margin="2" Click="buttonRefresh_Click" BorderThickness="0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="../Resources/nav_refresh_blue.png" Margin="0,0,5,0" Height="24"/>
|
||||
<TextBlock Text="{x:Static p:Resources.textRefresh}" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
|
||||
<!-- Data Grid -->
|
||||
<DataGrid Grid.Row="6" Grid.ColumnSpan="6" Margin="0,8,0,0" x:Name="dataGridMessages" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" CanUserAddRows="False"
|
||||
<DataGrid Grid.Row="8" Grid.ColumnSpan="6" Margin="0,8,0,0" x:Name="dataGridMessages" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" CanUserAddRows="False"
|
||||
SelectionMode="Single" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_MouseDoubleClick" PreviewKeyDown="dataGrid_PreviewKeyDown">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTemplateColumn Header=" " Width="SizeToCells" IsReadOnly="True">
|
||||
|
||||
@ -27,9 +27,9 @@ namespace ENI2.DetailViewControls
|
||||
private DateTime _startStatusCheck;
|
||||
|
||||
public OverViewDetailControl()
|
||||
{
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
#region Initialize
|
||||
|
||||
@ -42,9 +42,9 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
this.textBoxENI.DataContext = this.Core;
|
||||
this.textBoxIMO.DataContext = this.Core;
|
||||
this.locodePoC.DataContext = this.Core;
|
||||
this.locodePoC.DataContext = this.Core;
|
||||
this.textBoxTicketNo.DataContext = this.Core;
|
||||
|
||||
|
||||
this.labelCreated.Content = this.Core.Created?.ToString();
|
||||
|
||||
Binding vtBinding = new Binding();
|
||||
@ -56,16 +56,16 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
foreach (Message aMessage in this.Messages)
|
||||
{
|
||||
if (aMessage.MessageNotificationClass == notificationClass)
|
||||
if (aMessage.MessageNotificationClass == notificationClass)
|
||||
_message = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.ATA)
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.ATA)
|
||||
this._ataMessage = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.ATD)
|
||||
this._atdMessage = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.NOA_NOD)
|
||||
this._noanodMessage = aMessage;
|
||||
|
||||
switch(aMessage.MessageNotificationClass)
|
||||
switch (aMessage.MessageNotificationClass)
|
||||
{
|
||||
case Message.NotificationClass.VISIT:
|
||||
case Message.NotificationClass.TRANSIT:
|
||||
@ -135,7 +135,7 @@ namespace ENI2.DetailViewControls
|
||||
aMessage.ENINotificationDetailGroup = Properties.Resources.textBorderPolice;
|
||||
aMessage.ENINotificationDetailIndex = 10;
|
||||
break;
|
||||
|
||||
|
||||
case Message.NotificationClass.HAZA:
|
||||
aMessage.ENINotificationIconString = "../Resources/sign_warning_radiation.png";
|
||||
aMessage.ENINotificationDetailGroup = Properties.Resources.textDGArrival;
|
||||
@ -164,14 +164,14 @@ namespace ENI2.DetailViewControls
|
||||
if (a.ENINotificationDetailIndex == b.ENINotificationDetailIndex)
|
||||
return a.MessageNotificationClassDisplay.CompareTo(b.MessageNotificationClassDisplay);
|
||||
return a.ENINotificationDetailIndex.CompareTo(b.ENINotificationDetailIndex);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
if (_message != null)
|
||||
{
|
||||
// kann das eigentlich passieren??!
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region init ATA
|
||||
|
||||
// ganz hakelig ich weiß dafür kapiert das gleich jeder
|
||||
@ -263,8 +263,8 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
private void jumpToMessage(Message message)
|
||||
{
|
||||
|
||||
this.OnJumpToListElementRequest(message.ENINotificationDetailIndex);
|
||||
|
||||
this.OnJumpToListElementRequest(message.ENINotificationDetailIndex);
|
||||
}
|
||||
|
||||
#region mouse event handler
|
||||
@ -278,7 +278,7 @@ namespace ENI2.DetailViewControls
|
||||
{
|
||||
DataGridRow dgr = grid.ItemContainerGenerator.ContainerFromItem(grid.SelectedItem) as DataGridRow;
|
||||
Message selectedMessage = grid.SelectedItem as Message;
|
||||
this.jumpToMessage(selectedMessage);
|
||||
this.jumpToMessage(selectedMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -312,14 +312,14 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
private void buttonSendPDF_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void buttonQueryHIS_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this._startStatusCheck = DateTime.Now;
|
||||
this.Core.QueryNSWStatus = true;
|
||||
DBManager.Instance.Save(this.Core);
|
||||
DBManager.Instance.Save(this.Core);
|
||||
this.busyIndicator.IsBusy = true;
|
||||
|
||||
// Hintergrund-Thread starten, der gelegentlich auf das Ergebnis prüft..
|
||||
@ -327,7 +327,7 @@ namespace ENI2.DetailViewControls
|
||||
{
|
||||
_checkStatusTimer = new Timer(3000);
|
||||
_checkStatusTimer.Elapsed += _checkStatusTimer_Elapsed;
|
||||
_checkStatusTimer.AutoReset = true;
|
||||
_checkStatusTimer.AutoReset = true;
|
||||
}
|
||||
_checkStatusTimer.Start();
|
||||
}
|
||||
@ -335,21 +335,21 @@ namespace ENI2.DetailViewControls
|
||||
private void _checkStatusTimer_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
bool? statusFlag = DBManager.Instance.GetMessageCoreQueryStatusFlag(this.Core.Id.Value);
|
||||
if(statusFlag ?? true)
|
||||
if (statusFlag ?? true)
|
||||
{
|
||||
// not yet.. (calling ui thread async)
|
||||
this.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
this.labelBusyTimeElapsed.Content = string.Format(Properties.Resources.textSecondsElapsed, (DateTime.Now - _startStatusCheck).TotalSeconds.ToString("N1"));
|
||||
}));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
this.busyIndicator.IsBusy = false;
|
||||
this.OnRequestReload();
|
||||
}));
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@ -368,14 +368,22 @@ namespace ENI2.DetailViewControls
|
||||
}));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region private methods
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
private void buttonLock_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
this.OnRequestLock(!this.Core.Locked);
|
||||
}));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region private methods
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
@ -107,6 +107,7 @@
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.ServiceModel.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
@ -224,11 +225,6 @@
|
||||
<DependentUpon>VisitIdDialog.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="LocalizedLookup.cs" />
|
||||
<Compile Include="Service References\LockingServiceReference\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SucheControl.xaml.cs">
|
||||
<DependentUpon>SucheControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -359,14 +355,11 @@
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<None Include="Service References\LockingServiceReference\LockingService.disco" />
|
||||
<None Include="Service References\LockingServiceReference\configuration91.svcinfo" />
|
||||
<None Include="Service References\LockingServiceReference\configuration.svcinfo" />
|
||||
<None Include="Service References\LockingServiceReference\Reference.svcmap">
|
||||
<Generator>WCF Proxy Generator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<Resource Include="Resources\nav_refresh_blue.png" />
|
||||
<Resource Include="Resources\lock.png" />
|
||||
<Resource Include="Resources\lock_open.png" />
|
||||
<Resource Include="Resources\lock_error.png" />
|
||||
<Resource Include="Resources\lock_ok.png" />
|
||||
<Content Include="x64\SQLite.Interop.dll">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@ -376,16 +369,6 @@
|
||||
<EmbeddedResource Include="Properties\Resources.de.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<None Include="Service References\LockingServiceReference\LockingService.wsdl" />
|
||||
<None Include="Service References\LockingServiceReference\LockingService.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Service References\LockingServiceReference\LockingService1.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Service References\LockingServiceReference\LockingService2.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<Resource Include="Resources\printer.png" />
|
||||
<Resource Include="Resources\floppy_disk_blue.png" />
|
||||
<Resource Include="Resources\document_plain.png" />
|
||||
@ -507,9 +490,6 @@
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Service References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadataStorage Include="Service References\LockingServiceReference\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="packages\System.Data.SQLite.Core.1.0.105.0\build\net451\System.Data.SQLite.Core.targets" Condition="Exists('packages\System.Data.SQLite.Core.1.0.105.0\build\net451\System.Data.SQLite.Core.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
||||
@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ENI2", "ENI2.csproj", "{67A
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bsmd.database", "..\..\..\nsw\Source\bsmd.database\bsmd.database.csproj", "{19945AF2-379B-46A5-B27A-303B5EC1D557}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bsmd.LockingService", "..\..\..\nsw\Source\bsmd.LockingService\bsmd.LockingService.csproj", "{7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -21,6 +23,10 @@ Global
|
||||
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
58
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
58
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
@ -60,6 +60,16 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap _lock {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("_lock", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@ -260,6 +270,36 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap lock_error {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("lock_error", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap lock_ok {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("lock_ok", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap lock_open {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("lock_open", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
|
||||
/// </summary>
|
||||
@ -880,6 +920,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Lock.
|
||||
/// </summary>
|
||||
public static string textLock {
|
||||
get {
|
||||
return ResourceManager.GetString("textLock", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Master.
|
||||
/// </summary>
|
||||
@ -1258,6 +1307,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unlock.
|
||||
/// </summary>
|
||||
public static string textUnlock {
|
||||
get {
|
||||
return ResourceManager.GetString("textUnlock", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Visit / transit.
|
||||
/// </summary>
|
||||
|
||||
@ -517,4 +517,22 @@
|
||||
<data name="textRefresh" xml:space="preserve">
|
||||
<value>Refresh</value>
|
||||
</data>
|
||||
<data name="lock_open" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lock_open.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="_lock" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="textLock" xml:space="preserve">
|
||||
<value>Lock</value>
|
||||
</data>
|
||||
<data name="textUnlock" xml:space="preserve">
|
||||
<value>Unlock</value>
|
||||
</data>
|
||||
<data name="lock_error" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lock_error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="lock_ok" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\lock_ok.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
22
ENI-2/ENI2/ENI2/Properties/Settings.Designer.cs
generated
22
ENI-2/ENI2/ENI2/Properties/Settings.Designer.cs
generated
@ -25,8 +25,8 @@ namespace ENI2.Properties {
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Time" +
|
||||
"out=30;Encrypt=False;TrustServerCertificate=False")]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=(localdb)\\Projects;Initial Catalog=nsw;Integrated Security=True;Conne" +
|
||||
"ct Timeout=30;Encrypt=False;TrustServerCertificate=False")]
|
||||
public string ConnectionString {
|
||||
get {
|
||||
return ((string)(this["ConnectionString"]));
|
||||
@ -44,5 +44,23 @@ namespace ENI2.Properties {
|
||||
this["MainWindowPlacement"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||
public bool UseLocking {
|
||||
get {
|
||||
return ((bool)(this["UseLocking"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://heupferd/bsmd.LockingService/LockingService.svc")]
|
||||
public string LockingServerAddress {
|
||||
get {
|
||||
return ((string)(this["LockingServerAddress"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,10 +3,16 @@
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="ConnectionString" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</Value>
|
||||
<Value Profile="(Default)">Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</Value>
|
||||
</Setting>
|
||||
<Setting Name="MainWindowPlacement" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="UseLocking" Type="System.Boolean" Scope="Application">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="LockingServerAddress" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">http://heupferd/bsmd.LockingService/LockingService.svc</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
BIN
ENI-2/ENI2/ENI2/Resources/lock.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/lock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
ENI-2/ENI2/ENI2/Resources/lock_error.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/lock_error.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
ENI-2/ENI2/ENI2/Resources/lock_ok.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/lock_ok.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
ENI-2/ENI2/ENI2/Resources/lock_open.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/lock_open.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://localhost/bsmd.LockingService/LockingService.svc?wsdl" docRef="http://localhost/bsmd.LockingService/LockingService.svc" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
</discovery>
|
||||
@ -1,96 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LockingService" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<xsd:schema targetNamespace="http://tempuri.org/Imports">
|
||||
<xsd:import schemaLocation="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd0" namespace="http://tempuri.org/" />
|
||||
<xsd:import schemaLocation="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xsd:import schemaLocation="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="IService_Lock_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:Lock" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_Lock_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:LockResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_Unlock_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:Unlock" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_Unlock_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:UnlockResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_LockRefresh_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:LockRefresh" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_LockRefresh_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:LockRefreshResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_Log_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:Log" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_Log_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:LogResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="IService">
|
||||
<wsdl:operation name="Lock">
|
||||
<wsdl:input wsaw:Action="http://tempuri.org/IService/Lock" message="tns:IService_Lock_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://tempuri.org/IService/LockResponse" message="tns:IService_Lock_OutputMessage" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Unlock">
|
||||
<wsdl:input wsaw:Action="http://tempuri.org/IService/Unlock" message="tns:IService_Unlock_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://tempuri.org/IService/UnlockResponse" message="tns:IService_Unlock_OutputMessage" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LockRefresh">
|
||||
<wsdl:input wsaw:Action="http://tempuri.org/IService/LockRefresh" message="tns:IService_LockRefresh_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://tempuri.org/IService/LockRefreshResponse" message="tns:IService_LockRefresh_OutputMessage" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Log">
|
||||
<wsdl:input wsaw:Action="http://tempuri.org/IService/Log" message="tns:IService_Log_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://tempuri.org/IService/LogResponse" message="tns:IService_Log_OutputMessage" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="BasicHttpBinding_IService" type="tns:IService">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="Lock">
|
||||
<soap:operation soapAction="http://tempuri.org/IService/Lock" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Unlock">
|
||||
<soap:operation soapAction="http://tempuri.org/IService/Unlock" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="LockRefresh">
|
||||
<soap:operation soapAction="http://tempuri.org/IService/LockRefresh" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="Log">
|
||||
<soap:operation soapAction="http://tempuri.org/IService/Log" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="LockingService">
|
||||
<wsdl:port name="BasicHttpBinding_IService" binding="tns:BasicHttpBinding_IService">
|
||||
<soap:address location="http://localhost/bsmd.LockingService/LockingService.svc" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
@ -1,60 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import schemaLocation="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xs:import schemaLocation="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
<xs:element name="Lock">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="messageCoreId" type="q1:guid" />
|
||||
<xs:element minOccurs="0" name="userId" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="LockResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="LockResult" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Unlock">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="messageCoreId" type="q2:guid" />
|
||||
<xs:element minOccurs="0" name="userId" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="UnlockResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="LockRefresh">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="currentLocks" nillable="true" type="q3:ArrayOfguid" />
|
||||
<xs:element minOccurs="0" name="userId" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="LockRefreshResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Log">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="host" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="userId" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="LogResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import schemaLocation="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xs:complexType name="ArrayOfguid">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="guid" type="ser:guid" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfguid" nillable="true" type="tns:ArrayOfguid" />
|
||||
</xs:schema>
|
||||
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="anyType" nillable="true" type="xs:anyType" />
|
||||
<xs:element name="anyURI" nillable="true" type="xs:anyURI" />
|
||||
<xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
|
||||
<xs:element name="boolean" nillable="true" type="xs:boolean" />
|
||||
<xs:element name="byte" nillable="true" type="xs:byte" />
|
||||
<xs:element name="dateTime" nillable="true" type="xs:dateTime" />
|
||||
<xs:element name="decimal" nillable="true" type="xs:decimal" />
|
||||
<xs:element name="double" nillable="true" type="xs:double" />
|
||||
<xs:element name="float" nillable="true" type="xs:float" />
|
||||
<xs:element name="int" nillable="true" type="xs:int" />
|
||||
<xs:element name="long" nillable="true" type="xs:long" />
|
||||
<xs:element name="QName" nillable="true" type="xs:QName" />
|
||||
<xs:element name="short" nillable="true" type="xs:short" />
|
||||
<xs:element name="string" nillable="true" type="xs:string" />
|
||||
<xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
|
||||
<xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
|
||||
<xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
|
||||
<xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
|
||||
<xs:element name="char" nillable="true" type="tns:char" />
|
||||
<xs:simpleType name="char">
|
||||
<xs:restriction base="xs:int" />
|
||||
</xs:simpleType>
|
||||
<xs:element name="duration" nillable="true" type="tns:duration" />
|
||||
<xs:simpleType name="duration">
|
||||
<xs:restriction base="xs:duration">
|
||||
<xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
|
||||
<xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
|
||||
<xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="guid" nillable="true" type="tns:guid" />
|
||||
<xs:simpleType name="guid">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:attribute name="FactoryType" type="xs:QName" />
|
||||
<xs:attribute name="Id" type="xs:ID" />
|
||||
<xs:attribute name="Ref" type="xs:IDREF" />
|
||||
</xs:schema>
|
||||
@ -1,102 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 ENI2.LockingServiceReference {
|
||||
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="LockingServiceReference.IService")]
|
||||
public interface IService {
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/Lock", ReplyAction="http://tempuri.org/IService/LockResponse")]
|
||||
bool Lock(System.Guid messageCoreId, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/Lock", ReplyAction="http://tempuri.org/IService/LockResponse")]
|
||||
System.Threading.Tasks.Task<bool> LockAsync(System.Guid messageCoreId, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/Unlock", ReplyAction="http://tempuri.org/IService/UnlockResponse")]
|
||||
void Unlock(System.Guid messageCoreId, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/Unlock", ReplyAction="http://tempuri.org/IService/UnlockResponse")]
|
||||
System.Threading.Tasks.Task UnlockAsync(System.Guid messageCoreId, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/LockRefresh", ReplyAction="http://tempuri.org/IService/LockRefreshResponse")]
|
||||
void LockRefresh(System.Guid[] currentLocks, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/LockRefresh", ReplyAction="http://tempuri.org/IService/LockRefreshResponse")]
|
||||
System.Threading.Tasks.Task LockRefreshAsync(System.Guid[] currentLocks, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/Log", ReplyAction="http://tempuri.org/IService/LogResponse")]
|
||||
void Log(string msg, string host, string userId);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/Log", ReplyAction="http://tempuri.org/IService/LogResponse")]
|
||||
System.Threading.Tasks.Task LogAsync(string msg, string host, string userId);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
public interface IServiceChannel : ENI2.LockingServiceReference.IService, System.ServiceModel.IClientChannel {
|
||||
}
|
||||
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
public partial class ServiceClient : System.ServiceModel.ClientBase<ENI2.LockingServiceReference.IService>, ENI2.LockingServiceReference.IService {
|
||||
|
||||
public ServiceClient() {
|
||||
}
|
||||
|
||||
public ServiceClient(string endpointConfigurationName) :
|
||||
base(endpointConfigurationName) {
|
||||
}
|
||||
|
||||
public ServiceClient(string endpointConfigurationName, string remoteAddress) :
|
||||
base(endpointConfigurationName, remoteAddress) {
|
||||
}
|
||||
|
||||
public ServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
|
||||
base(endpointConfigurationName, remoteAddress) {
|
||||
}
|
||||
|
||||
public ServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
|
||||
base(binding, remoteAddress) {
|
||||
}
|
||||
|
||||
public bool Lock(System.Guid messageCoreId, string userId) {
|
||||
return base.Channel.Lock(messageCoreId, userId);
|
||||
}
|
||||
|
||||
public System.Threading.Tasks.Task<bool> LockAsync(System.Guid messageCoreId, string userId) {
|
||||
return base.Channel.LockAsync(messageCoreId, userId);
|
||||
}
|
||||
|
||||
public void Unlock(System.Guid messageCoreId, string userId) {
|
||||
base.Channel.Unlock(messageCoreId, userId);
|
||||
}
|
||||
|
||||
public System.Threading.Tasks.Task UnlockAsync(System.Guid messageCoreId, string userId) {
|
||||
return base.Channel.UnlockAsync(messageCoreId, userId);
|
||||
}
|
||||
|
||||
public void LockRefresh(System.Guid[] currentLocks, string userId) {
|
||||
base.Channel.LockRefresh(currentLocks, userId);
|
||||
}
|
||||
|
||||
public System.Threading.Tasks.Task LockRefreshAsync(System.Guid[] currentLocks, string userId) {
|
||||
return base.Channel.LockRefreshAsync(currentLocks, userId);
|
||||
}
|
||||
|
||||
public void Log(string msg, string host, string userId) {
|
||||
base.Channel.Log(msg, host, userId);
|
||||
}
|
||||
|
||||
public System.Threading.Tasks.Task LogAsync(string msg, string host, string userId) {
|
||||
return base.Channel.LogAsync(msg, host, userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="41c8e48a-bb8b-4320-ae4b-0cc80c8e7781" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
|
||||
<ClientOptions>
|
||||
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
|
||||
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
|
||||
<EnableDataBinding>true</EnableDataBinding>
|
||||
<ExcludedTypes />
|
||||
<ImportXmlTypes>false</ImportXmlTypes>
|
||||
<GenerateInternalTypes>false</GenerateInternalTypes>
|
||||
<GenerateMessageContracts>false</GenerateMessageContracts>
|
||||
<NamespaceMappings />
|
||||
<CollectionMappings />
|
||||
<GenerateSerializableTypes>true</GenerateSerializableTypes>
|
||||
<Serializer>Auto</Serializer>
|
||||
<UseSerializerForFaults>true</UseSerializerForFaults>
|
||||
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
|
||||
<ReferencedAssemblies />
|
||||
<ReferencedDataContractTypes />
|
||||
<ServiceContractMappings />
|
||||
</ClientOptions>
|
||||
<MetadataSources>
|
||||
<MetadataSource Address="http://localhost/bsmd.LockingService/LockingService.svc" Protocol="http" SourceId="1" />
|
||||
</MetadataSources>
|
||||
<Metadata>
|
||||
<MetadataFile FileName="LockingService.disco" MetadataType="Disco" ID="cf92c075-c2d0-4004-8066-93002ca8e622" SourceId="1" SourceUrl="http://localhost/bsmd.LockingService/LockingService.svc?disco" />
|
||||
<MetadataFile FileName="LockingService.xsd" MetadataType="Schema" ID="65873fec-1282-4255-9bea-e1f068a8cc8e" SourceId="1" SourceUrl="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd0" />
|
||||
<MetadataFile FileName="LockingService1.xsd" MetadataType="Schema" ID="814ce36f-ee52-405f-a335-07cfe94e36a9" SourceId="1" SourceUrl="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd2" />
|
||||
<MetadataFile FileName="LockingService.wsdl" MetadataType="Wsdl" ID="38fe50e2-79ad-46d8-9d71-802c5b022b56" SourceId="1" SourceUrl="http://localhost/bsmd.LockingService/LockingService.svc?wsdl" />
|
||||
<MetadataFile FileName="LockingService2.xsd" MetadataType="Schema" ID="4c4c1dba-23f8-4271-acdc-84c6fcece9ef" SourceId="1" SourceUrl="http://localhost/bsmd.LockingService/LockingService.svc?xsd=xsd1" />
|
||||
</Metadata>
|
||||
<Extensions>
|
||||
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||
</Extensions>
|
||||
</ReferenceGroup>
|
||||
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
|
||||
<behaviors />
|
||||
<bindings>
|
||||
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="BasicHttpBinding_IService" />" bindingType="basicHttpBinding" name="BasicHttpBinding_IService" />
|
||||
</bindings>
|
||||
<endpoints>
|
||||
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost/bsmd.LockingService/LockingService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService" contract="LockingServiceReference.IService" name="BasicHttpBinding_IService" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost/bsmd.LockingService/LockingService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService" contract="LockingServiceReference.IService" name="BasicHttpBinding_IService" />" contractName="LockingServiceReference.IService" name="BasicHttpBinding_IService" />
|
||||
</endpoints>
|
||||
</configurationSnapshot>
|
||||
@ -1,201 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="eMGCdaXNDDQsA9/yFfyZUioqt/U=">
|
||||
<bindingConfigurations>
|
||||
<bindingConfiguration bindingType="basicHttpBinding" name="BasicHttpBinding_IService">
|
||||
<properties>
|
||||
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>BasicHttpBinding_IService</serializedValue>
|
||||
</property>
|
||||
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>StrongWildcard</serializedValue>
|
||||
</property>
|
||||
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>65536</serializedValue>
|
||||
</property>
|
||||
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.Text.UTF8Encoding</serializedValue>
|
||||
</property>
|
||||
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Buffered</serializedValue>
|
||||
</property>
|
||||
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Text</serializedValue>
|
||||
</property>
|
||||
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>None</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>None</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>None</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Never</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>TransportSelected</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>(Collection)</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>UserName</serializedValue>
|
||||
</property>
|
||||
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Default</serializedValue>
|
||||
</property>
|
||||
</properties>
|
||||
</bindingConfiguration>
|
||||
</bindingConfigurations>
|
||||
<endpoints>
|
||||
<endpoint name="BasicHttpBinding_IService" contract="LockingServiceReference.IService" bindingType="basicHttpBinding" address="http://localhost/bsmd.LockingService/LockingService.svc" bindingConfiguration="BasicHttpBinding_IService">
|
||||
<properties>
|
||||
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>http://localhost/bsmd.LockingService/LockingService.svc</serializedValue>
|
||||
</property>
|
||||
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>basicHttpBinding</serializedValue>
|
||||
</property>
|
||||
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>BasicHttpBinding_IService</serializedValue>
|
||||
</property>
|
||||
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>LockingServiceReference.IService</serializedValue>
|
||||
</property>
|
||||
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
|
||||
</property>
|
||||
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue><Header /></serializedValue>
|
||||
</property>
|
||||
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>My</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>LocalMachine</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>False</serializedValue>
|
||||
</property>
|
||||
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>BasicHttpBinding_IService</serializedValue>
|
||||
</property>
|
||||
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
</properties>
|
||||
</endpoint>
|
||||
</endpoints>
|
||||
</SavedWcfConfigurationInformation>
|
||||
Binary file not shown.
31
nsw/Source/bsmd.LockingService/CoreLock.cs
Normal file
31
nsw/Source/bsmd.LockingService/CoreLock.cs
Normal file
@ -0,0 +1,31 @@
|
||||
// Copyright (c) 2017 schick Informatik
|
||||
// Description: Einzelner Lock, der vom LockingService abgerufen werden kann
|
||||
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace bsmd.LockingService
|
||||
{
|
||||
[DataContract]
|
||||
public class CoreLock
|
||||
{
|
||||
private Guid _coreId;
|
||||
private string _userId;
|
||||
|
||||
[DataMember]
|
||||
public Guid CoreId
|
||||
{
|
||||
get { return this._coreId; }
|
||||
set { this._coreId = value; }
|
||||
}
|
||||
|
||||
[DataMember]
|
||||
public string UserId
|
||||
{
|
||||
get { return this._userId; }
|
||||
set { this._userId = value; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -18,9 +18,9 @@ namespace bsmd.LockingService
|
||||
/// </summary>
|
||||
/// <returns>true if successful</returns>
|
||||
|
||||
[OperationContract]
|
||||
[OperationContract]
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
bool Lock(Guid messageCoreId, string userId);
|
||||
string Lock(Guid messageCoreId, string userId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
@ -30,6 +30,12 @@ namespace bsmd.LockingService
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
void Unlock(Guid messageCoreId, string userId);
|
||||
|
||||
/// <summary>
|
||||
/// Get all locks currently in use (for search result..)
|
||||
/// </summary>
|
||||
[OperationContract]
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
List<CoreLock> GetLocks();
|
||||
|
||||
/// <summary>
|
||||
/// To avoid Timeout, send keepalive message
|
||||
@ -47,27 +53,5 @@ namespace bsmd.LockingService
|
||||
void Log(string msg, string host, string userId);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Use a data contract as illustrated in the sample below to add composite types to service operations.
|
||||
[DataContract]
|
||||
public class CompositeType
|
||||
{
|
||||
bool boolValue = true;
|
||||
string stringValue = "Hello ";
|
||||
|
||||
[DataMember]
|
||||
public bool BoolValue
|
||||
{
|
||||
get { return boolValue; }
|
||||
set { boolValue = value; }
|
||||
}
|
||||
|
||||
[DataMember]
|
||||
public string StringValue
|
||||
{
|
||||
get { return stringValue; }
|
||||
set { stringValue = value; }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
<%@ ServiceHost Language="C#" Debug="true" Service="bsmd.LockingService.LockingService" CodeBehind="LockingService.svc.cs" %>
|
||||
<%@ ServiceHost Language="C#" Debug="true" Service="bsmd.LockingService.LockingService" CodeBehind="LockingService.svc.cs" %>
|
||||
|
||||
@ -41,11 +41,13 @@ namespace bsmd.LockingService
|
||||
}
|
||||
|
||||
private ILog log = LogManager.GetLogger(typeof(LockingService));
|
||||
|
||||
public bool Lock(Guid messageCoreId, string userId)
|
||||
|
||||
#region Implementation IService
|
||||
|
||||
public string Lock(Guid messageCoreId, string userId)
|
||||
{
|
||||
if (userId.IsNullOrEmpty()) return false;
|
||||
bool result = false;
|
||||
if (userId.IsNullOrEmpty()) return "request error";
|
||||
string result = "";
|
||||
|
||||
lock (lockDict)
|
||||
{
|
||||
@ -54,15 +56,19 @@ namespace bsmd.LockingService
|
||||
LockEntry le = new LockEntry();
|
||||
le.lockAquired = DateTime.Now;
|
||||
le.userId = userId;
|
||||
lockDict.Add(messageCoreId, le);
|
||||
result = true;
|
||||
lockDict.Add(messageCoreId, le);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lockDict[messageCoreId].userId == userId)
|
||||
{
|
||||
lockDict[messageCoreId].lockAquired = DateTime.Now;
|
||||
result = true;
|
||||
// this means "refresh"
|
||||
lockDict[messageCoreId].lockAquired = DateTime.Now;
|
||||
}
|
||||
else
|
||||
{
|
||||
// lock taken by somebody else..
|
||||
result = lockDict[messageCoreId].userId;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -96,6 +102,22 @@ namespace bsmd.LockingService
|
||||
log.Info(string.Format("{0} {1}:{2}", host, userId, msg));
|
||||
}
|
||||
|
||||
public List<CoreLock> GetLocks()
|
||||
{
|
||||
List<CoreLock> result = new List<CoreLock>();
|
||||
foreach (Guid messageCoreId in lockDict.Keys)
|
||||
{
|
||||
CoreLock coreLock = new CoreLock();
|
||||
coreLock.CoreId = messageCoreId;
|
||||
coreLock.UserId = lockDict[messageCoreId].userId;
|
||||
result.Add(coreLock);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region class LockEntry
|
||||
|
||||
internal class LockEntry
|
||||
{
|
||||
@ -103,5 +125,7 @@ namespace bsmd.LockingService
|
||||
public string userId = string.Empty;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,11 @@
|
||||
<httpRuntime targetFramework="4.5.2"/>
|
||||
</system.web>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<webHttpBinding>
|
||||
<binding name="crossDomain" crossDomainScriptAccessEnabled="true" />
|
||||
</webHttpBinding>
|
||||
</bindings>
|
||||
<behaviors>
|
||||
<serviceBehaviors>
|
||||
<behavior>
|
||||
@ -32,5 +37,10 @@
|
||||
-->
|
||||
<directoryBrowse enabled="true"/>
|
||||
</system.webServer>
|
||||
|
||||
<!-- einkommentieren für Fiddler Debug -->
|
||||
<system.net>
|
||||
<defaultProxy>
|
||||
<proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
|
||||
</defaultProxy>
|
||||
</system.net>
|
||||
</configuration>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<WcfConfigValidationEnabled>True</WcfConfigValidationEnabled>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
@ -67,7 +67,10 @@
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="index.htm" />
|
||||
<Content Include="lock.png" />
|
||||
<Content Include="LockingService.svc" />
|
||||
<Content Include="logo_transparent_babyblau.png" />
|
||||
<Content Include="Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -80,6 +83,7 @@
|
||||
<Compile Include="..\bsmd.database\Properties\AssemblyProjectKeyInfo.cs">
|
||||
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="CoreLock.cs" />
|
||||
<Compile Include="LockingService.svc.cs">
|
||||
<DependentUpon>LockingService.svc</DependentUpon>
|
||||
</Compile>
|
||||
@ -92,6 +96,9 @@
|
||||
<ItemGroup>
|
||||
<Content Include="bsmd.LockingService.licenseheader" />
|
||||
<Content Include="packages.config" />
|
||||
<Content Include="..\bsmdKey.snk">
|
||||
<Link>bsmdKey.snk</Link>
|
||||
</Content>
|
||||
<None Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
@ -109,6 +116,12 @@
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
@ -120,7 +133,7 @@
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>11651</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>http://localhost/bsmd.LockingService</IISUrl>
|
||||
<IISUrl>http://localhost:11651/</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
|
||||
16
nsw/Source/bsmd.LockingService/index.htm
Normal file
16
nsw/Source/bsmd.LockingService/index.htm
Normal file
@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta charset="utf-8" />
|
||||
</head>
|
||||
<body style="background-color:darkslategray;color:lemonchiffon;">
|
||||
<div style="float:left; margin-right:5px;"><img src="lock.png" /></div>
|
||||
<div style="float:right; margin-left:5px;"><img src="logo_transparent_babyblau.png" width="256" height="256" /></div>
|
||||
(c) 2017 <a href="http://www.textbausteine.net/">schick Informatik</a> - Locking Service <br />
|
||||
WCF Service für die ausschließliche Bearbeitung von Erfassungsmasken in ENI-2.
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
nsw/Source/bsmd.LockingService/lock.png
Normal file
BIN
nsw/Source/bsmd.LockingService/lock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 37 KiB |
BIN
nsw/Source/bsmd.LockingService/logo_transparent_babyblau.png
Normal file
BIN
nsw/Source/bsmd.LockingService/logo_transparent_babyblau.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@ -183,6 +183,11 @@ namespace bsmd.database
|
||||
[MaxLength(50)]
|
||||
public string TicketNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Property um in ENI-2 den "gelockten" Zustand zu speichern (wird nicht persistiert)
|
||||
/// </summary>
|
||||
public bool Locked { get; set; }
|
||||
|
||||
#region Felder um NSW Statusinformationen zu speichern (abgefragte Daten!)
|
||||
|
||||
public bool? Cancelled { get; set; }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user