Neue Version 3.6.2.0:
- Speichern - Locking (noch nicht funktional) - Visit-Id anfordern (noch nicht funktional) - neuer Splashscreen
This commit is contained in:
parent
97ef25d4a5
commit
4d76d7191d
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Sample license text.
|
||||
(c) 2017 Informatikbüro Daniel Schick
|
||||
-->
|
||||
<configuration>
|
||||
<configSections>
|
||||
@ -35,7 +35,15 @@ Sample license text.
|
||||
</ENI2.Properties.Settings>
|
||||
</userSettings>
|
||||
<system.serviceModel>
|
||||
<bindings />
|
||||
<client />
|
||||
<bindings>
|
||||
<basicHttpBinding>
|
||||
<binding name="BasicHttpBinding_IService" />
|
||||
</basicHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://localhost:11651/LockingService.svc"
|
||||
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService"
|
||||
contract="LockingServiceReference.IService" name="BasicHttpBinding_IService" />
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
</configuration>
|
||||
@ -10,6 +10,8 @@ using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System;
|
||||
using System.Net;
|
||||
using ENI2.LockingServiceReference;
|
||||
using System.Threading;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
@ -18,6 +20,14 @@ namespace ENI2
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
// "global" statics, da gibt es sicher noch einen eleganteren Weg..
|
||||
private static ServiceClient _lockingServiceClient = null;
|
||||
private static Guid? _userId = null;
|
||||
|
||||
// Splash screen
|
||||
private static SplashScreenWindow _splashScreenWindow;
|
||||
private ManualResetEvent ResetSplashCreated;
|
||||
private Thread _splashThread;
|
||||
|
||||
public App() : base()
|
||||
{
|
||||
@ -27,8 +37,23 @@ namespace ENI2
|
||||
new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
|
||||
}
|
||||
|
||||
public static ServiceClient LockingServiceClient { get { return _lockingServiceClient; } }
|
||||
|
||||
public static SplashScreenWindow SplashScreen { get { return _splashScreenWindow; } }
|
||||
|
||||
public static Guid? UserId { get { return _userId; } }
|
||||
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
this.ResetSplashCreated = new ManualResetEvent(false);
|
||||
this._splashThread = new Thread(ShowSplash);
|
||||
_splashThread.SetApartmentState(ApartmentState.STA);
|
||||
_splashThread.IsBackground = true;
|
||||
_splashThread.Name = "Splash Screen";
|
||||
_splashThread.Start();
|
||||
|
||||
ResetSplashCreated.WaitOne();
|
||||
|
||||
base.OnStartup(e);
|
||||
|
||||
// initialize static / localized lookups from sqlite database
|
||||
@ -45,7 +70,17 @@ namespace ENI2
|
||||
// TODO: Benutzerverwaltung
|
||||
|
||||
|
||||
// Connect to locking service (if enabled)
|
||||
|
||||
try
|
||||
{
|
||||
if (ENI2.Properties.Settings.Default.UseLocking)
|
||||
App._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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -83,5 +118,14 @@ namespace ENI2
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowSplash()
|
||||
{
|
||||
_splashScreenWindow = new SplashScreenWindow();
|
||||
_splashScreenWindow.Show();
|
||||
|
||||
ResetSplashCreated.Set();
|
||||
System.Windows.Threading.Dispatcher.Run();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,14 +8,30 @@ using System.Windows.Controls;
|
||||
|
||||
using bsmd.database;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
public class DetailBaseControl : UserControl
|
||||
{
|
||||
|
||||
#region Fields
|
||||
|
||||
protected bool _initialized = false;
|
||||
|
||||
private DependencyPropertyDescriptor _dpTextBox;
|
||||
private DependencyPropertyDescriptor _dpDatePicker;
|
||||
private DependencyPropertyDescriptor _dpLocode;
|
||||
private DependencyPropertyDescriptor _dpCheckbox;
|
||||
private DependencyPropertyDescriptor _dpComboboxIndex;
|
||||
private DependencyPropertyDescriptor _dpComboboxValue;
|
||||
private DependencyPropertyDescriptor _dpNumericUpdown;
|
||||
private Dictionary<Object, Message.NotificationClass> _controlClassDict = new Dictionary<object, Message.NotificationClass>();
|
||||
private Dictionary<Message.NotificationClass, Message> _typeMessageDict = new Dictionary<Message.NotificationClass, Message>();
|
||||
private List<Message> _controlMessages = new List<Message>();
|
||||
|
||||
#endregion
|
||||
|
||||
#region enum
|
||||
|
||||
protected enum LocodeState
|
||||
@ -46,14 +62,30 @@ namespace ENI2
|
||||
/// </summary>
|
||||
public event Action<bool> RequestLock;
|
||||
|
||||
/// <summary>
|
||||
/// Eine in der Detailansicht enthaltene Meldeklasse hat sich geändert
|
||||
/// </summary>
|
||||
public event Action<Message.NotificationClass> NotificationClassChanged;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Core to be edited
|
||||
/// </summary>
|
||||
public MessageCore Core { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// all messages for this core
|
||||
/// </summary>
|
||||
public List<Message> Messages { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// particular messages that are edited on this page
|
||||
/// </summary>
|
||||
public List<Message> ControlMessages { get { return this._controlMessages; } }
|
||||
|
||||
public Guid UserId { get; set; } // TODO: Ersetzen mit der User-Entity
|
||||
|
||||
#endregion
|
||||
@ -62,6 +94,19 @@ namespace ENI2
|
||||
|
||||
public virtual void Initialize() {
|
||||
|
||||
_dpTextBox = DependencyPropertyDescriptor.FromProperty(TextBox.TextProperty, typeof(TextBox));
|
||||
_dpDatePicker = DependencyPropertyDescriptor.FromProperty(Xceed.Wpf.Toolkit.DateTimePicker.ValueProperty, typeof(Xceed.Wpf.Toolkit.DateTimePicker));
|
||||
_dpLocode = DependencyPropertyDescriptor.FromProperty(Controls.LocodeControl.LocodeValueProperty, typeof(Controls.LocodeControl));
|
||||
_dpCheckbox = DependencyPropertyDescriptor.FromProperty(CheckBox.IsCheckedProperty, typeof(CheckBox));
|
||||
_dpComboboxIndex = DependencyPropertyDescriptor.FromProperty(ComboBox.SelectedIndexProperty, typeof(ComboBox));
|
||||
_dpComboboxValue = DependencyPropertyDescriptor.FromProperty(ComboBox.SelectedValueProperty, typeof(ComboBox));
|
||||
_dpNumericUpdown = DependencyPropertyDescriptor.FromProperty(Xceed.Wpf.Toolkit.DoubleUpDown.ValueProperty, typeof(Xceed.Wpf.Toolkit.DoubleUpDown));
|
||||
|
||||
foreach(Message message in this.Messages)
|
||||
{
|
||||
_typeMessageDict[message.MessageNotificationClass] = message;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -103,9 +148,84 @@ namespace ENI2
|
||||
}
|
||||
}
|
||||
|
||||
#region event handling for control content changes (signal dirty etc)
|
||||
|
||||
protected void RegisterTextboxChange(TextBox textBox, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpTextBox.AddValueChanged(textBox, this.controlContentChanged);
|
||||
this._controlClassDict[textBox] = notificationClass;
|
||||
}
|
||||
|
||||
protected void RegisterDateTimePickerChange(Xceed.Wpf.Toolkit.DateTimePicker dateTimePicker, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpDatePicker.AddValueChanged(dateTimePicker, this.controlContentChanged);
|
||||
this._controlClassDict[dateTimePicker] = notificationClass;
|
||||
}
|
||||
|
||||
protected void RegisterLocodeChange(Controls.LocodeControl locodeControl, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpLocode.AddValueChanged(locodeControl, this.controlContentChanged);
|
||||
this._controlClassDict[locodeControl] = notificationClass;
|
||||
}
|
||||
|
||||
protected void RegisterCheckboxChange(CheckBox checkBox, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpCheckbox.AddValueChanged(checkBox, this.controlContentChanged);
|
||||
this._controlClassDict[checkBox] = notificationClass;
|
||||
}
|
||||
|
||||
protected void RegisterComboboxIndexChange(ComboBox comboBox, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpComboboxIndex.AddValueChanged(comboBox, this.controlContentChanged);
|
||||
this._controlClassDict[comboBox] = notificationClass;
|
||||
}
|
||||
|
||||
protected void RegisterComboboxValueChange(ComboBox comboBox, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpComboboxValue.AddValueChanged(comboBox, this.controlContentChanged);
|
||||
this._controlClassDict[comboBox] = notificationClass;
|
||||
}
|
||||
|
||||
protected void RegisterDoubleUpDownChange(Xceed.Wpf.Toolkit.DoubleUpDown doubleUpDown, Message.NotificationClass notificationClass)
|
||||
{
|
||||
this._dpNumericUpdown.AddValueChanged(doubleUpDown, this.controlContentChanged);
|
||||
this._controlClassDict[doubleUpDown] = notificationClass;
|
||||
}
|
||||
|
||||
protected void SublistElementChanged(Message.NotificationClass notificationClass)
|
||||
{
|
||||
if (_typeMessageDict.ContainsKey(notificationClass))
|
||||
{
|
||||
if (!_typeMessageDict[notificationClass].IsDirty)
|
||||
{
|
||||
if (!_typeMessageDict[notificationClass].IsDirty)
|
||||
{
|
||||
_typeMessageDict[notificationClass].IsDirty = true;
|
||||
// signal this notification class changed..
|
||||
this.NotificationClassChanged?.Invoke(notificationClass);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void controlContentChanged(object ctrl, EventArgs args)
|
||||
{
|
||||
if (this._controlClassDict.ContainsKey(ctrl))
|
||||
{
|
||||
Message.NotificationClass notificationClass = this._controlClassDict[ctrl];
|
||||
this.SublistElementChanged(notificationClass);
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Diagnostics.Trace.WriteLine("no notification class registered for control!!");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,24 @@
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<xctk:AutoSelectTextBox x:Name="shipNameLabel" Grid.Row="0" Grid.Column="0" VerticalContentAlignment="Center" FontWeight="Bold" IsReadOnly="True" BorderThickness="0" AutoSelectBehavior="OnFocus" />
|
||||
<xctk:AutoSelectTextBox x:Name="displayIdLabel" Grid.Row="0" Grid.Column="1" VerticalContentAlignment="Center" FontWeight="Bold" IsReadOnly="True" BorderThickness="0" AutoSelectBehavior="OnFocus" />
|
||||
<Grid Grid.Row="0" Grid.Column="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="30" />
|
||||
<ColumnDefinition Width="30" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<xctk:AutoSelectTextBox x:Name="displayIdLabel" Width="Auto" VerticalContentAlignment="Center" FontWeight="Bold" IsReadOnly="True" BorderThickness="0" AutoSelectBehavior="OnFocus" />
|
||||
<Button Name="buttonSave" Grid.Column="1" Grid.Row="0" Margin="2" Click="buttonSave_Click" BorderThickness="0" Background="Transparent" Visibility="Hidden">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="./Resources/floppy_disk_edit.png" Margin="0,0,5,0" Height="24" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button Name="buttonSaveAll" Grid.Column="2" Grid.Row="0" Margin="2" Click="buttonSaveAll_Click" BorderThickness="0" Background="Transparent" Visibility="Hidden">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="./Resources/Floppy_disks.png" Margin="0,0,5,0" Height="24" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
<ListBox x:Name="listBoxMessages" Margin="2" SelectionMode="Single" SelectionChanged="listBoxMessages_SelectionChanged"
|
||||
Grid.Row="1" Grid.Column="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
|
||||
|
||||
@ -10,6 +10,7 @@ using System.Windows.Controls;
|
||||
using bsmd.database;
|
||||
using ENI2.DetailViewControls;
|
||||
using ENI2.LockingServiceReference;
|
||||
using System.Windows;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
@ -25,7 +26,6 @@ namespace ENI2
|
||||
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
|
||||
@ -68,19 +68,6 @@ 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
|
||||
@ -122,19 +109,83 @@ namespace ENI2
|
||||
|
||||
detailControl.RequestReload += DetailControl_RequestReload;
|
||||
detailControl.RequestLock += DetailControl_RequestLock;
|
||||
detailControl.NotificationClassChanged += DetailControl_NotificationClassChanged;
|
||||
|
||||
detailControl.Initialize();
|
||||
controlCache.Add(mg.MessageGroupControlType, detailControl);
|
||||
this.buttonSave.Visibility = Visibility.Hidden;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Control has been created before: Set visibility of "save" button:
|
||||
bool hasDirtyMessages = false;
|
||||
DetailBaseControl dbc = controlCache[mg.MessageGroupControlType];
|
||||
foreach (Message message in dbc.ControlMessages)
|
||||
if (message.IsDirty)
|
||||
hasDirtyMessages = true;
|
||||
this.buttonSave.Visibility = hasDirtyMessages ? Visibility.Visible : Visibility.Hidden;
|
||||
}
|
||||
|
||||
// plug it in ;-)
|
||||
detailView.Children.Clear();
|
||||
detailView.Children.Add(controlCache[mg.MessageGroupControlType]);
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonSave_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
MessageBoxResult result = MessageBox.Show(Properties.Resources.textSavePage, Properties.Resources.textConfirmation,
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
if (result == MessageBoxResult.Yes)
|
||||
{
|
||||
DetailBaseControl currentControl = this.detailView.Children[0] as DetailBaseControl;
|
||||
if (currentControl != null)
|
||||
{
|
||||
foreach (Message message in currentControl.ControlMessages)
|
||||
{
|
||||
if (message.IsDirty)
|
||||
{
|
||||
DBManager.Instance.Save(message);
|
||||
message.SaveElements();
|
||||
message.IsDirty = false;
|
||||
}
|
||||
}
|
||||
this.buttonSave.Visibility = Visibility.Hidden;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonSaveAll_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
MessageBoxResult result = MessageBox.Show(Properties.Resources.textSaveAll, Properties.Resources.textConfirmation,
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
if (result == MessageBoxResult.Yes)
|
||||
{
|
||||
foreach(Message message in this._messages)
|
||||
{
|
||||
if (message.IsDirty)
|
||||
{
|
||||
DBManager.Instance.Save(message);
|
||||
message.SaveElements();
|
||||
message.IsDirty = false;
|
||||
this.buttonSaveAll.Visibility = Visibility.Hidden;
|
||||
this.buttonSave.Visibility = Visibility.Hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DetailControl_NotificationClassChanged(Message.NotificationClass notificationClass)
|
||||
{
|
||||
// in der Übersicht die Meldeklasse als geändert markieren..?
|
||||
this.buttonSaveAll.Visibility = Visibility.Visible;
|
||||
this.buttonSave.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void DetailControl_RequestLock(bool shouldLock)
|
||||
{
|
||||
if(this.lockingServiceClient == null)
|
||||
if(App.LockingServiceClient == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -142,7 +193,7 @@ namespace ENI2
|
||||
{
|
||||
try
|
||||
{
|
||||
string lockResult = this.lockingServiceClient.Lock(this.Core.Id.Value, this.userId.ToString());
|
||||
string lockResult = App.LockingServiceClient.Lock(this.Core.Id.Value, this.userId.ToString());
|
||||
if (lockResult == "")
|
||||
{
|
||||
// lock successful
|
||||
@ -163,7 +214,7 @@ namespace ENI2
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lockingServiceClient.Unlock(this.Core.Id.Value, this.userId.ToString());
|
||||
App.LockingServiceClient.Unlock(this.Core.Id.Value, this.userId.ToString());
|
||||
this.Core.Locked = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
<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 Name="buttonLock" Grid.Column="0" Grid.Row="6" Margin="2" Click="buttonLock_Click" BorderThickness="0">
|
||||
<Button Name="buttonLock" Grid.Column="0" Grid.Row="6" Margin="2" Click="buttonLock_Click" BorderThickness="0" Background="Transparent">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="../Resources/lock_open.png" Margin="0,0,5,0" Height="24" />
|
||||
<TextBlock Text="{x:Static p:Resources.textLock}" VerticalAlignment="Center" />
|
||||
@ -84,7 +84,7 @@
|
||||
<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">
|
||||
<Button Name="buttonRefresh" Grid.Column="5" Grid.Row="6" Margin="2" Click="buttonRefresh_Click" BorderThickness="0" Background="Transparent">
|
||||
<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"/>
|
||||
|
||||
@ -11,6 +11,7 @@ using System.Windows.Input;
|
||||
using System.Timers;
|
||||
|
||||
using bsmd.database;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace ENI2.DetailViewControls
|
||||
{
|
||||
@ -29,6 +30,19 @@ namespace ENI2.DetailViewControls
|
||||
public OverViewDetailControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Loaded += OverViewDetailControl_Loaded;
|
||||
}
|
||||
|
||||
private void OverViewDetailControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// die Controls nach Änderungen monitoren
|
||||
|
||||
this.RegisterTextboxChange(this.textBoxTicketNo, this.Core.IsTransit ? Message.NotificationClass.TRANSIT : Message.NotificationClass.VISIT);
|
||||
this.RegisterTextboxChange(this.textBoxDisplayId, this.Core.IsTransit ? Message.NotificationClass.TRANSIT : Message.NotificationClass.VISIT);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePickerATA, Message.NotificationClass.ATA);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePickerATD, Message.NotificationClass.ATD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePickerETA, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePickerETD, Message.NotificationClass.NOA_NOD);
|
||||
}
|
||||
|
||||
#region Initialize
|
||||
@ -54,6 +68,8 @@ namespace ENI2.DetailViewControls
|
||||
vtBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
|
||||
BindingOperations.SetBinding(textBoxDisplayId, TextBox.TextProperty, vtBinding);
|
||||
|
||||
#region Meldeklassen einrichten und Icons / Gruppen / Index zuordnen
|
||||
|
||||
foreach (Message aMessage in this.Messages)
|
||||
{
|
||||
if (aMessage.MessageNotificationClass == notificationClass)
|
||||
@ -158,6 +174,8 @@ namespace ENI2.DetailViewControls
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// Meldeklassen nach ihrem Vorkommen in den Detailansichten sortieren (SH, 12.5.17)
|
||||
this.Messages.Sort((a, b) =>
|
||||
{
|
||||
@ -171,7 +189,6 @@ namespace ENI2.DetailViewControls
|
||||
// kann das eigentlich passieren??!
|
||||
}
|
||||
|
||||
|
||||
#region init ATA
|
||||
|
||||
// ganz hakelig ich weiß dafür kapiert das gleich jeder
|
||||
@ -197,6 +214,7 @@ namespace ENI2.DetailViewControls
|
||||
}
|
||||
|
||||
this.dateTimePickerATA.DataContext = ata;
|
||||
this.ControlMessages.Add(this._ataMessage);
|
||||
|
||||
#endregion
|
||||
|
||||
@ -224,6 +242,7 @@ namespace ENI2.DetailViewControls
|
||||
}
|
||||
|
||||
this.dateTimePickerATD.DataContext = atd;
|
||||
this.ControlMessages.Add(this._atdMessage);
|
||||
|
||||
#endregion
|
||||
|
||||
@ -252,6 +271,7 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
this.dateTimePickerETD.DataContext = noa_nod;
|
||||
this.dateTimePickerETA.DataContext = noa_nod;
|
||||
this.ControlMessages.Add(this._noanodMessage);
|
||||
|
||||
#endregion
|
||||
|
||||
@ -261,12 +281,15 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
#endregion
|
||||
|
||||
#region private methods
|
||||
|
||||
private void jumpToMessage(Message message)
|
||||
{
|
||||
|
||||
this.OnJumpToListElementRequest(message.ENINotificationDetailIndex);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region mouse event handler
|
||||
|
||||
private void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
|
||||
@ -332,6 +355,10 @@ namespace ENI2.DetailViewControls
|
||||
_checkStatusTimer.Start();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region event handler
|
||||
|
||||
private void _checkStatusTimer_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
bool? statusFlag = DBManager.Instance.GetMessageCoreQueryStatusFlag(this.Core.Id.Value);
|
||||
@ -372,18 +399,15 @@ namespace ENI2.DetailViewControls
|
||||
{
|
||||
this.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
this.OnRequestLock(!this.Core.Locked);
|
||||
bool reqValue = true;
|
||||
if (this.Core.Locked ?? false) // I locked it already, means unlock now
|
||||
reqValue = false;
|
||||
this.OnRequestLock(reqValue);
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region private methods
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
@ -1,25 +1,11 @@
|
||||
// Copyright (c) 2017 schick Informatik
|
||||
// Description:
|
||||
// Description: Detailansicht NOA_NOD, AGNT
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
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;
|
||||
|
||||
using bsmd.database;
|
||||
using bsmd.ExcelReadService;
|
||||
using ENI2;
|
||||
using ENI2.EditControls;
|
||||
|
||||
namespace ENI2.DetailViewControls
|
||||
@ -35,6 +21,32 @@ namespace ENI2.DetailViewControls
|
||||
public PortCallDetailControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Loaded += PortCallDetailControl_Loaded;
|
||||
}
|
||||
|
||||
private void PortCallDetailControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// NOA_NOD
|
||||
this.RegisterDateTimePickerChange(this.dateTimePicker_ETAToKielCanal, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePicker_ETAToNextPort, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePicker_ETAToPortOfCall, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePicker_ETDFromKielCanal, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePicker_ETDFromLastPort, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterDateTimePickerChange(this.dateTimePicker_ETDFromPortOfCall, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterLocodeChange(this.locodeControl_LastPort, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterLocodeChange(this.locodeControl_NextPort, Message.NotificationClass.NOA_NOD);
|
||||
this.RegisterCheckboxChange(this.checkBox_IsAnchored, Message.NotificationClass.NOA_NOD);
|
||||
|
||||
// AGNT
|
||||
this.RegisterTextboxChange(this.textBox_AgentCity, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentCompanyName, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentEMail, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentFax, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentFirstName, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentLastName, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentPhone, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentPostalCode, Message.NotificationClass.AGNT);
|
||||
this.RegisterTextboxChange(this.textBox_AgentStreetAndNumber, Message.NotificationClass.AGNT);
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
@ -49,6 +61,7 @@ namespace ENI2.DetailViewControls
|
||||
_noa_nod = aMessage.Elements[0] as NOA_NOD;
|
||||
else
|
||||
_noa_nod = new NOA_NOD(); // TODO
|
||||
this.ControlMessages.Add(aMessage);
|
||||
}
|
||||
|
||||
if(aMessage.MessageNotificationClass == Message.NotificationClass.AGNT)
|
||||
@ -57,6 +70,7 @@ namespace ENI2.DetailViewControls
|
||||
_agnt = aMessage.Elements[0] as AGNT;
|
||||
else
|
||||
_agnt = new AGNT();
|
||||
this.ControlMessages.Add(aMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,6 +99,7 @@ namespace ENI2.DetailViewControls
|
||||
this.dateTimePicker_ETDFromKielCanal.DataContext = _noa_nod;
|
||||
this.dateTimePicker_ETDFromLastPort.DataContext = _noa_nod;
|
||||
this.dateTimePicker_ETDFromPortOfCall.DataContext = _noa_nod;
|
||||
|
||||
}
|
||||
|
||||
private void DataGridCallPurposes_DeleteRequested(DatabaseEntity obj)
|
||||
@ -123,6 +138,8 @@ namespace ENI2.DetailViewControls
|
||||
if(ecpd.ShowDialog() ?? false)
|
||||
{
|
||||
this.dataGridCallPurposes.Items.Refresh();
|
||||
// signal up
|
||||
this.SublistElementChanged(Message.NotificationClass.NOA_NOD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,7 +56,6 @@
|
||||
<Label HorizontalContentAlignment="Right" Grid.Row="4" Grid.Column="2" Content="{x:Static p:Resources.textConstructionCharacteristics}" Name="label_INFOConstructionCharacteristics" VerticalContentAlignment="Center" Margin="0,0,10,0"/>
|
||||
<ComboBox Grid.Row="0" Grid.Column="1" Name="comboBoxShippingArea" Margin="2" SelectedIndex="{Binding ShippingArea}"/>
|
||||
<ComboBox Grid.Row="1" Grid.Column="1" Name="comboBoxPortArea" Margin="2" SelectedValue="{Binding PortArea}" SelectedValuePath="Key" DisplayMemberPath="Value" />
|
||||
<!-- TextBox Grid.Row="1" Grid.Column="1" Name="textBoxPortArea" Margin="2" Text="{Binding PortArea}" / -->
|
||||
<TextBox Grid.Row="2" Grid.Column="1" Name="textRequestedPostionInPortOfCall" Margin="2" Text="{Binding RequestedPositionInPortOfCall}" />
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Name="textBowThrusterPower" Margin="2" Text="{Binding BowThrusterPower}" />
|
||||
<TextBox Grid.Row="4" Grid.Column="1" Name="textSternThrusterPower" Margin="2" Text="{Binding SternThrusterPower}" />
|
||||
|
||||
@ -43,6 +43,23 @@ namespace ENI2.DetailViewControls
|
||||
public PortNotificationDetailControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Loaded += PortNotificationDetailControl_Loaded;
|
||||
}
|
||||
|
||||
private void PortNotificationDetailControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.RegisterTextboxChange(this.textBox_NameMaster, Message.NotificationClass.NAME);
|
||||
|
||||
this.RegisterComboboxIndexChange(this.comboBoxShippingArea, Message.NotificationClass.INFO);
|
||||
this.RegisterComboboxValueChange(this.comboBoxPortArea, Message.NotificationClass.INFO);
|
||||
this.RegisterTextboxChange(this.textRequestedPostionInPortOfCall, Message.NotificationClass.INFO);
|
||||
this.RegisterTextboxChange(this.textBowThrusterPower, Message.NotificationClass.INFO);
|
||||
this.RegisterTextboxChange(this.textSternThrusterPower, Message.NotificationClass.INFO);
|
||||
this.RegisterCheckboxChange(this.checkBoxFumigatedBulkCargo, Message.NotificationClass.INFO);
|
||||
this.RegisterDoubleUpDownChange(this.doubleUpDownDisplacementSummerDraught, Message.NotificationClass.INFO);
|
||||
this.RegisterTextboxChange(this.textSpecialRequirements, Message.NotificationClass.INFO);
|
||||
this.RegisterTextboxChange(this.textConstructionCharacteristics, Message.NotificationClass.INFO);
|
||||
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
@ -51,10 +68,10 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
foreach (Message aMessage in this.Messages)
|
||||
{
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.NAME) this._nameMessage = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.INFO) this._infoMessage = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.SERV) this._servMessage = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.LADG) this._ladgMessage = aMessage;
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.NAME) { this._nameMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.INFO) { this._infoMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.SERV) { this._servMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.LADG) { this._ladgMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||
}
|
||||
|
||||
#region init NAME
|
||||
@ -155,6 +172,7 @@ namespace ENI2.DetailViewControls
|
||||
ladg.MessageHeader = _ladgMessage;
|
||||
_ladgMessage.Elements.Add(ladg);
|
||||
this.dataGridLADG.Items.Refresh();
|
||||
this.SublistElementChanged(Message.NotificationClass.LADG);
|
||||
}
|
||||
}
|
||||
|
||||
@ -179,6 +197,7 @@ namespace ENI2.DetailViewControls
|
||||
eld.LADG = ladg;
|
||||
if (eld.ShowDialog() ?? false)
|
||||
this.dataGridLADG.Items.Refresh();
|
||||
this.SublistElementChanged(Message.NotificationClass.LADG);
|
||||
}
|
||||
}
|
||||
|
||||
@ -197,6 +216,7 @@ namespace ENI2.DetailViewControls
|
||||
serv.MessageHeader = _servMessage;
|
||||
_servMessage.Elements.Add(serv);
|
||||
this.dataGridSERV.Items.Refresh();
|
||||
this.SublistElementChanged(Message.NotificationClass.SERV);
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,7 +240,10 @@ namespace ENI2.DetailViewControls
|
||||
EditSERVDialog esd = new EditSERVDialog();
|
||||
esd.SERV = serv;
|
||||
if (esd.ShowDialog() ?? false)
|
||||
{
|
||||
this.dataGridSERV.Items.Refresh();
|
||||
this.SublistElementChanged(Message.NotificationClass.SERV);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -35,8 +35,8 @@
|
||||
<MinimumRequiredVersion>3.5.1.0</MinimumRequiredVersion>
|
||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||
<WebPage>publish.html</WebPage>
|
||||
<ApplicationRevision>9</ApplicationRevision>
|
||||
<ApplicationVersion>3.5.7.%2a</ApplicationVersion>
|
||||
<ApplicationRevision>1</ApplicationRevision>
|
||||
<ApplicationVersion>3.6.2.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||
@ -225,6 +225,14 @@
|
||||
<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="SplashScreenWindow.xaml.cs">
|
||||
<DependentUpon>SplashScreenWindow.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SucheControl.xaml.cs">
|
||||
<DependentUpon>SucheControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -328,6 +336,10 @@
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Page Include="SplashScreenWindow.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="SucheControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@ -355,11 +367,37 @@
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<None Include="Service References\LockingServiceReference\ENI2.LockingServiceReference.CoreLock.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<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>
|
||||
<None Include="Service References\LockingServiceReference\LockingService3.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</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" />
|
||||
<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\floppy_disk_edit.png" />
|
||||
<Resource Include="Resources\floppy_disks.png" />
|
||||
<Resource Include="Resources\logo_transparent_babyblau.png" />
|
||||
<Content Include="x64\SQLite.Interop.dll">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@ -401,7 +439,7 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<SplashScreen Include="SplashScreen.png" />
|
||||
<None Include="SplashScreen.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EUREPORT.png" />
|
||||
@ -490,6 +528,9 @@
|
||||
<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">
|
||||
|
||||
@ -4,6 +4,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
VisualStudioVersion = 14.0.25123.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ENI2", "ENI2.csproj", "{67A7452A-A3F2-4199-8D98-1D95AEB7B649}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33} = {7CD5E5BC-8F70-4DFB-BAAE-FBC91E6C3F33}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bsmd.database", "..\..\..\nsw\Source\bsmd.database\bsmd.database.csproj", "{19945AF2-379B-46A5-B27A-303B5EC1D557}"
|
||||
EndProject
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
<DockPanel Name="mainPanel">
|
||||
<Grid DockPanel.Dock="Top" Height="80" Background="#FFE8F6FF">
|
||||
<Image x:Name="logoImage" HorizontalAlignment="Left" Height="80" Width="80" Source="Resources/EUREPORT.png" Stretch="Fill" MouseUp="logoImage_MouseUp"/>
|
||||
<Image x:Name="logoImage" HorizontalAlignment="Left" Height="75" Width="75" Source="Resources/EUREPORT.png" Stretch="Fill" MouseUp="logoImage_MouseUp" />
|
||||
<Button x:Name="buttonNewId" Content="{x:Static p:Resources.textNewVisitTransitId}" HorizontalAlignment="Left" Margin="101,25,0,0" VerticalAlignment="Top" Width="110" Height="23" Click="buttonNewTransitIdClick" Background="Transparent" />
|
||||
<!--Button x:Name="buttonAnmeldungen" Content="{x:Static p:Resources.textDeclarations}" HorizontalAlignment="Left" Margin="101,25,0,0" VerticalAlignment="Top" Width="95" Height="23" Click="buttonAnmeldungen_Click" Background="Transparent" /-->
|
||||
<!--Button x:Name="buttonVorgaenge" Content="{x:Static p:Resources.textOperations}" HorizontalAlignment="Left" Margin="201,25,0,0" VerticalAlignment="Top" Width="95" Height="23" Click="buttonVorgaenge_Click" Background="Transparent" / -->
|
||||
|
||||
@ -14,6 +14,7 @@ using bsmd.database;
|
||||
using System.Windows.Controls;
|
||||
using ENI2.Controls;
|
||||
using ENI2.EditControls;
|
||||
using System.Threading;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
@ -31,13 +32,17 @@ namespace ENI2
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
InitializeComponent();
|
||||
|
||||
App.SplashScreen.ShowMessage("loading..");
|
||||
this.sucheControl = new SucheControl();
|
||||
this.tabSearch.Content = this.sucheControl;
|
||||
this.sucheControl.buttonSuche.IsDefault = true;
|
||||
this.sucheControl.MessageCoreSelected += AnmeldungenControl_MessageCoreSelected;
|
||||
this.mainPanel.LayoutTransform = this._transform;
|
||||
App.SplashScreen.ShowMessage("done");
|
||||
Thread.Sleep(500);
|
||||
App.SplashScreen.LoadComplete();
|
||||
}
|
||||
|
||||
private void AnmeldungenControl_MessageCoreSelected(MessageCore aMessageCore)
|
||||
|
||||
57
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
57
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
@ -260,6 +260,26 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap floppy_disk_edit {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("floppy_disk_edit", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap floppy_disks {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("floppy_disks", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@ -310,6 +330,16 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap logo_transparent_babyblau {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("logo_transparent_babyblau", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@ -632,6 +662,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Confirmation.
|
||||
/// </summary>
|
||||
public static string textConfirmation {
|
||||
get {
|
||||
return ResourceManager.GetString("textConfirmation", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Construction characteristics.
|
||||
/// </summary>
|
||||
@ -1109,6 +1148,24 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Save all?.
|
||||
/// </summary>
|
||||
public static string textSaveAll {
|
||||
get {
|
||||
return ResourceManager.GetString("textSaveAll", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Save data on this page?.
|
||||
/// </summary>
|
||||
public static string textSavePage {
|
||||
get {
|
||||
return ResourceManager.GetString("textSavePage", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Search.
|
||||
/// </summary>
|
||||
|
||||
@ -535,4 +535,22 @@
|
||||
<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>
|
||||
<data name="floppy_disk_edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\floppy_disk_edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="floppy_disks" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\floppy_disks.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="textSavePage" xml:space="preserve">
|
||||
<value>Save data on this page?</value>
|
||||
</data>
|
||||
<data name="textSaveAll" xml:space="preserve">
|
||||
<value>Save all?</value>
|
||||
</data>
|
||||
<data name="textConfirmation" xml:space="preserve">
|
||||
<value>Confirmation</value>
|
||||
</data>
|
||||
<data name="logo_transparent_babyblau" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\logo_transparent_babyblau.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
ENI-2/ENI2/ENI2/Resources/floppy_disk_edit.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/floppy_disk_edit.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
BIN
ENI-2/ENI2/ENI2/Resources/floppy_disks.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/floppy_disks.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
BIN
ENI-2/ENI2/ENI2/Resources/logo_transparent_babyblau.png
Normal file
BIN
ENI-2/ENI2/ENI2/Resources/logo_transparent_babyblau.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="CoreLock" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>ENI2.LockingServiceReference.CoreLock, Service References.LockingServiceReference.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -0,0 +1,4 @@
|
||||
<?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:11651/LockingService.svc?wsdl" docRef="http://localhost:11651/LockingService.svc" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
</discovery>
|
||||
@ -0,0 +1,116 @@
|
||||
<?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:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 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:11651/LockingService.svc?xsd=xsd0" namespace="http://tempuri.org/" />
|
||||
<xsd:import schemaLocation="http://localhost:11651/LockingService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xsd:import schemaLocation="http://localhost:11651/LockingService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/bsmd.LockingService" />
|
||||
<xsd:import schemaLocation="http://localhost:11651/LockingService.svc?xsd=xsd3" 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_GetLocks_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:GetLocks" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IService_GetLocks_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:GetLocksResponse" />
|
||||
</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="GetLocks">
|
||||
<wsdl:input wsaw:Action="http://tempuri.org/IService/GetLocks" message="tns:IService_GetLocks_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://tempuri.org/IService/GetLocksResponse" message="tns:IService_GetLocks_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="GetLocks">
|
||||
<soap:operation soapAction="http://tempuri.org/IService/GetLocks" 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:11651/LockingService.svc" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
@ -0,0 +1,10 @@
|
||||
<?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:11651/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>
|
||||
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/bsmd.LockingService" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/bsmd.LockingService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import schemaLocation="http://localhost:11651/LockingService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xs:complexType name="ArrayOfCoreLock">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="CoreLock" nillable="true" type="tns:CoreLock" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfCoreLock" nillable="true" type="tns:ArrayOfCoreLock" />
|
||||
<xs:complexType name="CoreLock">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="CoreId" type="ser:guid" />
|
||||
<xs:element minOccurs="0" name="UserId" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="CoreLock" nillable="true" type="tns:CoreLock" />
|
||||
</xs:schema>
|
||||
@ -0,0 +1,73 @@
|
||||
<?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:11651/LockingService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xs:import schemaLocation="http://localhost:11651/LockingService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/bsmd.LockingService" />
|
||||
<xs:import schemaLocation="http://localhost:11651/LockingService.svc?xsd=xsd3" 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" nillable="true" type="xs:string" />
|
||||
</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="GetLocks">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetLocksResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/bsmd.LockingService" minOccurs="0" name="GetLocksResult" nillable="true" type="q3:ArrayOfCoreLock" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="LockRefresh">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="currentLocks" nillable="true" type="q4: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>
|
||||
@ -0,0 +1,42 @@
|
||||
<?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>
|
||||
@ -0,0 +1,179 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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 {
|
||||
using System.Runtime.Serialization;
|
||||
using System;
|
||||
|
||||
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
|
||||
[System.Runtime.Serialization.DataContractAttribute(Name="CoreLock", Namespace="http://schemas.datacontract.org/2004/07/bsmd.LockingService")]
|
||||
[System.SerializableAttribute()]
|
||||
public partial class CoreLock : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
|
||||
|
||||
[System.NonSerializedAttribute()]
|
||||
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
|
||||
|
||||
[System.Runtime.Serialization.OptionalFieldAttribute()]
|
||||
private System.Guid CoreIdField;
|
||||
|
||||
[System.Runtime.Serialization.OptionalFieldAttribute()]
|
||||
private string UserIdField;
|
||||
|
||||
[global::System.ComponentModel.BrowsableAttribute(false)]
|
||||
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
|
||||
get {
|
||||
return this.extensionDataField;
|
||||
}
|
||||
set {
|
||||
this.extensionDataField = value;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Runtime.Serialization.DataMemberAttribute()]
|
||||
public System.Guid CoreId {
|
||||
get {
|
||||
return this.CoreIdField;
|
||||
}
|
||||
set {
|
||||
if ((this.CoreIdField.Equals(value) != true)) {
|
||||
this.CoreIdField = value;
|
||||
this.RaisePropertyChanged("CoreId");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[System.Runtime.Serialization.DataMemberAttribute()]
|
||||
public string UserId {
|
||||
get {
|
||||
return this.UserIdField;
|
||||
}
|
||||
set {
|
||||
if ((object.ReferenceEquals(this.UserIdField, value) != true)) {
|
||||
this.UserIdField = value;
|
||||
this.RaisePropertyChanged("UserId");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected void RaisePropertyChanged(string propertyName) {
|
||||
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
|
||||
if ((propertyChanged != null)) {
|
||||
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[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")]
|
||||
string 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<string> 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/GetLocks", ReplyAction="http://tempuri.org/IService/GetLocksResponse")]
|
||||
ENI2.LockingServiceReference.CoreLock[] GetLocks();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService/GetLocks", ReplyAction="http://tempuri.org/IService/GetLocksResponse")]
|
||||
System.Threading.Tasks.Task<ENI2.LockingServiceReference.CoreLock[]> GetLocksAsync();
|
||||
|
||||
[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 string Lock(System.Guid messageCoreId, string userId) {
|
||||
return base.Channel.Lock(messageCoreId, userId);
|
||||
}
|
||||
|
||||
public System.Threading.Tasks.Task<string> 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 ENI2.LockingServiceReference.CoreLock[] GetLocks() {
|
||||
return base.Channel.GetLocks();
|
||||
}
|
||||
|
||||
public System.Threading.Tasks.Task<ENI2.LockingServiceReference.CoreLock[]> GetLocksAsync() {
|
||||
return base.Channel.GetLocksAsync();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
<?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="b19c5ddd-590b-49bf-9fd1-3dc8e2139cdd" 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:11651/LockingService.svc" Protocol="http" SourceId="1" />
|
||||
</MetadataSources>
|
||||
<Metadata>
|
||||
<MetadataFile FileName="LockingService.xsd" MetadataType="Schema" ID="3ba08743-d6c6-4563-81e7-f73063acb297" SourceId="1" SourceUrl="http://localhost:11651/LockingService.svc?xsd=xsd3" />
|
||||
<MetadataFile FileName="LockingService1.xsd" MetadataType="Schema" ID="64e34500-aef8-4a8d-8dce-f121e7b49678" SourceId="1" SourceUrl="http://localhost:11651/LockingService.svc?xsd=xsd2" />
|
||||
<MetadataFile FileName="LockingService.disco" MetadataType="Disco" ID="9072a08d-2b16-466a-bffb-8d364979af29" SourceId="1" SourceUrl="http://localhost:11651/LockingService.svc?disco" />
|
||||
<MetadataFile FileName="LockingService2.xsd" MetadataType="Schema" ID="cf68408c-3af2-4b49-9479-3736fe6267e4" SourceId="1" SourceUrl="http://localhost:11651/LockingService.svc?xsd=xsd0" />
|
||||
<MetadataFile FileName="LockingService3.xsd" MetadataType="Schema" ID="1427e96d-cc8c-4795-8aa7-eff57056488f" SourceId="1" SourceUrl="http://localhost:11651/LockingService.svc?xsd=xsd1" />
|
||||
<MetadataFile FileName="LockingService.wsdl" MetadataType="Wsdl" ID="3722e992-d258-4711-a1c8-d9aabcf38c7c" SourceId="1" SourceUrl="http://localhost:11651/LockingService.svc?wsdl" />
|
||||
</Metadata>
|
||||
<Extensions>
|
||||
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||
</Extensions>
|
||||
</ReferenceGroup>
|
||||
@ -0,0 +1,10 @@
|
||||
<?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:11651/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:11651/LockingService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService" contract="LockingServiceReference.IService" name="BasicHttpBinding_IService" />" contractName="LockingServiceReference.IService" name="BasicHttpBinding_IService" />
|
||||
</endpoints>
|
||||
</configurationSnapshot>
|
||||
@ -0,0 +1,201 @@
|
||||
<?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="nFlIlcEh26pBz74nswees1kVjCQ=">
|
||||
<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:11651/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:11651/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>
|
||||
18
ENI-2/ENI2/ENI2/SplashScreenWindow.xaml
Normal file
18
ENI-2/ENI2/ENI2/SplashScreenWindow.xaml
Normal file
@ -0,0 +1,18 @@
|
||||
<Window x:Class="ENI2.SplashScreenWindow"
|
||||
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:ENI2"
|
||||
mc:Ignorable="d"
|
||||
Title="SplashScreenWindow" Height="300" Width="300" WindowStyle="None" WindowStartupLocation="CenterScreen"
|
||||
Background="White" AllowsTransparency="True" ResizeMode="NoResize">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="22" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Source="Resources/logo_transparent_babyblau.png"/>
|
||||
<Label Name="labelStartupInfo" Grid.Row="1" Content="ENI-2" HorizontalContentAlignment="Center" Background="White" FontSize="11" VerticalContentAlignment="Center" />
|
||||
</Grid>
|
||||
</Window>
|
||||
34
ENI-2/ENI2/ENI2/SplashScreenWindow.xaml.cs
Normal file
34
ENI-2/ENI2/ENI2/SplashScreenWindow.xaml.cs
Normal file
@ -0,0 +1,34 @@
|
||||
// Copyright (c) 2017 schick Informatik
|
||||
// Description: Startbild mit Ladeinformationen
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.Windows;
|
||||
|
||||
namespace ENI2
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for SplashScreenWindow.xaml
|
||||
/// </summary>
|
||||
public partial class SplashScreenWindow : Window
|
||||
{
|
||||
public SplashScreenWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void ShowMessage(string message)
|
||||
{
|
||||
Dispatcher.Invoke((Action)delegate ()
|
||||
{
|
||||
this.labelStartupInfo.Content = message;
|
||||
});
|
||||
}
|
||||
|
||||
public void LoadComplete()
|
||||
{
|
||||
Dispatcher.InvokeShutdown();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,20 +1,13 @@
|
||||
// Copyright (c) 2017 Informatibüro Daniel Schick
|
||||
// Description: Haupteinstiegsmaske ENI-2: Suche
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
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;
|
||||
|
||||
using Xceed.Wpf.Toolkit;
|
||||
|
||||
using bsmd.database;
|
||||
|
||||
@ -87,6 +80,23 @@ namespace ENI2
|
||||
// suche auslösen
|
||||
this.anmeldungen = DBManager.Instance.GetMessageCoresWithFilters(filterDict);
|
||||
|
||||
if (App.UserId.HasValue)
|
||||
{
|
||||
// "locks" dazu abfragen
|
||||
LockingServiceReference.CoreLock[] coreLocks = App.LockingServiceClient.GetLocks();
|
||||
Dictionary<Guid, bool?> coreLockUpdateDict = new Dictionary<Guid, bool?>();
|
||||
for (int i = 0; i < coreLocks.Length; i++)
|
||||
{
|
||||
bool lockState = coreLocks[i].UserId.Equals(App.UserId.Value);
|
||||
coreLockUpdateDict[coreLocks[i].CoreId] = lockState;
|
||||
}
|
||||
|
||||
foreach (MessageCore core in this.anmeldungen)
|
||||
if (coreLockUpdateDict.ContainsKey(core.Id.Value))
|
||||
core.Locked = coreLockUpdateDict[core.Id.Value];
|
||||
|
||||
}
|
||||
|
||||
// ergebnis anzeigen
|
||||
this.dataGrid.ItemsSource = this.anmeldungen;
|
||||
this.searchResultLabel.Content = (this.anmeldungen.Count > 0) ? string.Format("{0} results found.", this.anmeldungen.Count) : "no results";
|
||||
|
||||
Binary file not shown.
@ -34,8 +34,8 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="log4net, Version=2.0.7.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.7\lib\net45-full\log4net.dll</HintPath>
|
||||
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Office.Interop.Excel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
|
||||
@ -48,8 +48,8 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.104.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.104.0\lib\net45\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.105.1, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.105.1\lib\net45\System.Data.SQLite.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
@ -132,12 +132,12 @@
|
||||
<WCFMetadata Include="Service References\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.104.0\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.104.0\build\net45\System.Data.SQLite.Core.targets')" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.105.1\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.105.1\build\net45\System.Data.SQLite.Core.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.104.0\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.104.0\build\net45\System.Data.SQLite.Core.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.105.1\build\net45\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.105.1\build\net45\System.Data.SQLite.Core.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="log4net" version="2.0.7" targetFramework="net45" />
|
||||
<package id="log4net" version="2.0.8" targetFramework="net45" />
|
||||
<package id="OpenPop.NET" version="2.0.6.1120" targetFramework="net45" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.104.0" targetFramework="net45" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.105.1" targetFramework="net45" />
|
||||
</packages>
|
||||
@ -10,7 +10,7 @@ namespace bsmd.LockingService
|
||||
public class CoreLock
|
||||
{
|
||||
private Guid _coreId;
|
||||
private string _userId;
|
||||
private Guid _userId;
|
||||
|
||||
[DataMember]
|
||||
public Guid CoreId
|
||||
@ -20,7 +20,7 @@ namespace bsmd.LockingService
|
||||
}
|
||||
|
||||
[DataMember]
|
||||
public string UserId
|
||||
public Guid UserId
|
||||
{
|
||||
get { return this._userId; }
|
||||
set { this._userId = value; }
|
||||
|
||||
@ -20,7 +20,7 @@ namespace bsmd.LockingService
|
||||
|
||||
[OperationContract]
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
string Lock(Guid messageCoreId, string userId);
|
||||
Guid Lock(Guid messageCoreId, Guid userId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
@ -28,7 +28,7 @@ namespace bsmd.LockingService
|
||||
/// </summary>
|
||||
[OperationContract]
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
void Unlock(Guid messageCoreId, string userId);
|
||||
void Unlock(Guid messageCoreId, Guid userId);
|
||||
|
||||
/// <summary>
|
||||
/// Get all locks currently in use (for search result..)
|
||||
@ -43,14 +43,14 @@ namespace bsmd.LockingService
|
||||
/// <param name="currentLocks">currently held locks</param>
|
||||
[OperationContract]
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
void LockRefresh(List<Guid> currentLocks, string userId);
|
||||
void LockRefresh(List<Guid> currentLocks, Guid userId);
|
||||
|
||||
/// <summary>
|
||||
/// send a log message (convenience helper)
|
||||
/// </summary>
|
||||
[OperationContract]
|
||||
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
|
||||
void Log(string msg, string host, string userId);
|
||||
void Log(string msg, string host, Guid userId);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -44,10 +44,9 @@ namespace bsmd.LockingService
|
||||
|
||||
#region Implementation IService
|
||||
|
||||
public string Lock(Guid messageCoreId, string userId)
|
||||
public Guid Lock(Guid messageCoreId, Guid userId)
|
||||
{
|
||||
if (userId.IsNullOrEmpty()) return "request error";
|
||||
string result = "";
|
||||
Guid result = Guid.Empty;
|
||||
|
||||
lock (lockDict)
|
||||
{
|
||||
@ -77,9 +76,8 @@ namespace bsmd.LockingService
|
||||
}
|
||||
|
||||
|
||||
public void Unlock(Guid messageCoreId, string userId)
|
||||
public void Unlock(Guid messageCoreId, Guid userId)
|
||||
{
|
||||
if (userId.IsNullOrEmpty()) return;
|
||||
lock(lockDict)
|
||||
{
|
||||
if(lockDict.ContainsKey(messageCoreId))
|
||||
@ -90,14 +88,14 @@ namespace bsmd.LockingService
|
||||
}
|
||||
}
|
||||
|
||||
public void LockRefresh(List<Guid> currentLocks, string userId)
|
||||
public void LockRefresh(List<Guid> currentLocks, Guid userId)
|
||||
{
|
||||
foreach (Guid messageCoreId in currentLocks)
|
||||
this.Lock(messageCoreId, userId);
|
||||
}
|
||||
|
||||
|
||||
public void Log(string msg, string host, string userId)
|
||||
public void Log(string msg, string host, Guid userId)
|
||||
{
|
||||
log.Info(string.Format("{0} {1}:{2}", host, userId, msg));
|
||||
}
|
||||
@ -105,6 +103,8 @@ namespace bsmd.LockingService
|
||||
public List<CoreLock> GetLocks()
|
||||
{
|
||||
List<CoreLock> result = new List<CoreLock>();
|
||||
lock (lockDict)
|
||||
{
|
||||
foreach (Guid messageCoreId in lockDict.Keys)
|
||||
{
|
||||
CoreLock coreLock = new CoreLock();
|
||||
@ -112,6 +112,7 @@ namespace bsmd.LockingService
|
||||
coreLock.UserId = lockDict[messageCoreId].userId;
|
||||
result.Add(coreLock);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -122,7 +123,7 @@ namespace bsmd.LockingService
|
||||
internal class LockEntry
|
||||
{
|
||||
public DateTime lockAquired = DateTime.Now;
|
||||
public string userId = string.Empty;
|
||||
public Guid userId;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -129,6 +129,7 @@ namespace bsmd.database
|
||||
{
|
||||
DBManager.Instance.Delete(poi);
|
||||
}
|
||||
this.PortOfItineraries.Clear();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -302,14 +302,23 @@ namespace bsmd.database
|
||||
{
|
||||
foreach (IMDGPosition imdg in this.IMDGPositions)
|
||||
DBManager.Instance.Delete(imdg);
|
||||
this.IMDGPositions.Clear();
|
||||
|
||||
foreach (IMSBCPosition imsbc in this.IMSBCPositions)
|
||||
DBManager.Instance.Delete(imsbc);
|
||||
this.IMSBCPositions.Clear();
|
||||
|
||||
foreach (IBCPosition ibc in this.IBCPositions)
|
||||
DBManager.Instance.Delete(ibc);
|
||||
this.IBCPositions.Clear();
|
||||
|
||||
foreach (IGCPosition igc in this.IGCPositions)
|
||||
DBManager.Instance.Delete(igc);
|
||||
this.IBCPositions.Clear();
|
||||
|
||||
foreach (MARPOL_Annex_I_Position marpol in this.MARPOLPositions)
|
||||
DBManager.Instance.Delete(marpol);
|
||||
this.MARPOLPositions.Clear();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -326,23 +326,26 @@ namespace bsmd.database
|
||||
{
|
||||
((ISublistContainer)poc30d).DeleteElements();
|
||||
DBManager.Instance.Delete(poc30d);
|
||||
|
||||
}
|
||||
this.PortOfCallLast30Days.Clear();
|
||||
|
||||
foreach (SanitaryMeasuresDetail smd in this.SanitaryMeasuresDetails)
|
||||
{
|
||||
DBManager.Instance.Delete(smd);
|
||||
}
|
||||
this.sanitaryMeasuresDetails.Clear();
|
||||
|
||||
foreach (StowawaysJoiningLocation sjl in this.stowawaysJoiningLocations)
|
||||
{
|
||||
DBManager.Instance.Delete(sjl);
|
||||
}
|
||||
this.StowawaysJoiningLocations.Clear();
|
||||
|
||||
foreach (InfectedArea ia in this.InfectedAreas)
|
||||
{
|
||||
DBManager.Instance.Delete(ia);
|
||||
}
|
||||
this.InfectedAreas.Clear();
|
||||
}
|
||||
|
||||
public SanitaryMeasuresDetail GetSanitaryMeasuresDetailWithIdentifier(string identifier)
|
||||
|
||||
@ -286,12 +286,16 @@ namespace bsmd.database
|
||||
/// </summary>
|
||||
public int ENINotificationDetailIndex { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Hilfsproperty zum Speichern des Icon-Pfads in ENI-2
|
||||
/// </summary>
|
||||
public string ENINotificationIconString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Flag zeigt an ob die Meldeklasse (oder ein untergeordnetes Objekt) geändert wurde
|
||||
/// </summary>
|
||||
public bool IsDirty { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region IDatabaseEntity implementation
|
||||
@ -526,6 +530,7 @@ namespace bsmd.database
|
||||
}
|
||||
DBManager.Instance.Delete(dbEntity);
|
||||
}
|
||||
this.Elements.Clear();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -184,9 +184,10 @@ namespace bsmd.database
|
||||
public string TicketNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Property um in ENI-2 den "gelockten" Zustand zu speichern (wird nicht persistiert)
|
||||
/// Property um in ENI-2 den "gelockten" Zustand zu speichern (wird nicht persistiert), "threeway":
|
||||
/// null: nicht in Verwendung, true: vom Anwender gelockt, false: von jmd. anderem gelocked
|
||||
/// </summary>
|
||||
public bool Locked { get; set; }
|
||||
public bool? Locked { get; set; }
|
||||
|
||||
#region Felder um NSW Statusinformationen zu speichern (abgefragte Daten!)
|
||||
|
||||
@ -533,6 +534,22 @@ namespace bsmd.database
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Definition: Eine Liste von Meldeklassen enthält dann Daten, wenn für irgendeine Meldeklasse außer
|
||||
/// VISIT/TRANSIT ein Element vorhanden ist
|
||||
/// </summary>
|
||||
public static bool HasMessageData(List<Message> messages)
|
||||
{
|
||||
foreach(Message message in messages)
|
||||
{
|
||||
if ((message.MessageNotificationClass != Message.NotificationClass.VISIT) &&
|
||||
(message.MessageNotificationClass != Message.NotificationClass.TRANSIT))
|
||||
if (message.Elements.Count > 0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region display override
|
||||
|
||||
@ -174,6 +174,7 @@ namespace bsmd.database
|
||||
{
|
||||
DBManager.Instance.Delete(cp);
|
||||
}
|
||||
this.CallPurposes.Clear();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -144,6 +144,7 @@ namespace bsmd.database
|
||||
{
|
||||
DBManager.Instance.Delete(cjs);
|
||||
}
|
||||
this.CrewJoinedShip.Clear();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
|
||||
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||
[assembly: AssemblyInformationalVersion("3.6.0")]
|
||||
[assembly: AssemblyInformationalVersion("3.6.2")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
@ -1,4 +1,4 @@
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("3.6.0.*")]
|
||||
[assembly: AssemblyVersion("3.6.2.*")]
|
||||
|
||||
|
||||
@ -373,9 +373,11 @@ namespace bsmd.database
|
||||
{
|
||||
foreach (LastTenPortFacilitiesCalled l10c in this.LastTenPortFacilitesCalled)
|
||||
DBManager.Instance.Delete(l10c);
|
||||
this.LastTenPortFacilitesCalled.Clear();
|
||||
|
||||
foreach (ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2s in this.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled)
|
||||
DBManager.Instance.Delete(s2s);
|
||||
this.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Clear();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -35,18 +35,22 @@ namespace bsmd.database
|
||||
public string Identifier { get; set; }
|
||||
|
||||
[LookupName("STO.Name")]
|
||||
[MaxLength(255)]
|
||||
public string Name { get; set; }
|
||||
|
||||
[LookupName("STO.Quantity")]
|
||||
public int? Quantity { get; set; }
|
||||
|
||||
[LookupName("STO.QuantityUnit")]
|
||||
[MaxLength(16)]
|
||||
public string QuantityUnit { get; set; }
|
||||
|
||||
[LookupName("STO.LocationOnBoard")]
|
||||
[MaxLength(64)]
|
||||
public string LocationOnBoard { get; set; }
|
||||
|
||||
[LookupName("STO.OfficialUse")]
|
||||
[MaxLength(16)]
|
||||
public string OfficialUse { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -179,11 +179,13 @@ namespace bsmd.database
|
||||
{
|
||||
DBManager.Instance.Delete(waste);
|
||||
}
|
||||
this.Waste.Clear();
|
||||
|
||||
foreach (WasteDisposalServiceProvider wdsp in this.WasteDisposalServiceProvider)
|
||||
{
|
||||
DBManager.Instance.Delete(wdsp);
|
||||
}
|
||||
this.WasteDisposalServiceProvider.Clear();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -39,8 +39,8 @@
|
||||
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="log4net, Version=2.0.7.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.7\lib\net45-full\log4net.dll</HintPath>
|
||||
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="OpenPop, Version=2.0.6.1120, Culture=neutral, PublicKeyToken=6bdb97f144b7efc8, processorArchitecture=MSIL">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="log4net" version="2.0.7" targetFramework="net45" />
|
||||
<package id="log4net" version="2.0.8" targetFramework="net45" />
|
||||
<package id="OpenPop.NET" version="2.0.6.1120" targetFramework="net45" />
|
||||
</packages>
|
||||
Loading…
Reference in New Issue
Block a user