Zwischenstand 2022.0914 10.57
@@ -93,6 +93,9 @@
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<NoWin32Manifest>true</NoWin32Manifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Blacklight.Wpf.Controls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner" Height="768" Width="1024" WindowStartupLocation="CenterScreen" WindowState="Maximized"
|
||||
BorderThickness="1" Closing="MainWindow_OnClosing" Closed="Window_Closed">
|
||||
BorderThickness="1" Closing="MainWindow_OnClosing" Closed="Window_Closed" Loaded="Window_Loaded" Activated="Window_Activated" SourceInitialized="Window_SourceInitialized">
|
||||
<Grid x:Name="rootGrid">
|
||||
|
||||
</Grid>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.ComponentModel;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using System.Windows.Threading;
|
||||
using BeWo.Core.Config;
|
||||
using BeWo.MultiLanguage;
|
||||
using BS.Shared.Translation;
|
||||
@@ -29,7 +30,7 @@ namespace BeWo
|
||||
|
||||
private void ShowMainControl()
|
||||
{
|
||||
|
||||
Translator t = new Translator(new ServiceTranslator());
|
||||
//WebRequest.DefaultWebProxy
|
||||
|
||||
//System.Net.WebRequest.GetSystemWebProxy()
|
||||
@@ -134,5 +135,35 @@ namespace BeWo
|
||||
{
|
||||
// Environment.ExitCode = 10;
|
||||
}
|
||||
|
||||
bool _shown;
|
||||
protected override void OnContentRendered(EventArgs e)
|
||||
{
|
||||
base.OnContentRendered(e);
|
||||
|
||||
if (_shown)
|
||||
return;
|
||||
|
||||
_shown = true;
|
||||
|
||||
Dispatcher.BeginInvoke(new Action(() => Activate()), DispatcherPriority.ContextIdle, null);
|
||||
}
|
||||
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Window_Activated(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Window_SourceInitialized(object sender, EventArgs e)
|
||||
{
|
||||
Console.WriteLine("GUI geladen");
|
||||
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
BeWo/Properties/Resources.Designer.cs
generated
@@ -19,7 +19,7 @@ namespace BeWo.Properties {
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
2
BeWo/Properties/Settings.Designer.cs
generated
@@ -12,7 +12,7 @@ namespace BeWo.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.0.1.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<!--<system.net>
|
||||
<defaultProxy useDefaultCredentials="true" />
|
||||
@@ -7,55 +7,55 @@
|
||||
<bindings>
|
||||
<basicHttpBinding>
|
||||
<binding name="BeWoBasicEndpoint" closeTimeout="00:05:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" messageEncoding="Text">
|
||||
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
|
||||
<security mode="None" />
|
||||
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
|
||||
<security mode="None"/>
|
||||
<!-- mode="Transport" für echten Server und "None" sonst-->
|
||||
</binding>
|
||||
<binding name="BeWoStreamingEndpoint" receiveTimeout="10:10:00" sendTimeout="10:01:00" maxBufferSize="65536" maxReceivedMessageSize="67108864" transferMode="StreamedRequest" useDefaultWebProxy="true" messageEncoding="Text">
|
||||
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
|
||||
<security mode="None" />
|
||||
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
|
||||
<security mode="None"/>
|
||||
<!-- mode="Transport" für echten Server -->
|
||||
</binding>
|
||||
<binding name="QueryServiceEndpoint" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" messageEncoding="Text">
|
||||
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
|
||||
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
|
||||
<security mode="None">
|
||||
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
|
||||
<message clientCredentialType="UserName" algorithmSuite="Default" />
|
||||
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
|
||||
<message clientCredentialType="UserName" algorithmSuite="Default"/>
|
||||
</security>
|
||||
</binding>
|
||||
</basicHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="QueryServiceEndpoint" contract="BeWo.ServiceProxy.IQueryService" name="QueryServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoStreamingEndpoint" contract="BeWo.ServiceProxy.IStreamingService" name="StreamingServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IEmployeeService" name="EmployeeServiceEndpoint" />
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.ICustomerService" name="CustomerServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IUserService" name="UserServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IValueListService" name="ValueListServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IDownloadService" name="DownloadServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IResourceService" name="BeWoBasicEndpoint" />
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IOperationsService" name="OperationsServiceEndpoint" />
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IAccountingService" name="AccountingServiceEndpoint" />
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IAnalysisService" name="AnalysisServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IMailService" name="MailServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IReportService" name="ReportServiceEndpoint" />
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="QueryServiceEndpoint" contract="BeWo.ServiceProxy.IQueryService" name="QueryServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoStreamingEndpoint" contract="BeWo.ServiceProxy.IStreamingService" name="StreamingServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IEmployeeService" name="EmployeeServiceEndpoint"/>
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.ICustomerService" name="CustomerServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IUserService" name="UserServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IValueListService" name="ValueListServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IDownloadService" name="DownloadServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IResourceService" name="BeWoBasicEndpoint"/>
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IOperationsService" name="OperationsServiceEndpoint"/>
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IAccountingService" name="AccountingServiceEndpoint"/>
|
||||
<endpoint behaviorConfiguration="BeWoServiceBehavior" binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IAnalysisService" name="AnalysisServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IMailService" name="MailServiceEndpoint"/>
|
||||
<endpoint binding="basicHttpBinding" bindingConfiguration="BeWoBasicEndpoint" contract="BeWo.ServiceProxy.IReportService" name="ReportServiceEndpoint"/>
|
||||
</client>
|
||||
<behaviors>
|
||||
<endpointBehaviors>
|
||||
<behavior name="BeWoServiceBehavior">
|
||||
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
|
||||
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
|
||||
</behavior>
|
||||
</endpointBehaviors>
|
||||
</behaviors>
|
||||
</system.serviceModel>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
|
||||
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
BIN
BeWoLauncher/.vs/BeWoLauncher/v15/.suo
Normal file
3
BeWoLauncher/.vs/ProjectSettings.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
||||
6
BeWoLauncher/.vs/VSWorkspaceState.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
""
|
||||
],
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
||||
BIN
BeWoLauncher/.vs/slnx.sqlite
Normal file
@@ -56,6 +56,9 @@
|
||||
<setting name="InstallLocation" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="FirstInstallationSuccess" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
</BeWoLauncher.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
@@ -96,127 +96,163 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="Components\ConfirmDemoDialog.xaml.cs">
|
||||
<Compile Include="Core\ObservableObject.cs" />
|
||||
<Compile Include="Core\RelayCommand.cs" />
|
||||
<Compile Include="MVVM\ViewModels\LoginViewModel.cs" />
|
||||
<Compile Include="MVVM\ViewModels\MainViewModel.cs" />
|
||||
<Compile Include="MVVM\ViewModels\ViewModelBase.cs" />
|
||||
<Compile Include="MVVM\View\LoginView.xaml.cs">
|
||||
<DependentUpon>LoginView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Store\NavigationStore.cs" />
|
||||
<Compile Include="View\Components\ConfirmDemoDialog.xaml.cs">
|
||||
<DependentUpon>ConfirmDemoDialog.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Components\MessageDialog.xaml.cs">
|
||||
<Compile Include="View\Components\MessageDialog.xaml.cs">
|
||||
<DependentUpon>MessageDialog.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Converter\BoolNullCheckConverter.cs" />
|
||||
<Compile Include="Converter\BoolReverseConverter.cs" />
|
||||
<Compile Include="Converter\BoolVisibilityConverter.cs" />
|
||||
<Compile Include="Converter\BoolVisibilityHiddenConverter.cs" />
|
||||
<Compile Include="Converter\BoolVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\CollectionCountToBoolConverter.cs" />
|
||||
<Compile Include="Converter\CollectionCountToVisibilityConverter.cs" />
|
||||
<Compile Include="Converter\DataContract2StringConverter.cs" />
|
||||
<Compile Include="Converter\Date2CalendarWeekStringConverter.cs" />
|
||||
<Compile Include="Converter\DateConverter.cs" />
|
||||
<Compile Include="Converter\DateNullValueToEmptyStringConverter.cs" />
|
||||
<Compile Include="Converter\DecimalConverter.cs" />
|
||||
<Compile Include="Converter\EnumToDescriptionConverter.cs" />
|
||||
<Compile Include="Converter\IListT2DataTableConverter.cs" />
|
||||
<Compile Include="Converter\IndexBoolConverter.cs" />
|
||||
<Compile Include="Converter\Int2DecimalConverter.cs" />
|
||||
<Compile Include="Converter\NullableBoolToBoolConverter.cs" />
|
||||
<Compile Include="Converter\ObjectBoolConverter.cs" />
|
||||
<Compile Include="Converter\ObjectVisibilityConverter.cs" />
|
||||
<Compile Include="Converter\OneWayToSourceSwitch.cs" />
|
||||
<Compile Include="Converter\ReverseValueEqualsParamVisibilityConverter.cs" />
|
||||
<Compile Include="Converter\StringBrushConverter.cs" />
|
||||
<Compile Include="Converter\StringFormatConverter.cs" />
|
||||
<Compile Include="Converter\StringFormatMulitConverter.cs" />
|
||||
<Compile Include="Converter\StringLengthVisibilityConverter.cs" />
|
||||
<Compile Include="Converter\StringLengthVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Converter\ValueEqualsParamVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\ProcessController.cs" />
|
||||
<Compile Include="Logic\ViewController.cs" />
|
||||
<Compile Include="PageImp\MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
<Compile Include="Logic\Converter\BoolNullCheckConverter.cs" />
|
||||
<Compile Include="Logic\Converter\BoolReverseConverter.cs" />
|
||||
<Compile Include="Logic\Converter\BoolVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\Converter\BoolVisibilityHiddenConverter.cs" />
|
||||
<Compile Include="Logic\Converter\BoolVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Logic\Converter\CollectionCountToBoolConverter.cs" />
|
||||
<Compile Include="Logic\Converter\CollectionCountToVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\Converter\DataContract2StringConverter.cs" />
|
||||
<Compile Include="Logic\Converter\Date2CalendarWeekStringConverter.cs" />
|
||||
<Compile Include="Logic\Converter\DateConverter.cs" />
|
||||
<Compile Include="Logic\Converter\DateNullValueToEmptyStringConverter.cs" />
|
||||
<Compile Include="Logic\Converter\DecimalConverter.cs" />
|
||||
<Compile Include="Logic\Converter\EnumToDescriptionConverter.cs" />
|
||||
<Compile Include="Logic\Converter\IListT2DataTableConverter.cs" />
|
||||
<Compile Include="Logic\Converter\IndexBoolConverter.cs" />
|
||||
<Compile Include="Logic\Converter\Int2DecimalConverter.cs" />
|
||||
<Compile Include="Logic\Converter\NullableBoolToBoolConverter.cs" />
|
||||
<Compile Include="Logic\Converter\ObjectBoolConverter.cs" />
|
||||
<Compile Include="Logic\Converter\ObjectVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\Converter\OneWayToSourceSwitch.cs" />
|
||||
<Compile Include="Logic\Converter\ReverseValueEqualsParamVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\Converter\StringBrushConverter.cs" />
|
||||
<Compile Include="Logic\Converter\StringFormatConverter.cs" />
|
||||
<Compile Include="Logic\Converter\StringFormatMulitConverter.cs" />
|
||||
<Compile Include="Logic\Converter\StringLengthVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\Converter\StringLengthVisibilityMultiConverter.cs" />
|
||||
<Compile Include="Logic\Converter\ValueEqualsParamVisibilityConverter.cs" />
|
||||
<Compile Include="Logic\Controller\DownloadController.cs" />
|
||||
<Compile Include="Logic\Controller\ProcessController.cs" />
|
||||
<Compile Include="Logic\Controller\ViewController.cs" />
|
||||
<Compile Include="View\Pages\InfoScreen.xaml.cs">
|
||||
<DependentUpon>InfoScreen.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PageImp\UpdateInfo1.xaml.cs">
|
||||
<DependentUpon>UpdateInfo1.xaml</DependentUpon>
|
||||
<Compile Include="View\Pages\LoadingScreen.xaml.cs">
|
||||
<DependentUpon>LoadingScreen.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PageImp\UpdateInfo2.xaml.cs">
|
||||
<DependentUpon>UpdateInfo2.xaml</DependentUpon>
|
||||
<Compile Include="View\Pages\UninstallProgressInfo.cs" />
|
||||
<Compile Include="View\Pages\UpdateProgressInfo.cs" />
|
||||
<Compile Include="View\Pages\InstallProgressInfo.cs" />
|
||||
<Compile Include="View\Pages\GenericProgressInfo.xaml.cs">
|
||||
<DependentUpon>GenericProgressInfo.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PageImp\UpdateInfo3.xaml.cs">
|
||||
<DependentUpon>UpdateInfo3.xaml</DependentUpon>
|
||||
<Compile Include="View\Pages\BeWoLoginBorder.xaml.cs">
|
||||
<DependentUpon>BeWoLoginBorder.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Utils\BeWoHelper.cs" />
|
||||
<Compile Include="Utils\BeWoPaths.cs" />
|
||||
<Compile Include="Utils\Update\UpdateFileManager.cs" />
|
||||
<Compile Include="Components\PasswortAenderungsView.xaml.cs">
|
||||
<Compile Include="View\Pages\InstallInfo.xaml.cs">
|
||||
<DependentUpon>InstallInfo.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Pages\UpdateInfo.xaml.cs">
|
||||
<DependentUpon>UpdateInfo.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Pages\UninstallInfo.xaml.cs">
|
||||
<DependentUpon>UninstallInfo.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Logic\Utils\BeWoHelper.cs" />
|
||||
<Compile Include="Logic\Utils\BeWoLocalConfig.cs" />
|
||||
<Compile Include="Logic\Utils\BeWoPaths.cs" />
|
||||
<Compile Include="Logic\Utils\Download\DownloadManager.cs" />
|
||||
<Compile Include="View\Components\PasswortAenderungsView.xaml.cs">
|
||||
<DependentUpon>PasswortAenderungsView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ConnectionProfile.cs" />
|
||||
<Compile Include="PageImp\02 UpdatePage.xaml.cs">
|
||||
<DependentUpon>02 UpdatePage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WindowImp\PopUpWindow.xaml.cs">
|
||||
<Compile Include="Logic\ConnectionProfile.cs" />
|
||||
<Compile Include="View\WindowImp\PopUpWindow.xaml.cs">
|
||||
<DependentUpon>PopUpWindow.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Page Include="Components\ConfirmDemoDialog.xaml">
|
||||
<Page Include="MVVM\View\LoginView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\EnterTenantDialog.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Components\MessageDialog.xaml">
|
||||
<Page Include="View\Components\ConfirmDemoDialog.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\ProfileEditView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\ExceptionMessageBox.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\PasswortAenderungsView.xaml">
|
||||
<Page Include="View\Components\EnterTenantDialog.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="PageImp\01 LoginPage.xaml">
|
||||
<Page Include="View\Components\MessageDialog.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\ProxyLoginView.xaml">
|
||||
<Page Include="View\Components\ProfileEditView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\PwVergessenView.xaml">
|
||||
<Page Include="View\Components\ExceptionMessageBox.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Components\WaitLayer2.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="OrangeBlack.xaml">
|
||||
<Page Include="View\Components\PasswortAenderungsView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="PageImp\MainPage.xaml">
|
||||
<Page Include="View\Pages\01 LoginPage.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Components\ProxyLoginView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Components\PwVergessenView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Components\WaitLayer2.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Pages\InfoScreen.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="PageImp\UpdateInfo1.xaml">
|
||||
<Page Include="View\Pages\GenericProgressInfo.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Pages\LoadingScreen.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="PageImp\UpdateInfo2.xaml">
|
||||
<Page Include="Styles\OrangeBlack.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="PageImp\UpdateInfo3.xaml">
|
||||
<Page Include="View\Pages\BeWoLoginBorder.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="WindowImp\LauncherWindow.xaml">
|
||||
<Page Include="View\Pages\InstallInfo.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Pages\UpdateInfo.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Pages\UninstallInfo.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\WindowImp\LauncherWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
@@ -224,45 +260,41 @@
|
||||
<DependentUpon>LauncherApp.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="LauncherUtils.cs" />
|
||||
<Compile Include="Components\EnterTenantDialog.xaml.cs">
|
||||
<Compile Include="Logic\Utils\LauncherUtils.cs" />
|
||||
<Compile Include="View\Components\EnterTenantDialog.xaml.cs">
|
||||
<DependentUpon>EnterTenantDialog.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Components\ProfileEditView.xaml.cs">
|
||||
<Compile Include="View\Components\ProfileEditView.xaml.cs">
|
||||
<DependentUpon>ProfileEditView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Multitenancy\MultitenancyEndpointBehavior.cs" />
|
||||
<Compile Include="Multitenancy\MultitenancyHeader.cs" />
|
||||
<Compile Include="Multitenancy\MultitenancyInterceptor.cs" />
|
||||
<Compile Include="Security\LauncherSecurityHeader.cs" />
|
||||
<Compile Include="Security\LauncherSecurityHeaderEndpointBehavior.cs" />
|
||||
<Compile Include="Security\LauncherSecurityHeaderInterceptor.cs" />
|
||||
<Compile Include="ServiceProxy\LauncherGenerated.cs" />
|
||||
<Compile Include="ServiceProxy\LauncherServiceFacade.cs" />
|
||||
<Compile Include="Components\ExceptionMessageBox.xaml.cs">
|
||||
<Compile Include="Logic\Multitenancy\MultitenancyEndpointBehavior.cs" />
|
||||
<Compile Include="Logic\Multitenancy\MultitenancyHeader.cs" />
|
||||
<Compile Include="Logic\Multitenancy\MultitenancyInterceptor.cs" />
|
||||
<Compile Include="Logic\Security\LauncherSecurityHeader.cs" />
|
||||
<Compile Include="Logic\Security\LauncherSecurityHeaderEndpointBehavior.cs" />
|
||||
<Compile Include="Logic\Security\LauncherSecurityHeaderInterceptor.cs" />
|
||||
<Compile Include="Logic\ServiceProxy\LauncherGenerated.cs" />
|
||||
<Compile Include="Logic\ServiceProxy\LauncherServiceFacade.cs" />
|
||||
<Compile Include="View\Components\ExceptionMessageBox.xaml.cs">
|
||||
<DependentUpon>ExceptionMessageBox.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PageImp\01 LoginPage.xaml.cs">
|
||||
<Compile Include="View\Pages\01 LoginPage.xaml.cs">
|
||||
<DependentUpon>01 LoginPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Components\ProxyLoginView.xaml.cs">
|
||||
<Compile Include="View\Components\ProxyLoginView.xaml.cs">
|
||||
<DependentUpon>ProxyLoginView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Components\PwVergessenView.xaml.cs">
|
||||
<Compile Include="View\Components\PwVergessenView.xaml.cs">
|
||||
<DependentUpon>PwVergessenView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Components\WaitLayer2.xaml.cs">
|
||||
<Compile Include="View\Components\WaitLayer2.xaml.cs">
|
||||
<DependentUpon>WaitLayer2.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WindowImp\LauncherWindow.xaml.cs">
|
||||
<Compile Include="View\WindowImp\LauncherWindow.xaml.cs">
|
||||
<DependentUpon>LauncherWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Page Include="PageImp\02 UpdatePage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="WindowImp\PopUpWindow.xaml">
|
||||
<Page Include="View\WindowImp\PopUpWindow.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
@@ -300,127 +332,127 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Icons\16_bulleted_list.png" />
|
||||
<Resource Include="Icons\16_employee.png" />
|
||||
<Resource Include="Icons\16_euro.png" />
|
||||
<Resource Include="Icons\16_female.png" />
|
||||
<Resource Include="Icons\16_male.png" />
|
||||
<Resource Include="Icons\16_report.png" />
|
||||
<Resource Include="Icons\Add24.png" />
|
||||
<Resource Include="Icons\adobe-pdf-icon.png" />
|
||||
<Resource Include="Icons\Alarm.png" />
|
||||
<Resource Include="Icons\AlertsDisabled.png" />
|
||||
<Resource Include="Icons\AnonymousUserDisabled.png" />
|
||||
<Resource Include="Icons\Archiv.png" />
|
||||
<Resource Include="Icons\ArrowLeft.png" />
|
||||
<Resource Include="Icons\ArrowRight.png" />
|
||||
<Resource Include="Icons\bewologo_big.gif" />
|
||||
<Resource Include="Icons\bewoplaner_logo_big.png" />
|
||||
<Resource Include="Icons\bewoplaner_logo_small.png" />
|
||||
<Resource Include="Icons\bslogo.gif" />
|
||||
<Resource Include="Icons\Calendar 1.png" />
|
||||
<Resource Include="Icons\Calendar1Day24.png" />
|
||||
<Resource Include="Icons\Calendar31Day24.png" />
|
||||
<Resource Include="Icons\Calendar5Day24.png" />
|
||||
<Resource Include="Icons\Calendar7Day24.png" />
|
||||
<Resource Include="Icons\CalendarDisabled.png" />
|
||||
<Resource Include="Icons\CashStackDisabled.png" />
|
||||
<Resource Include="Icons\ChartBarDisabled.png" />
|
||||
<Resource Include="Icons\ChartLineDisabled.png" />
|
||||
<Resource Include="Icons\ClipboardDisabled.png" />
|
||||
<Resource Include="Icons\CoinsDisabled.png" />
|
||||
<Resource Include="Icons\ConfigurationDisabled.png" />
|
||||
<Resource Include="Icons\ConfigurationToolsDisabled.png" />
|
||||
<Resource Include="Icons\ContactCardDisabled.png" />
|
||||
<Resource Include="Icons\ContactCardWebDisabled.png" />
|
||||
<Resource Include="Icons\Copy.png" />
|
||||
<Resource Include="Icons\Cut.png" />
|
||||
<Resource Include="Icons\delete.png" />
|
||||
<Resource Include="Icons\Delete24.png" />
|
||||
<Resource Include="Icons\Document48.png" />
|
||||
<Resource Include="Icons\DocumentWithAdd.png" />
|
||||
<Resource Include="Icons\DocumentWithAdd2.png" />
|
||||
<Resource Include="Icons\edit.png" />
|
||||
<Resource Include="Icons\Email.png" />
|
||||
<Resource Include="Icons\excel.png" />
|
||||
<Resource Include="Icons\Favorites16.png" />
|
||||
<Resource Include="Icons\Favorites32.png" />
|
||||
<Resource Include="Icons\FavoritesDisabled32.png" />
|
||||
<Resource Include="Icons\Folder.png" />
|
||||
<Resource Include="Icons\glucklicher.png" />
|
||||
<Resource Include="Icons\Haeckchen.png" />
|
||||
<Resource Include="Icons\Help.png" />
|
||||
<Resource Include="Icons\HelpDisabled.png" />
|
||||
<Resource Include="Icons\History24.png" />
|
||||
<Resource Include="Icons\HistoryDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\HistoryDisabled.png" />
|
||||
<Resource Include="Icons\Home.png" />
|
||||
<Resource Include="Icons\HomeDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\HomeDisabled.png" />
|
||||
<Resource Include="Icons\IDBadgeDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\IDBadgeDisabled.png" />
|
||||
<Resource Include="Icons\InternetDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\InternetDisabled.png" />
|
||||
<Resource Include="Icons\Keywords.png" />
|
||||
<Resource Include="Icons\KeywordsDisabled.png" />
|
||||
<Resource Include="Icons\klient-avatar.png" />
|
||||
<Resource Include="Icons\Light Bulb.png" />
|
||||
<Resource Include="Icons\Logout - Kopie.png" />
|
||||
<Resource Include="Icons\Logout.png" />
|
||||
<Resource Include="Icons\LogoutDisabled.png" />
|
||||
<Resource Include="Icons\ManufacturingDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\ManufacturingDisabled.png" />
|
||||
<Resource Include="Icons\massnahme.png" />
|
||||
<Resource Include="Icons\MenuDisabled.png" />
|
||||
<Resource Include="Icons\mitarbeiter-avatar.png" />
|
||||
<Resource Include="Icons\mitarbeiter-team-avatar.png" />
|
||||
<Resource Include="Icons\new.png" />
|
||||
<Resource Include="Icons\Newspaper.png" />
|
||||
<Resource Include="Icons\ObjectsDisabled.png" />
|
||||
<Resource Include="Icons\OfficeBulidingBlackDisabled.png" />
|
||||
<Resource Include="Icons\Paste.png" />
|
||||
<Resource Include="Icons\Paste24.png" />
|
||||
<Resource Include="Icons\Redo - Kopie.png" />
|
||||
<Resource Include="Icons\Redo.png" />
|
||||
<Resource Include="Icons\Rename24 - Kopie.png" />
|
||||
<Resource Include="Icons\Rename24.png" />
|
||||
<Resource Include="Icons\RSS Newsfeed - Kopie.png" />
|
||||
<Resource Include="Icons\RSS Newsfeed.png" />
|
||||
<Resource Include="Icons\Save - Kopie.png" />
|
||||
<Resource Include="Icons\Save.png" />
|
||||
<Resource Include="Icons\Search - Kopie.png" />
|
||||
<Resource Include="Icons\Search.png" />
|
||||
<Resource Include="Icons\SMS24_2.png" />
|
||||
<Resource Include="Icons\sortiert.png" />
|
||||
<Resource Include="Icons\Symbol Delete.png" />
|
||||
<Resource Include="Icons\Symbol Edit.png" />
|
||||
<Resource Include="Icons\Symbol Help.png" />
|
||||
<Resource Include="Icons\SymbolRefresh32.png" />
|
||||
<Resource Include="Icons\SymbolRefresh32Disabled - Kopie.png" />
|
||||
<Resource Include="Icons\SymbolRefresh32Disabled.png" />
|
||||
<Resource Include="Icons\TechSupportWhiteDisabled.png" />
|
||||
<Resource Include="Icons\trauriges-smiley.png" />
|
||||
<Resource Include="Icons\Undo - Kopie.png" />
|
||||
<Resource Include="Icons\Undo.png" />
|
||||
<Resource Include="Icons\unsortiert.png" />
|
||||
<Resource Include="Icons\User Business Male.png" />
|
||||
<Resource Include="Icons\User Home Boy.png" />
|
||||
<Resource Include="Icons\User Home Girl.png" />
|
||||
<Resource Include="Icons\UserBusinessMaleDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\UserBusinessMaleDisabled.png" />
|
||||
<Resource Include="Icons\UserGroupBusinessDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\UserGroupBusinessDisabled.png" />
|
||||
<Resource Include="Icons\UserGroupDisabled - Kopie.png" />
|
||||
<Resource Include="Icons\UserGroupDisabled.png" />
|
||||
<Resource Include="Icons\UserGroupHome24bw.png" />
|
||||
<Resource Include="Icons\UserHomeBoyDisabled.png" />
|
||||
<Resource Include="Icons\UserHomeMaleDisabled.png" />
|
||||
<Resource Include="Icons\UserHomeMaleDisabled32.png" />
|
||||
<Resource Include="Icons\UserMaleBlackDisabled.png" />
|
||||
<Resource Include="Icons\warning-16x16.png" />
|
||||
<Resource Include="Icons\WeitereNachrichtLaden.png" />
|
||||
<Resource Include="Icons\word.png" />
|
||||
<Resource Include="Icons\ziel.png" />
|
||||
<Resource Include="View\Icons\16_bulleted_list.png" />
|
||||
<Resource Include="View\Icons\16_employee.png" />
|
||||
<Resource Include="View\Icons\16_euro.png" />
|
||||
<Resource Include="View\Icons\16_female.png" />
|
||||
<Resource Include="View\Icons\16_male.png" />
|
||||
<Resource Include="View\Icons\16_report.png" />
|
||||
<Resource Include="View\Icons\Add24.png" />
|
||||
<Resource Include="View\Icons\adobe-pdf-icon.png" />
|
||||
<Resource Include="View\Icons\Alarm.png" />
|
||||
<Resource Include="View\Icons\AlertsDisabled.png" />
|
||||
<Resource Include="View\Icons\AnonymousUserDisabled.png" />
|
||||
<Resource Include="View\Icons\Archiv.png" />
|
||||
<Resource Include="View\Icons\ArrowLeft.png" />
|
||||
<Resource Include="View\Icons\ArrowRight.png" />
|
||||
<Resource Include="View\Icons\bewologo_big.gif" />
|
||||
<Resource Include="View\Icons\bewoplaner_logo_big.png" />
|
||||
<Resource Include="View\Icons\bewoplaner_logo_small.png" />
|
||||
<Resource Include="View\Icons\bslogo.gif" />
|
||||
<Resource Include="View\Icons\Calendar 1.png" />
|
||||
<Resource Include="View\Icons\Calendar1Day24.png" />
|
||||
<Resource Include="View\Icons\Calendar31Day24.png" />
|
||||
<Resource Include="View\Icons\Calendar5Day24.png" />
|
||||
<Resource Include="View\Icons\Calendar7Day24.png" />
|
||||
<Resource Include="View\Icons\CalendarDisabled.png" />
|
||||
<Resource Include="View\Icons\CashStackDisabled.png" />
|
||||
<Resource Include="View\Icons\ChartBarDisabled.png" />
|
||||
<Resource Include="View\Icons\ChartLineDisabled.png" />
|
||||
<Resource Include="View\Icons\ClipboardDisabled.png" />
|
||||
<Resource Include="View\Icons\CoinsDisabled.png" />
|
||||
<Resource Include="View\Icons\ConfigurationDisabled.png" />
|
||||
<Resource Include="View\Icons\ConfigurationToolsDisabled.png" />
|
||||
<Resource Include="View\Icons\ContactCardDisabled.png" />
|
||||
<Resource Include="View\Icons\ContactCardWebDisabled.png" />
|
||||
<Resource Include="View\Icons\Copy.png" />
|
||||
<Resource Include="View\Icons\Cut.png" />
|
||||
<Resource Include="View\Icons\delete.png" />
|
||||
<Resource Include="View\Icons\Delete24.png" />
|
||||
<Resource Include="View\Icons\Document48.png" />
|
||||
<Resource Include="View\Icons\DocumentWithAdd.png" />
|
||||
<Resource Include="View\Icons\DocumentWithAdd2.png" />
|
||||
<Resource Include="View\Icons\edit.png" />
|
||||
<Resource Include="View\Icons\Email.png" />
|
||||
<Resource Include="View\Icons\excel.png" />
|
||||
<Resource Include="View\Icons\Favorites16.png" />
|
||||
<Resource Include="View\Icons\Favorites32.png" />
|
||||
<Resource Include="View\Icons\FavoritesDisabled32.png" />
|
||||
<Resource Include="View\Icons\Folder.png" />
|
||||
<Resource Include="View\Icons\glucklicher.png" />
|
||||
<Resource Include="View\Icons\Haeckchen.png" />
|
||||
<Resource Include="View\Icons\Help.png" />
|
||||
<Resource Include="View\Icons\HelpDisabled.png" />
|
||||
<Resource Include="View\Icons\History24.png" />
|
||||
<Resource Include="View\Icons\HistoryDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\HistoryDisabled.png" />
|
||||
<Resource Include="View\Icons\Home.png" />
|
||||
<Resource Include="View\Icons\HomeDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\HomeDisabled.png" />
|
||||
<Resource Include="View\Icons\IDBadgeDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\IDBadgeDisabled.png" />
|
||||
<Resource Include="View\Icons\InternetDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\InternetDisabled.png" />
|
||||
<Resource Include="View\Icons\Keywords.png" />
|
||||
<Resource Include="View\Icons\KeywordsDisabled.png" />
|
||||
<Resource Include="View\Icons\klient-avatar.png" />
|
||||
<Resource Include="View\Icons\Light Bulb.png" />
|
||||
<Resource Include="View\Icons\Logout - Kopie.png" />
|
||||
<Resource Include="View\Icons\Logout.png" />
|
||||
<Resource Include="View\Icons\LogoutDisabled.png" />
|
||||
<Resource Include="View\Icons\ManufacturingDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\ManufacturingDisabled.png" />
|
||||
<Resource Include="View\Icons\massnahme.png" />
|
||||
<Resource Include="View\Icons\MenuDisabled.png" />
|
||||
<Resource Include="View\Icons\mitarbeiter-avatar.png" />
|
||||
<Resource Include="View\Icons\mitarbeiter-team-avatar.png" />
|
||||
<Resource Include="View\Icons\new.png" />
|
||||
<Resource Include="View\Icons\Newspaper.png" />
|
||||
<Resource Include="View\Icons\ObjectsDisabled.png" />
|
||||
<Resource Include="View\Icons\OfficeBulidingBlackDisabled.png" />
|
||||
<Resource Include="View\Icons\Paste.png" />
|
||||
<Resource Include="View\Icons\Paste24.png" />
|
||||
<Resource Include="View\Icons\Redo - Kopie.png" />
|
||||
<Resource Include="View\Icons\Redo.png" />
|
||||
<Resource Include="View\Icons\Rename24 - Kopie.png" />
|
||||
<Resource Include="View\Icons\Rename24.png" />
|
||||
<Resource Include="View\Icons\RSS Newsfeed - Kopie.png" />
|
||||
<Resource Include="View\Icons\RSS Newsfeed.png" />
|
||||
<Resource Include="View\Icons\Save - Kopie.png" />
|
||||
<Resource Include="View\Icons\Save.png" />
|
||||
<Resource Include="View\Icons\Search - Kopie.png" />
|
||||
<Resource Include="View\Icons\Search.png" />
|
||||
<Resource Include="View\Icons\SMS24_2.png" />
|
||||
<Resource Include="View\Icons\sortiert.png" />
|
||||
<Resource Include="View\Icons\Symbol Delete.png" />
|
||||
<Resource Include="View\Icons\Symbol Edit.png" />
|
||||
<Resource Include="View\Icons\Symbol Help.png" />
|
||||
<Resource Include="View\Icons\SymbolRefresh32.png" />
|
||||
<Resource Include="View\Icons\SymbolRefresh32Disabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\SymbolRefresh32Disabled.png" />
|
||||
<Resource Include="View\Icons\TechSupportWhiteDisabled.png" />
|
||||
<Resource Include="View\Icons\trauriges-smiley.png" />
|
||||
<Resource Include="View\Icons\Undo - Kopie.png" />
|
||||
<Resource Include="View\Icons\Undo.png" />
|
||||
<Resource Include="View\Icons\unsortiert.png" />
|
||||
<Resource Include="View\Icons\User Business Male.png" />
|
||||
<Resource Include="View\Icons\User Home Boy.png" />
|
||||
<Resource Include="View\Icons\User Home Girl.png" />
|
||||
<Resource Include="View\Icons\UserBusinessMaleDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\UserBusinessMaleDisabled.png" />
|
||||
<Resource Include="View\Icons\UserGroupBusinessDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\UserGroupBusinessDisabled.png" />
|
||||
<Resource Include="View\Icons\UserGroupDisabled - Kopie.png" />
|
||||
<Resource Include="View\Icons\UserGroupDisabled.png" />
|
||||
<Resource Include="View\Icons\UserGroupHome24bw.png" />
|
||||
<Resource Include="View\Icons\UserHomeBoyDisabled.png" />
|
||||
<Resource Include="View\Icons\UserHomeMaleDisabled.png" />
|
||||
<Resource Include="View\Icons\UserHomeMaleDisabled32.png" />
|
||||
<Resource Include="View\Icons\UserMaleBlackDisabled.png" />
|
||||
<Resource Include="View\Icons\warning-16x16.png" />
|
||||
<Resource Include="View\Icons\WeitereNachrichtLaden.png" />
|
||||
<Resource Include="View\Icons\word.png" />
|
||||
<Resource Include="View\Icons\ziel.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="BeWoPlaner.ico" />
|
||||
@@ -442,5 +474,10 @@
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Connected Services\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Command\" />
|
||||
<Folder Include="Logic\Interfaces\" />
|
||||
<Folder Include="MVVM\Model\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -3,70 +3,18 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:BeWoLauncher"
|
||||
StartupUri="WindowImp/LauncherWindow.xaml" Exit="Application_Exit">
|
||||
xmlns:viewModel="clr-namespace:BeWoLauncher.MVVM.ViewModels"
|
||||
xmlns:view="clr-namespace:BeWoLauncher.MVVM.View"
|
||||
StartupUri="View/WindowImp/LauncherWindow.xaml" Exit="Application_Exit">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="OrangeBlack.xaml" />
|
||||
<ResourceDictionary Source="Styles/OrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style x:Key="PopUpWindowStyle" TargetType="{x:Type GroupBox}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type GroupBox}">
|
||||
<Grid SnapsToDevicePixels="True">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="10" />
|
||||
<RowDefinition Height="20" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border Background="#FF202020" Grid.RowSpan="2" CornerRadius="3,1,0,3" />
|
||||
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" />
|
||||
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 10,10 H 0 Z" Grid.Column="1" />
|
||||
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Bottom">
|
||||
<ContentPresenter TextElement.FontSize="16" Margin="5,0,0,3" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
|
||||
<ContentPresenter.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</ContentPresenter.RenderTransform>
|
||||
</ContentPresenter>
|
||||
</Border>
|
||||
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
|
||||
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
|
||||
</Border>
|
||||
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
|
||||
<Path.Fill>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFFB6F0E" Offset="0" />
|
||||
<GradientStop Color="#FF8C400A" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Path.Fill>
|
||||
<Path.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="0" ScaleY="0" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Path.RenderTransform>
|
||||
</Path>
|
||||
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0" Width="20" Height="20" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close" Grid.ColumnSpan="1" Grid.RowSpan="2" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
|
||||
<Setter Property="FontWeight" Value="Normal" />
|
||||
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
|
||||
<Setter Property="FontSize" Value="11" />
|
||||
</Style>
|
||||
|
||||
<DataTemplate DataType="{x:Type viewModel:LoginViewModel}">
|
||||
<view:LoginView/>
|
||||
</DataTemplate>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using BeWoLauncher.Components;
|
||||
using BeWoLauncher.Logic;
|
||||
using BeWoLauncher.Logic.Controller;
|
||||
using BeWoLauncher.ServiceProxy;
|
||||
using BeWoLauncher.Utils;
|
||||
using BeWoLauncher.Utils.Update;
|
||||
using BeWoLauncher.Store;
|
||||
using BeWoLauncher.WindowImp;
|
||||
using BS.SharedLauncher;
|
||||
using BS.SharedLauncher.Information;
|
||||
@@ -34,9 +34,16 @@ namespace BeWoLauncher
|
||||
/// </summary>
|
||||
public partial class LauncherApp : Application
|
||||
{
|
||||
private readonly NavigationStore _navigationStore;
|
||||
|
||||
public static string ShortVersion => "3";
|
||||
public static string Version => "Version 3.0";
|
||||
|
||||
public LauncherApp()
|
||||
{
|
||||
_navigationStore = new NavigationStore();
|
||||
}
|
||||
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
base.OnStartup(e);
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWoLauncher
|
||||
namespace BeWoLauncher.Logic
|
||||
{
|
||||
public class ConnectionProfile
|
||||
{
|
||||
37
BeWoLauncher/Logic/Controller/DownloadController.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using BeWoLauncher.Utils.Download;
|
||||
using BS.SharedLauncher.Update;
|
||||
using BS.SharedLauncher.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWoLauncher.Logic.Controller
|
||||
{
|
||||
public static class DownloadController
|
||||
{
|
||||
public static DownloadManager Manager { get; set; }
|
||||
|
||||
public static long FreeSpace { get; set; }
|
||||
public static long NeededSpace => Manager.ResponseInfo.DownloadSize;
|
||||
|
||||
public static void Start()
|
||||
{
|
||||
Manager = new DownloadManager();
|
||||
}
|
||||
|
||||
public static string UpdateDiskSpace(string path)
|
||||
{
|
||||
FileInfo f = new FileInfo(path);
|
||||
string drive = System.IO.Path.GetPathRoot(f.FullName);
|
||||
FreeSpace = NonspecificTools.GetTotalFreeSpace(drive);
|
||||
string txt;
|
||||
if (FreeSpace >= 0)
|
||||
return NonspecificTools.SizeSuffix((ulong)FreeSpace);
|
||||
else
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,12 +7,12 @@ using System.IO;
|
||||
using System.IO.Pipes;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Threading;
|
||||
using static BeWoLauncher.Logic.ViewController;
|
||||
|
||||
namespace BeWoLauncher.Logic
|
||||
namespace BeWoLauncher.Logic.Controller
|
||||
{
|
||||
public static class ProcessController
|
||||
{
|
||||
@@ -43,10 +43,16 @@ namespace BeWoLauncher.Logic
|
||||
MessageBox.Show("BeWo Prozess läuft bereits");
|
||||
StartLauncherShutdown();
|
||||
}
|
||||
|
||||
Process[] processes2 = Process.GetProcessesByName("BeWoPlaner");
|
||||
|
||||
if (processes2.Length > 0)
|
||||
{
|
||||
MessageBox.Show("BeWo Prozess läuft bereits");
|
||||
StartLauncherShutdown();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
internal static void StartLauncherShutdown()
|
||||
{
|
||||
Current.Shutdown();
|
||||
@@ -65,7 +71,13 @@ namespace BeWoLauncher.Logic
|
||||
{
|
||||
PlanerProcess.StartInfo.Arguments = pipeServer.GetClientHandleAsString();
|
||||
PlanerProcess.StartInfo.UseShellExecute = false;
|
||||
PlanerProcess.StartInfo.CreateNoWindow = false;
|
||||
PlanerProcess.StartInfo.RedirectStandardOutput = true;
|
||||
PlanerProcess.OutputDataReceived += MessageFromPlanerClient;
|
||||
|
||||
PlanerProcess.Start();
|
||||
|
||||
PlanerProcess.BeginOutputReadLine();
|
||||
|
||||
pipeServer.DisposeLocalCopyOfClientHandle();
|
||||
|
||||
@@ -87,8 +99,6 @@ namespace BeWoLauncher.Logic
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
ViewController.LauncherWindow.Hide();
|
||||
}
|
||||
internal static void KillPlanerProcess()
|
||||
{
|
||||
@@ -110,14 +120,24 @@ namespace BeWoLauncher.Logic
|
||||
|
||||
if (PlanerProcess.ExitCode == 100)
|
||||
{
|
||||
CurrentLauncher.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate {
|
||||
ViewController.ShowPage(LauncherPageType.Login);
|
||||
ViewController.LauncherWindow.Show();
|
||||
CurrentLauncher.Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)delegate {
|
||||
Thread.Sleep(500);
|
||||
ViewController.RestartView();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
CurrentLauncher.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)StartLauncherShutdown);
|
||||
}
|
||||
|
||||
private static void MessageFromPlanerClient(object sender, DataReceivedEventArgs args)
|
||||
{
|
||||
var data = args.Data;
|
||||
|
||||
if (data == "GUI geladen")
|
||||
{
|
||||
ViewController.LauncherWindow.Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => ViewController.LauncherWindow.Hide()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
358
BeWoLauncher/Logic/Controller/ViewController.cs
Normal file
@@ -0,0 +1,358 @@
|
||||
using BeWoLauncher.Logic.Controller;
|
||||
using BeWoLauncher.Utils;
|
||||
using BeWoLauncher.View.Pages;
|
||||
using BeWoLauncher.WindowImp;
|
||||
using BS.SharedLauncher.Extensions;
|
||||
using BS.SharedLauncher.Information;
|
||||
using BS.SharedLauncher.Logic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Threading;
|
||||
|
||||
namespace BeWoLauncher.Logic.Controller
|
||||
{
|
||||
public static class ViewController
|
||||
{
|
||||
static bool isBeWoLoginBorderPresent = false;
|
||||
static BeWoLoginBorder BeWoLoginBorder = null;
|
||||
static LauncherPageType currentPage;
|
||||
|
||||
private static Exception error;
|
||||
|
||||
public enum LauncherPageType
|
||||
{
|
||||
Login,
|
||||
InstallInfo,
|
||||
InstallProgress,
|
||||
InstallFailed,
|
||||
UpdateInfo,
|
||||
UpdateProgress,
|
||||
UpdateFailed,
|
||||
UninstallInfo,
|
||||
UninstallProgress,
|
||||
UninstallFailed,
|
||||
UninstallSuccessful,
|
||||
LoadingScreen,
|
||||
NoPermissionInfo
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static LauncherWindow LauncherWindow { get; set; }
|
||||
|
||||
public static Dispatcher Dispatcher => LauncherWindow.Dispatcher;
|
||||
|
||||
public static void StartView()
|
||||
{
|
||||
ShowPage(LauncherPageType.Login);
|
||||
}
|
||||
public static void RestartView()
|
||||
{
|
||||
ShowPage(LauncherPageType.Login);
|
||||
LauncherWindow.Show();
|
||||
LauncherWindow.Activate();
|
||||
}
|
||||
|
||||
public static void StartWaiting() => LauncherWindow.StartWaiting();
|
||||
public static void EndWaiting() => LauncherWindow.EndWaiting();
|
||||
|
||||
public static bool CheckForPermissions(string path)
|
||||
{
|
||||
return FileController.IsDirectoryWritable(path, false);
|
||||
}
|
||||
public static void CheckForNewestVersion()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
DownloadController.Start();
|
||||
DownloadController.Manager.StartDownloadInfo();
|
||||
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Render,
|
||||
(Action)delegate
|
||||
{
|
||||
if (DownloadController.Manager.ResponseInfo.HasSomethingToDo)
|
||||
{
|
||||
if (BeWoLocalConfig.GetFirstInstallationSuccess() &&
|
||||
File.Exists(BeWoPaths.GetPlanerExePath()))
|
||||
{
|
||||
ShowPage(LauncherPageType.UpdateInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowPage(LauncherPageType.InstallInfo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowPage(LauncherPageType.LoadingScreen);
|
||||
}
|
||||
|
||||
EndWaiting();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public static void InstallationFailed(Exception exception)
|
||||
{
|
||||
error = exception;
|
||||
ShowPage(LauncherPageType.InstallFailed);
|
||||
}
|
||||
public static void UpdateFailed(Exception exception)
|
||||
{
|
||||
error = exception;
|
||||
ShowPage(LauncherPageType.UpdateFailed);
|
||||
}
|
||||
public static void UninstallFailed(Exception exception)
|
||||
{
|
||||
error = exception;
|
||||
ShowPage(LauncherPageType.UninstallFailed);
|
||||
}
|
||||
|
||||
public static void CheckForAutoLogin(object sender, EventArgs e)
|
||||
{
|
||||
var autologin = bool.TryParse(ConfigurationManager.AppSettings.Get("AutoLogin"), out bool c) && c;
|
||||
|
||||
if (autologin)
|
||||
if (sender is LoginPage loginPage)
|
||||
loginPage.ClickLogin();
|
||||
}
|
||||
public static void LoginSuccessful(object sender, EventArgs e)
|
||||
{
|
||||
#region confirm demo
|
||||
#if DEBUG
|
||||
//if (ConnectionInformation.Tenant == "demo")
|
||||
//{
|
||||
// var dlg = new ConfirmDemoDialog();
|
||||
// dlg.ShowDialog();
|
||||
//}
|
||||
#else
|
||||
if (ConnectionInformation.Tenant == "demo")
|
||||
{
|
||||
var dlg = new ConfirmDemoDialog();
|
||||
dlg.ShowDialog();
|
||||
}
|
||||
#endif
|
||||
#endregion
|
||||
|
||||
BeWoPaths.ActualPlanerLocation = BeWoPaths.GetInstallLocationFromSetting();
|
||||
|
||||
if (BeWoPaths.ActualPlanerLocation is object && !CheckForPermissions(BeWoPaths.ActualPlanerLocation))
|
||||
{
|
||||
ShowPage(LauncherPageType.NoPermissionInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
CheckForNewestVersion();
|
||||
}
|
||||
}
|
||||
|
||||
private static UserControl GetNewPage(LauncherPageType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case LauncherPageType.Login:
|
||||
var login = new LoginPage();
|
||||
|
||||
login.Loaded += CheckForAutoLogin;
|
||||
login.LoginSuccessful += LoginSuccessful;
|
||||
|
||||
return login;
|
||||
|
||||
case LauncherPageType.InstallInfo:
|
||||
var install = new InstallInfo();
|
||||
|
||||
install.Accept += (s, e) =>
|
||||
{
|
||||
if (CheckForPermissions(install.InstallLocation))
|
||||
{
|
||||
BeWoPaths.SetAndSaveInstallLocation(install.InstallLocation);
|
||||
BeWoLocalConfig.SetFirstInstallationSuccess(true);
|
||||
ShowPage(LauncherPageType.InstallProgress);
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowPage(LauncherPageType.NoPermissionInfo);
|
||||
}
|
||||
};
|
||||
install.Abort += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(install);
|
||||
|
||||
case LauncherPageType.InstallProgress:
|
||||
var installprogress = new InstallProgressInfo();
|
||||
|
||||
installprogress.InstallSuccessful += (s, e) =>
|
||||
{
|
||||
BeWoLocalConfig.SetFirstInstallationSuccess(true);
|
||||
ProcessController.StartPlanerProcess();
|
||||
};
|
||||
|
||||
return GetControlInBorder(installprogress);
|
||||
|
||||
|
||||
case LauncherPageType.InstallFailed:
|
||||
var installError = new InfoScreen();
|
||||
|
||||
installError.Title = "Installation fehlgeschlagen!";
|
||||
installError.Text = error.ToString();
|
||||
|
||||
installError.Button1Click += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(installError);
|
||||
|
||||
case LauncherPageType.UpdateInfo:
|
||||
var update = new UpdateInfo();
|
||||
|
||||
update.Accept += (s, e) => { ShowPage(LauncherPageType.UpdateProgress); };
|
||||
update.Abort += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(update);
|
||||
|
||||
|
||||
case LauncherPageType.UpdateProgress:
|
||||
var updateProgress = new UpdateProgressInfo();
|
||||
|
||||
updateProgress.UpdateSuccessful += (s, e) => { ShowPage(LauncherPageType.LoadingScreen); };
|
||||
|
||||
return GetControlInBorder(updateProgress);
|
||||
|
||||
|
||||
case LauncherPageType.UpdateFailed:
|
||||
var updateError = new InfoScreen();
|
||||
|
||||
updateError.Title = "Update fehlgeschlagen!";
|
||||
updateError.Text = error.ToString();
|
||||
|
||||
updateError.Button1Click += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(updateError);
|
||||
|
||||
|
||||
case LauncherPageType.UninstallInfo:
|
||||
var uninstall = new UninstallInfo();
|
||||
|
||||
uninstall.Accept += (s, e) => { ShowPage(LauncherPageType.UpdateProgress); };
|
||||
uninstall.Abort += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(uninstall);
|
||||
|
||||
|
||||
case LauncherPageType.UninstallProgress:
|
||||
var uninstallProgress = new UninstallProgressInfo();
|
||||
|
||||
uninstallProgress.UninstallSuccessful += (s, e) => { ShowPage(LauncherPageType.UninstallSuccessful); };
|
||||
|
||||
return GetControlInBorder(uninstallProgress);
|
||||
|
||||
|
||||
case LauncherPageType.UninstallFailed:
|
||||
var uninstallFailed = new InfoScreen();
|
||||
|
||||
uninstallFailed.Title = "Deinstallation fehlgeschlagen!";
|
||||
uninstallFailed.Text = error.ToString();
|
||||
|
||||
uninstallFailed.Button1Click += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(uninstallFailed);
|
||||
|
||||
|
||||
case LauncherPageType.UninstallSuccessful:
|
||||
var uninstallSuccessful = new InfoScreen();
|
||||
|
||||
uninstallSuccessful.Title = "Deinstallation erfolgreich!";
|
||||
uninstallSuccessful.Text = "Kehre zum Login zurück...";
|
||||
uninstallSuccessful.CollapseCopyButton();
|
||||
|
||||
|
||||
uninstallSuccessful.Button1Click += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(uninstallSuccessful);
|
||||
|
||||
|
||||
case LauncherPageType.LoadingScreen:
|
||||
var loading = new LoadingScreen();
|
||||
|
||||
loading.Loaded += (s, e) =>
|
||||
{
|
||||
Task.Run(() => ProcessController.StartPlanerProcess());
|
||||
};
|
||||
|
||||
return GetControlInBorder(loading);
|
||||
|
||||
|
||||
case LauncherPageType.NoPermissionInfo:
|
||||
var noper = new InfoScreen();
|
||||
|
||||
noper.Title = "Keine Rechte auf Speicherort!";
|
||||
noper.Text = "Es liegt eine neue Version. Sie besitzen aber nicht die benötigten Rechte, um diese anzuwenden. Bitte wenden Sie sich an Ihren System-Administrator!";
|
||||
|
||||
noper.Button1Click += (s, e) => { ShowPage(LauncherPageType.Login); };
|
||||
|
||||
return GetControlInBorder(noper);
|
||||
}
|
||||
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
private static UserControl GetControlInBorder(UserControl uc)
|
||||
{
|
||||
if (isBeWoLoginBorderPresent)
|
||||
return uc;
|
||||
|
||||
BeWoLoginBorder = new BeWoLoginBorder();
|
||||
isBeWoLoginBorderPresent = true;
|
||||
|
||||
BeWoLoginBorder.contentGrid.Children.Clear();
|
||||
BeWoLoginBorder.contentGrid.Children.Add(uc);
|
||||
|
||||
return BeWoLoginBorder;
|
||||
}
|
||||
private static void ShowPage(LauncherPageType type)
|
||||
{
|
||||
bool before = isBeWoLoginBorderPresent;
|
||||
|
||||
var page = GetNewPage(type);
|
||||
|
||||
if (type == LauncherPageType.Login)
|
||||
{
|
||||
isBeWoLoginBorderPresent = false;
|
||||
BeWoLoginBorder = null;
|
||||
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Render,
|
||||
(Action)delegate
|
||||
{
|
||||
LauncherWindow.SetMainContent(page);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
// Neu Laden
|
||||
if (!before)
|
||||
{
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Render,
|
||||
(Action)delegate
|
||||
{
|
||||
LauncherWindow.SetMainContent(page);
|
||||
});
|
||||
}
|
||||
// Bereits geladen
|
||||
else
|
||||
{
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Render,
|
||||
(Action)delegate
|
||||
{
|
||||
BeWoLoginBorder.contentGrid.Children.Clear();
|
||||
BeWoLoginBorder.contentGrid.Children.Add(page);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
currentPage = type;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -332,6 +332,10 @@ namespace BeWoLauncher.ServiceProxy
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDownloadBeWoService/Download2", ReplyAction="http://tempuri.org/IDownloadBeWoService/Download2Response")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWoLauncher.ServiceProxy.BeWoFault), Action="http://tempuri.org/IDownloadBeWoService/Download2BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.SharedLauncher.DataContract.DownloadPlanerResponseDC Download2(BS.SharedLauncher.DataContract.DownloadPlanerRequestDC request);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDownloadBeWoService/DownloadInfo", ReplyAction="http://tempuri.org/IDownloadBeWoService/DownloadInfoResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWoLauncher.ServiceProxy.BeWoFault), Action="http://tempuri.org/IDownloadBeWoService/DownloadInfoBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
BS.SharedLauncher.DataContract.DownloadPlanerResponseInfoDC DownloadInfo(BS.SharedLauncher.DataContract.DownloadPlanerRequestDC request);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -372,5 +376,10 @@ namespace BeWoLauncher.ServiceProxy
|
||||
{
|
||||
return base.Channel.Download2(request);
|
||||
}
|
||||
|
||||
public BS.SharedLauncher.DataContract.DownloadPlanerResponseInfoDC DownloadInfo(BS.SharedLauncher.DataContract.DownloadPlanerRequestDC request)
|
||||
{
|
||||
return base.Channel.DownloadInfo(request);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
33
BeWoLauncher/Logic/Utils/BeWoLocalConfig.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWoLauncher.Utils
|
||||
{
|
||||
public static class BeWoLocalConfig
|
||||
{
|
||||
public static string GetInstallLocation()
|
||||
{
|
||||
return Properties.Settings.Default.InstallLocation;
|
||||
}
|
||||
|
||||
public static void SetInstallLocation(string path)
|
||||
{
|
||||
Properties.Settings.Default.InstallLocation = path;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
public static bool GetFirstInstallationSuccess()
|
||||
{
|
||||
return Properties.Settings.Default.FirstInstallationSuccess;
|
||||
}
|
||||
|
||||
public static void SetFirstInstallationSuccess(bool b)
|
||||
{
|
||||
Properties.Settings.Default.FirstInstallationSuccess = b;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ namespace BeWoLauncher.Utils
|
||||
//private static readonly string versionXml = "bewo.version";
|
||||
|
||||
public static string LoginSelectionPlanerLocation { get; set; }
|
||||
public static string ActualPlanerLocation { get; private set; }
|
||||
public static string ActualPlanerLocation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Holt den Install Ort aus den Properties Settings.
|
||||
@@ -26,41 +26,52 @@ namespace BeWoLauncher.Utils
|
||||
/// <returns></returns>
|
||||
public static string GetInstallLocationFromSettingOrDefault()
|
||||
{
|
||||
var installLocation = Properties.Settings.Default.InstallLocation;
|
||||
var installLocation = GetInstallLocationFromSetting();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(installLocation))
|
||||
{
|
||||
installLocation = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data");
|
||||
installLocation = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, BeWoPathFileConfig.SubDirectory);
|
||||
}
|
||||
|
||||
return installLocation;
|
||||
}
|
||||
public static void CheckPathForInstallation(string newLocation)
|
||||
|
||||
public static string GetInstallLocationFromSetting()
|
||||
{
|
||||
return BeWoLocalConfig.GetInstallLocation();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="newLocation"></param>
|
||||
/// <returns>Gibt true aus, wenn der Path sich verändert hat.</returns>
|
||||
public static bool ChangePath(string newLocation)
|
||||
{
|
||||
var info = new DirectoryInfo(newLocation);
|
||||
|
||||
if (LoginSelectionPlanerLocation == newLocation)
|
||||
{
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (info.GetDirectories().Any() || info.GetFiles().Any())
|
||||
{
|
||||
MessageBox.Show($"Ordner muss leer sein! Es sind {info.GetDirectories().Count()} Ordner und {info.GetFiles().Count()} Datei(en) enthalten");
|
||||
return;
|
||||
}
|
||||
//if (newLocation.Exists() && (info.GetDirectories().Any() || info.GetFiles().Any()))
|
||||
//{
|
||||
// MessageBox.Show($"Ordner muss leer sein! Es sind {info.GetDirectories().Count()} Ordner und {info.GetFiles().Count()} Datei(en) enthalten");
|
||||
// return false;
|
||||
//}
|
||||
|
||||
// Annahme: Ordner ist leer und neuer Ort
|
||||
LoginSelectionPlanerLocation.ClearFolder();
|
||||
|
||||
LoginSelectionPlanerLocation = newLocation;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void SetAndSaveInstallLocation(string path)
|
||||
{
|
||||
ActualPlanerLocation = path;
|
||||
|
||||
Properties.Settings.Default.InstallLocation = ActualPlanerLocation;
|
||||
Properties.Settings.Default.Save();
|
||||
BeWoLocalConfig.SetInstallLocation(path);
|
||||
}
|
||||
|
||||
public static string GetDownloadPath()
|
||||
155
BeWoLauncher/Logic/Utils/Download/DownloadManager.cs
Normal file
@@ -0,0 +1,155 @@
|
||||
using BeWoLauncher.ServiceProxy;
|
||||
using BS.SharedLauncher;
|
||||
using BS.SharedLauncher.DataContract;
|
||||
using BS.SharedLauncher.Exceptions;
|
||||
using BS.SharedLauncher.Extensions;
|
||||
using BS.SharedLauncher.Information;
|
||||
using BS.SharedLauncher.Logic;
|
||||
using BS.SharedLauncher.Update;
|
||||
using BS.SharedLauncher.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace BeWoLauncher.Utils.Download
|
||||
{
|
||||
public class DownloadManager
|
||||
{
|
||||
public DownloadPlanerRequestDC Request { get; set; }
|
||||
public DownloadPlanerResponseInfoDC ResponseInfo { get; set; }
|
||||
public DownloadPlanerResponseDC Response { get; set; }
|
||||
public string DownloadZipPath { get; set; }
|
||||
|
||||
public string DownloadFolder => BeWoPaths.GetDownloadPath();
|
||||
public string ApplyFolder => BeWoPaths.GetApplyPath();
|
||||
|
||||
public DownloadManager()
|
||||
{
|
||||
Request = null;
|
||||
ResponseInfo = null;
|
||||
Response = null;
|
||||
}
|
||||
|
||||
public void StartDownloadInfo()
|
||||
{
|
||||
CreateDownloadRequest();
|
||||
|
||||
GetDownloadResponseInfo();
|
||||
}
|
||||
|
||||
private void CreateDownloadRequest()
|
||||
{
|
||||
Request = new DownloadPlanerRequestDC();
|
||||
|
||||
if (Request.PlanerRootFolderExists = BeWoPaths.ActualPlanerLocation.Exists())
|
||||
{
|
||||
if (Request.DownloadFolderExists = DownloadFolder.Exists())
|
||||
if (!(Request.DownloadFolderIsEmpty = DownloadFolder.IsFolderEmpty()))
|
||||
Request.DownloadedPackages = FileController.LoadInfos(DownloadFolder);
|
||||
|
||||
if (Request.ApplyFolderExists = ApplyFolder.Exists())
|
||||
if (!(Request.ApplyFolderIsEmpty = ApplyFolder.IsFolderEmpty()))
|
||||
{
|
||||
var files = FileController.GetPlanerFiles(ApplyFolder);
|
||||
|
||||
if (files is object)
|
||||
files.ForEach(file => file.LoadHash());
|
||||
|
||||
FileController.TryGetPackageInfo(ApplyFolder, out var package);
|
||||
|
||||
if (package == null)
|
||||
package = new PlanerPackageInfoDC();
|
||||
|
||||
package.Files = files.ToPlanerFileInfoDCList();
|
||||
|
||||
Request.ApplyPackage = package;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void GetDownloadResponse()
|
||||
{
|
||||
Response = LauncherServiceFacade.DoDownloadBeWoServiceSync(x => x.Download2(Request));
|
||||
}
|
||||
|
||||
private void GetDownloadResponseInfo()
|
||||
{
|
||||
ResponseInfo = LauncherServiceFacade.DoDownloadBeWoServiceSync(x => x.DownloadInfo(Request));
|
||||
}
|
||||
|
||||
public void StartDownload(bool skipLock)
|
||||
{
|
||||
GetDownloadResponse();
|
||||
|
||||
if (!Response.HasToDo())
|
||||
{
|
||||
// Macht das Sinn?
|
||||
// Ne, wahrsch. Fehler
|
||||
return;
|
||||
}
|
||||
|
||||
if (Response.HasToDoNewZip())
|
||||
{
|
||||
DownloadFolder.CreateFolder();
|
||||
|
||||
DownloadFolder.Lock(skipLock);
|
||||
|
||||
DownloadZipPath = FileController.GetNewZipPath(BeWoPaths.GetDownloadPath());
|
||||
|
||||
FileController.SaveDZip(DownloadZipPath, Response.NewZipData);
|
||||
FileController.SaveInfo(DownloadZipPath, Response.NewZipInfo);
|
||||
FileController.SaveInfo(BeWoPaths.GetDownloadPath(), Response.LatestApplicationInfo);
|
||||
|
||||
Response.NewZipData = null;
|
||||
|
||||
DownloadFolder.Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
public void StartApply(bool skiplock, Action<int, object> apply)
|
||||
{
|
||||
ApplyFolder.CreateFolder();
|
||||
|
||||
ApplyFolder.Lock(skiplock);
|
||||
|
||||
if (Response.HasToDoDownload2Keep())
|
||||
{
|
||||
FileController.ApplyDZip(Response.DownloadFilesToKeep, ApplyFolder, apply);
|
||||
}
|
||||
|
||||
if (Response.HasToDoNewZip())
|
||||
{
|
||||
FileController.ApplyDZip(DownloadZipPath, ApplyFolder, apply);
|
||||
}
|
||||
|
||||
if (Response.HasToRemoveFiles)
|
||||
{
|
||||
apply(3, null);
|
||||
|
||||
Thread.Sleep(500);
|
||||
|
||||
FileController.RemoveUnsuedFiles(Response.LatestApplicationInfo, ApplyFolder, apply);
|
||||
}
|
||||
|
||||
DownloadFolder.ClearFolder();
|
||||
|
||||
ApplyFolder.Unlock();
|
||||
}
|
||||
|
||||
public void StartUninstall(Action<int, object> apply)
|
||||
{
|
||||
apply(3, null);
|
||||
|
||||
Thread.Sleep(500);
|
||||
|
||||
FileController.RemoveFiles(BeWoPaths.ActualPlanerLocation);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,188 +0,0 @@
|
||||
using BeWoLauncher.PageImp;
|
||||
using BeWoLauncher.Utils;
|
||||
using BeWoLauncher.WindowImp;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Threading;
|
||||
|
||||
namespace BeWoLauncher.Logic
|
||||
{
|
||||
public static class ViewController
|
||||
{
|
||||
static bool isMainPagePresent = false;
|
||||
static MainPage MainPage = null;
|
||||
|
||||
public enum LauncherPageType
|
||||
{
|
||||
Login,
|
||||
Update,
|
||||
UpdateInfo1,
|
||||
UpdateInfo2,
|
||||
UpdateInfo3,
|
||||
}
|
||||
|
||||
public static LauncherWindow LauncherWindow { get; set; }
|
||||
|
||||
public static Dispatcher Dispatcher => LauncherWindow.Dispatcher;
|
||||
|
||||
public static void StartView()
|
||||
{
|
||||
//ShowPage(LauncherPageType.Login);
|
||||
ShowPage(LauncherPageType.UpdateInfo1);
|
||||
}
|
||||
|
||||
public static void LoginLoaded(object sender, EventArgs e)
|
||||
{
|
||||
var autologin = bool.TryParse(ConfigurationManager.AppSettings.Get("AutoLogin"), out bool c) && c;
|
||||
|
||||
if (autologin)
|
||||
if (sender is LoginPage loginPage)
|
||||
loginPage.ClickLogin();
|
||||
}
|
||||
public static void LoginSuccessful(object sender, EventArgs e)
|
||||
{
|
||||
#region confirm demo
|
||||
#if DEBUG
|
||||
//if (ConnectionInformation.Tenant == "demo")
|
||||
//{
|
||||
// var dlg = new ConfirmDemoDialog();
|
||||
// dlg.ShowDialog();
|
||||
//}
|
||||
#else
|
||||
if (ConnectionInformation.Tenant == "demo")
|
||||
{
|
||||
var dlg = new ConfirmDemoDialog();
|
||||
dlg.ShowDialog();
|
||||
}
|
||||
#endif
|
||||
#endregion
|
||||
|
||||
BeWoPaths.SetAndSaveInstallLocation(((LoginPage)sender).InstallLocation);
|
||||
|
||||
ShowPage(LauncherPageType.Update);
|
||||
}
|
||||
public static void UpdateSuccessful(object sender, EventArgs e)
|
||||
{
|
||||
ProcessController.StartPlanerProcess();
|
||||
}
|
||||
public static void UpdateFailed(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static UserControl GetNewPage(LauncherPageType type)
|
||||
{
|
||||
if (type == LauncherPageType.Login)
|
||||
{
|
||||
var login = new LoginPage();
|
||||
|
||||
login.Loaded += LoginLoaded;
|
||||
login.LoginSuccessful += LoginSuccessful;
|
||||
|
||||
return login;
|
||||
}
|
||||
else if (type == LauncherPageType.Update)
|
||||
{
|
||||
bool showDelay = bool.TryParse(ConfigurationManager.AppSettings.Get("ShowUpdateDelay"), out bool b) && b;
|
||||
bool forceUpdate = bool.TryParse(ConfigurationManager.AppSettings.Get("ForceUpdate"), out bool c) && c;
|
||||
|
||||
var update = new UpdatePage(showDelay, forceUpdate);
|
||||
|
||||
update.UpdateSuccessful += UpdateSuccessful;
|
||||
update.UpdateFailed += UpdateFailed;
|
||||
|
||||
return update;
|
||||
}
|
||||
else if (type == LauncherPageType.UpdateInfo1)
|
||||
{ var update = new UpdateInfo1();
|
||||
|
||||
return GetMainPage(update);
|
||||
}
|
||||
else if (type == LauncherPageType.UpdateInfo2)
|
||||
{
|
||||
var update = new UpdateInfo2();
|
||||
|
||||
return GetMainPage(update);
|
||||
}
|
||||
else if (type == LauncherPageType.UpdateInfo3)
|
||||
{
|
||||
var update = new UpdateInfo3();
|
||||
|
||||
return GetMainPage(update);
|
||||
}
|
||||
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static UserControl GetMainPage(UserControl uc)
|
||||
{
|
||||
if (isMainPagePresent)
|
||||
return uc;
|
||||
|
||||
MainPage = new MainPage();
|
||||
isMainPagePresent = true;
|
||||
|
||||
MainPage.contentGrid.Children.Clear();
|
||||
MainPage.contentGrid.Children.Add(uc);
|
||||
|
||||
return MainPage;
|
||||
}
|
||||
|
||||
public static void ShowPage(LauncherPageType type)
|
||||
{
|
||||
bool before = isMainPagePresent;
|
||||
|
||||
var page = GetNewPage(type);
|
||||
|
||||
if(type == LauncherPageType.Login)
|
||||
{
|
||||
isMainPagePresent = false;
|
||||
MainPage = null;
|
||||
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
LauncherWindow.rootGrid.Children.Clear();
|
||||
LauncherWindow.rootGrid.Children.Add(page);
|
||||
});
|
||||
}
|
||||
else if(type == LauncherPageType.Update)
|
||||
{
|
||||
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
//LauncherWindow.MainPage.contentGrid.Children.Add(page);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
// Neu Laden
|
||||
if(!before)
|
||||
{
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
LauncherWindow.rootGrid.Children.Clear();
|
||||
LauncherWindow.rootGrid.Children.Add(page);
|
||||
});
|
||||
}
|
||||
// Bereits geladen
|
||||
else
|
||||
{
|
||||
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
(Action)delegate
|
||||
{
|
||||
MainPage.contentGrid.Children.Clear();
|
||||
MainPage.contentGrid.Children.Add(page);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
<UserControl x:Class="BeWoLauncher.PageImp.UpdatePage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:BeWoLauncher.PageImp"
|
||||
mc:Ignorable="d" Background="{StaticResource LoginBackground}"
|
||||
d:DesignHeight="450" d:DesignWidth="800" Loaded="UserControl_Loaded">
|
||||
<Grid Name="grid_root" >
|
||||
<StackPanel HorizontalAlignment="Center" >
|
||||
<Grid Background="{x:Null}" Height="400" Width="600" Visibility="Visible" x:Name="gridUpdate" RenderTransformOrigin="0.5,0.5" Margin="0,0,0,0">
|
||||
<Grid.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Grid.RenderTransform>
|
||||
<Border CornerRadius="7,7,7,7" BorderThickness="2,2,2,2" Padding="5,5,5,5" BorderBrush="#FF606060" Background="{DynamicResource LoginBackgroundColor}">
|
||||
<Grid Opacity="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="170" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="185" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Image Grid.Row="0" Grid.ColumnSpan="4" HorizontalAlignment="Left" VerticalAlignment="Top" Source="pack://application:,,,/Icons/bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Label VerticalAlignment="Top" HorizontalAlignment="Right" Content="Version x.x.x" Foreground="#FF818181" Margin="5,7,3,0" Grid.Row="0" Grid.ColumnSpan="4"
|
||||
Grid.Column="0" FontSize="10" x:Name="lblVersion" />
|
||||
<StackPanel Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,80,0,0">
|
||||
<Label x:Name="lblMessage" Content="bewoplaner wird aktualisiert..." Foreground="#FF000000" FontSize="12" FontWeight="Bold" Margin="0,30,0,0" />
|
||||
<Label x:Name="lblSubmessage" Content="Update wird installiert" Foreground="#FF000000" FontSize="12" />
|
||||
</StackPanel>
|
||||
|
||||
<ProgressBar x:Name="proBar1" Grid.Row="3" Grid.ColumnSpan="4" Width="500" Height="20" Minimum="0" Maximum="100" IsIndeterminate="True"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<TextBlock x:Name="txtCopyright" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Bottom" FontSize="10" Margin="10,5,0,5" Text="Copyright 2017 | beyondSoft GmbH" Foreground="#FF818181"/>
|
||||
|
||||
<TextBlock Grid.Row="7" Grid.Column="3" HorizontalAlignment="Right" VerticalAlignment="Bottom" FontSize="10" Margin="0,5,12,5">
|
||||
<Hyperlink x:Name="hyperlink" TargetName="newWindow" Foreground="#FF818181" NavigateUri="http://www.beyondsoft.de" RequestNavigate="Hyperlink_OnRequestNavigate">www.beyondsoft.de</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="585" Y2="70" StrokeThickness="1"></Line>
|
||||
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="340" X2="585" Y2="340" StrokeThickness="1" Margin="0,30,0,-30"></Line>
|
||||
|
||||
</Grid>
|
||||
<Rectangle Width="600" Height="400" RenderTransformOrigin="0.5,0.5">
|
||||
<Rectangle.OpacityMask>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0.418">
|
||||
<GradientStop Color="#00000000" Offset="0" />
|
||||
<GradientStop Color="#4CFFFFFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.OpacityMask>
|
||||
<Rectangle.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Rectangle.RenderTransform>
|
||||
<Rectangle.Fill>
|
||||
<VisualBrush Visual="{Binding ElementName=gridUpdate}" />
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -1,147 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Deployment.Application;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
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 BeWoLauncher.ServiceProxy;
|
||||
using BeWoLauncher.Utils;
|
||||
using BeWoLauncher.Utils.Update;
|
||||
using BS.SharedLauncher;
|
||||
using BS.SharedLauncher.DataContract;
|
||||
using BS.SharedLauncher.Information;
|
||||
using Path = System.IO.Path;
|
||||
|
||||
namespace BeWoLauncher.PageImp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für UpdateView.xaml
|
||||
/// </summary>
|
||||
public partial class UpdatePage : UserControl
|
||||
{
|
||||
public event EventHandler UpdateSuccessful;
|
||||
public event EventHandler UpdateFailed;
|
||||
|
||||
private bool _ShowDelay;
|
||||
private bool _ForceUpdate;
|
||||
|
||||
public UpdatePage(bool showDelay, bool forceUpdate)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
_ShowDelay = showDelay;
|
||||
_ForceUpdate = forceUpdate;
|
||||
|
||||
//UpdateFileManager.ApplyFileEventHandler += ApplyFile;
|
||||
//UpdateFileManager.DownloadFileEventHandler += DownloadFile;
|
||||
}
|
||||
|
||||
public string Message
|
||||
{
|
||||
get { return lblMessage.Content as string; }
|
||||
set { lblMessage.Content = value; }
|
||||
}
|
||||
|
||||
public string SubMessage
|
||||
{
|
||||
get { return lblSubmessage.Content as string; }
|
||||
set { lblSubmessage.Content = value; }
|
||||
}
|
||||
|
||||
private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo((sender as Hyperlink).NavigateUri.ToString()));
|
||||
}
|
||||
|
||||
private async void startUpdateAsync()
|
||||
{
|
||||
//try
|
||||
//{
|
||||
// Message = "Update wird vorbereitet...";
|
||||
// SubMessage = "";
|
||||
// UpdatePathManager.GetDownloadDirInfo().ClearFolder();
|
||||
// if (_ForceUpdate)
|
||||
// UpdatePathManager.GetApplyDirInfo().ClearFolder();
|
||||
// await showDelay(5000);
|
||||
|
||||
// Message = "Update wird heruntergeladen...";
|
||||
// SubMessage = "";
|
||||
// await showDelay(1000);
|
||||
|
||||
// //UpdateFileManager.DownloadUpdateSync();
|
||||
|
||||
// Message = "Update wird installiert...";
|
||||
// await showDelay(1000);
|
||||
|
||||
// //await UpdateFileManager.ApplyUpdate();
|
||||
|
||||
// Message = "Update wurde installiert!";
|
||||
// SubMessage = "Starte BeWoPlaner...";
|
||||
// await showDelay(1000);
|
||||
|
||||
// //UpdateFileManager.UpdateData = null;
|
||||
// UpdateSuccessful(this, new EventArgs());
|
||||
|
||||
// UpdatePathManager.GetDownloadDirInfo().ClearFolder();
|
||||
// //UpdateFinished(this, null);
|
||||
//}
|
||||
//catch (Exception e)
|
||||
//{
|
||||
// Message = "Update fehlgeschlagen!";
|
||||
// SubMessage = string.Empty;
|
||||
|
||||
// throw e;
|
||||
//}
|
||||
}
|
||||
|
||||
private async void startUpdateAsync2()
|
||||
{
|
||||
var skipLock = bool.TryParse(ConfigurationManager.AppSettings.Get("SkipLock"), out bool c) && c;
|
||||
|
||||
|
||||
var manager = new UpdateFileManager();
|
||||
|
||||
manager.StartUpdate(skipLock);
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Message = "Update fehlgeschlagen!";
|
||||
SubMessage = string.Empty;
|
||||
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
private async Task showDelay(int millisec)
|
||||
{
|
||||
if (_ShowDelay)
|
||||
await Task.Delay(millisec);
|
||||
}
|
||||
|
||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
double top = (this.ActualHeight - 400) / 3;
|
||||
this.gridUpdate.Margin = new Thickness(0, top, 0, 0);
|
||||
|
||||
//startUpdate();
|
||||
Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (Action)startUpdateAsync2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
<UserControl x:Class="BeWoLauncher.PageImp.UpdateInfo1"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:BeWoLauncher.PageImp"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="400" d:DesignWidth="600" >
|
||||
<UserControl.Resources>
|
||||
<BorderGapMaskConverter x:Key="BorderGapMaskConverter"/>
|
||||
<Style TargetType="{x:Type GroupBox}">
|
||||
<Setter Property="BorderBrush" Value="#D5DFE5" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type GroupBox}">
|
||||
<Grid SnapsToDevicePixels="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="6" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="6" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="6" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border CornerRadius="4" Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="4" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="Transparent" Background="{TemplateBinding Background}" />
|
||||
<Border Name="Header" Padding="3,1,3,0" Grid.Row="0" Grid.RowSpan="2" Grid.Column="1">
|
||||
<ContentPresenter ContentSource="Header" RecognizesAccessKey="true" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Border>
|
||||
<ContentPresenter Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
<Border Grid.Row="1" Grid.RowSpan="3" Grid.ColumnSpan="4" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3">
|
||||
<Border.OpacityMask>
|
||||
<MultiBinding Converter="{StaticResource BorderGapMaskConverter}" ConverterParameter="7">
|
||||
<Binding ElementName="Header" Path="ActualWidth" />
|
||||
<Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}" />
|
||||
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}" />
|
||||
</MultiBinding>
|
||||
</Border.OpacityMask>
|
||||
</Border>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<Grid x:Name="root" >
|
||||
<DockPanel Margin="5">
|
||||
<Label DockPanel.Dock="Top">Sie sind dabei BeWoPlaner zu installieren.</Label>
|
||||
|
||||
<!--<StackPanel Orientation="Vertical" Margin="6">
|
||||
<CheckBox>Desktopverknüpfung erstellen</CheckBox>
|
||||
<CheckBox>Startmenüverknüpfung erstellen</CheckBox>
|
||||
</StackPanel>-->
|
||||
|
||||
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="10,5,0,-2">
|
||||
<Label>Erforderlicher Festplattenspeicher:</Label>
|
||||
<Label x:Name="lblErforderlich">10.9</Label>
|
||||
<Label>GB</Label>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="10,-2,0,5">
|
||||
<Label>Verfügbarer Festplattenspeicher: </Label>
|
||||
<Label x:Name="lblVerfuegbar">20.0</Label>
|
||||
<Label>GB</Label>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel DockPanel.Dock="Bottom" VerticalAlignment="Bottom" HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,10,0,0">
|
||||
<Button Width="70" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0">Abbrechen</Button>
|
||||
<Button Width="100" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0">Installieren</Button>
|
||||
</StackPanel>
|
||||
|
||||
<GroupBox DockPanel.Dock="Bottom" VerticalAlignment="Bottom" Header="Installationsordner" BorderBrush="#FFADADAD" >
|
||||
<DockPanel LastChildFill="True">
|
||||
<Button Click="button_installLoc_Click" DockPanel.Dock="Right" Margin="0,0,0,0" Height="23" ToolTip="Sie müssen einen leeren Ordner auswählen, auf welchen Sie schreibrechte besitzen.">Auswählen</Button>
|
||||
<TextBox x:Name="txtLoc" Height="23" DockPanel.Dock="Left" Width="Auto" Margin="3,0,3,0" IsReadOnly="True" VerticalContentAlignment="Center" IsEnabled="False"></TextBox>
|
||||
</DockPanel>
|
||||
</GroupBox>
|
||||
|
||||
|
||||
|
||||
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -1,59 +0,0 @@
|
||||
using BeWoLauncher.Utils;
|
||||
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;
|
||||
|
||||
namespace BeWoLauncher.PageImp
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für UpdateInfo1.xaml
|
||||
/// </summary>
|
||||
public partial class UpdateInfo1 : UserControl
|
||||
{
|
||||
public UpdateInfo1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public string InstallLocation
|
||||
{
|
||||
get
|
||||
{
|
||||
return BeWoPaths.LoginSelectionPlanerLocation;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtLoc.Text = value;
|
||||
BeWoPaths.LoginSelectionPlanerLocation = value;
|
||||
}
|
||||
}
|
||||
|
||||
private void button_installLoc_Click(object sender, RoutedEventArgs rea)
|
||||
{
|
||||
// https://stackoverflow.com/questions/11624298/how-to-use-openfiledialog-to-select-a-folder
|
||||
using (var fbd = new System.Windows.Forms.FolderBrowserDialog())
|
||||
{
|
||||
fbd.SelectedPath = InstallLocation;
|
||||
|
||||
System.Windows.Forms.DialogResult result = fbd.ShowDialog();
|
||||
|
||||
if (result == System.Windows.Forms.DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
|
||||
{
|
||||
InstallLocation = fbd.SelectedPath;
|
||||
//BeWoPaths.ChangeLoginSelectedLocation(fbd.SelectedPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
BeWoLauncher/Properties/Settings.Designer.cs
generated
@@ -34,5 +34,17 @@ namespace BeWoLauncher.Properties {
|
||||
this["InstallLocation"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool FirstInstallationSuccess {
|
||||
get {
|
||||
return ((bool)(this["FirstInstallationSuccess"]));
|
||||
}
|
||||
set {
|
||||
this["FirstInstallationSuccess"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,5 +5,8 @@
|
||||
<Setting Name="InstallLocation" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="FirstInstallationSuccess" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -1738,7 +1738,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.RowSpan="2" Source="..\Ressources\Icons\UserHomeMaleDisabled.png" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" Grid.Row="0" />
|
||||
<Image Grid.RowSpan="2" Source="..View\Icons\UserHomeMaleDisabled.png" Margin="0,0,5,0" Height="30" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" Grid.Row="0" />
|
||||
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding Path=FirstName}" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
|
||||
<TextBlock Text="{Binding Path=LastName}" Margin="3,0,0,0" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
|
||||
@@ -1887,7 +1887,7 @@
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.RowSpan="2" Source="..\Ressources\Icons\UserHomeMaleDisabled.png" Margin="0,0,5,0" Height="20" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" Grid.Row="0" />
|
||||
<Image Grid.RowSpan="2" Source="..\View\Icons\UserHomeMaleDisabled.png" Margin="0,0,5,0" Height="20" VerticalAlignment="Center" HorizontalAlignment="Stretch" Width="Auto" RenderTransformOrigin="0.5,0.5" Grid.Row="0" />
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding Path=FirstName}" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
|
||||
<TextBlock Text="{Binding Path=LastName}" Margin="3,0,0,0" FontSize="14" Foreground="#FFD2D2D2" FontFamily="Microsoft Sans Serif" />
|
||||
@@ -3960,7 +3960,64 @@
|
||||
<GradientStop Color="#FFFFF9EA" Offset="0.723" />
|
||||
</LinearGradientBrush>
|
||||
|
||||
|
||||
<Style x:Key="PopUpWindowStyle" TargetType="{x:Type GroupBox}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type GroupBox}">
|
||||
<Grid SnapsToDevicePixels="True">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="10" />
|
||||
<RowDefinition Height="20" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border Background="#FF202020" Grid.RowSpan="2" CornerRadius="3,1,0,3" />
|
||||
<Border Background="#FF202020" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="2" CornerRadius="0,1,0,3" />
|
||||
<Path StrokeThickness="0" Fill="#FF202020" Data="M 0,0 L 10,10 H 0 Z" Grid.Column="1" />
|
||||
<Border Margin="0,0,0,0" x:Name="Header" Grid.Column="0" Grid.Row="0" Background="{x:Null}" Padding="10,0,3,0" Grid.ColumnSpan="2" Grid.RowSpan="2" VerticalAlignment="Bottom">
|
||||
<ContentPresenter TextElement.FontSize="16" Margin="5,0,0,3" RenderTransformOrigin="0,0.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Header}" ContentSource="Header" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentTemplate="{TemplateBinding HeaderTemplate}" RecognizesAccessKey="True" VerticalAlignment="Stretch">
|
||||
<ContentPresenter.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</ContentPresenter.RenderTransform>
|
||||
</ContentPresenter>
|
||||
</Border>
|
||||
<Border Grid.Column="0" Grid.Row="2" Padding="5,5,5,5" Grid.ColumnSpan="2" Grid.RowSpan="1">
|
||||
<ContentPresenter Margin="0,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" />
|
||||
</Border>
|
||||
<Path x:Name="isDirtyShape" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" StrokeThickness="0" Data="M8.0969173,7.7938912 L7.3260856,1.6313261E-55 10.960733,0.056791361 9.8816968,7.8372078 17.130865,4.505709 18.209901,7.969982 10.336028,9.4841573 16.015164,15.065028 13.005222,17.336183 9.0298264,10.44961 4.7503484,17.141891 1.9107803,14.614571 7.6195467,9.5947088 4.3790577E-47,7.8281079 1.0589099,4.5910004 z" Margin="0,0,41.007,3" Width="18.21" Height="17.336" RenderTransformOrigin="0.5,0.5">
|
||||
<Path.Fill>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFFB6F0E" Offset="0" />
|
||||
<GradientStop Color="#FF8C400A" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Path.Fill>
|
||||
<Path.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="0" ScaleY="0" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Path.RenderTransform>
|
||||
</Path>
|
||||
<Button Margin="3,3,3,3" x:Name="button_close" Grid.Column="0" Grid.Row="0" Width="20" Height="20" VerticalAlignment="Center" HorizontalAlignment="Right" Style="{DynamicResource CloseButtonStyle}" Command="ApplicationCommands.Close" Grid.ColumnSpan="1" Grid.RowSpan="2" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Foreground" Value="{DynamicResource MainGroupBoxForegroundBrush}" />
|
||||
<Setter Property="FontWeight" Value="Normal" />
|
||||
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
|
||||
<Setter Property="FontSize" Value="11" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="TransparentButtonStyle" TargetType="{x:Type Button}">
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
@@ -1,157 +0,0 @@
|
||||
using BeWoLauncher.ServiceProxy;
|
||||
using BS.SharedLauncher;
|
||||
using BS.SharedLauncher.DataContract;
|
||||
using BS.SharedLauncher.Exceptions;
|
||||
using BS.SharedLauncher.Extensions;
|
||||
using BS.SharedLauncher.Information;
|
||||
using BS.SharedLauncher.Logic;
|
||||
using BS.SharedLauncher.Update;
|
||||
using BS.SharedLauncher.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace BeWoLauncher.Utils.Update
|
||||
{
|
||||
public class UpdateFileManager
|
||||
{
|
||||
public DownloadPlanerRequestDC Request { get; set; }
|
||||
public DownloadPlanerResponseDC Response { get; set; }
|
||||
public string DownloadZipPath { get; set; }
|
||||
|
||||
public string DownloadFolder => BeWoPaths.GetDownloadPath();
|
||||
public string ApplyFolder => BeWoPaths.GetApplyPath();
|
||||
|
||||
public UpdateFileManager()
|
||||
{
|
||||
Request = null;
|
||||
Response = null;
|
||||
}
|
||||
|
||||
public void StartUpdate(bool skipLock)
|
||||
{
|
||||
CreateUpdateRequest();
|
||||
GetUpdateResponse();
|
||||
|
||||
if (!Response.HasToDo())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Response.HasToDoNewZip())
|
||||
{
|
||||
StartDownload(skipLock);
|
||||
}
|
||||
|
||||
StartApply(skipLock);
|
||||
DownloadFolder.ClearFolder();
|
||||
}
|
||||
|
||||
private void CreateUpdateRequest()
|
||||
{
|
||||
Request = new DownloadPlanerRequestDC();
|
||||
|
||||
Request.PlanerRootFolderExists = DownloadFolder.Exists();
|
||||
|
||||
if (Request.DownloadFolderExists = DownloadFolder.Exists())
|
||||
if (!(Request.DownloadFolderIsEmpty = DownloadFolder.IsFolderEmpty()))
|
||||
Request.DownloadedPackages = FileController.LoadInfos(DownloadFolder);
|
||||
|
||||
if (Request.ApplyFolderExists = ApplyFolder.Exists())
|
||||
if (!(Request.ApplyFolderIsEmpty = ApplyFolder.IsFolderEmpty()))
|
||||
if (FileController.TryGetPackageInfo(BeWoPaths.GetApplyPackagePath(), out var planer))
|
||||
Request.ApplyPackage = planer;
|
||||
}
|
||||
|
||||
private void GetUpdateResponse()
|
||||
{
|
||||
Response = LauncherServiceFacade.DoDownloadBeWoServiceSync(x => x.Download2(Request));
|
||||
}
|
||||
|
||||
private void StartDownload(bool skiplock)
|
||||
{
|
||||
DownloadFolder.CreateFolder();
|
||||
|
||||
DownloadFolder.Lock(skiplock);
|
||||
|
||||
DownloadZipPath = FileController.GetNewZipPath(BeWoPaths.GetDownloadPath());
|
||||
|
||||
FileController.SaveDZip(DownloadZipPath, Response.NewZipData);
|
||||
FileController.SaveInfo(DownloadZipPath, Response.NewZipInfo);
|
||||
FileController.SaveInfo(BeWoPaths.GetDownloadPackagePath(), Response.LatestApplicationInfo);
|
||||
|
||||
Response.NewZipData = null;
|
||||
|
||||
DownloadFolder.Unlock();
|
||||
}
|
||||
|
||||
private void StartApply(bool skiplock)
|
||||
{
|
||||
ApplyFolder.CreateFolder();
|
||||
|
||||
ApplyFolder.Lock(skiplock);
|
||||
|
||||
if (Response.HasToDoDownload2Keep())
|
||||
{
|
||||
FileController.ApplyDZip(Response.DownloadFilesToKeep, ApplyFolder);
|
||||
}
|
||||
|
||||
if (Response.HasToDoNewZip())
|
||||
{
|
||||
FileController.ApplyDZip(DownloadZipPath, ApplyFolder);
|
||||
}
|
||||
|
||||
if (Response.HasToRemoveFiles)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Überschreibe alle lokalen Dateien mit dem Update
|
||||
//private void ApplyDZip(string path, PlanerPackageInfoDC planer)
|
||||
//{
|
||||
//using (ZipArchive archive = ZipFile.OpenRead(path))
|
||||
//{
|
||||
// foreach (ZipArchiveEntry entry in archive.Entries)
|
||||
// {
|
||||
// var planerFileInfo = PlanerPackage.FindPlanerFile(entry.Name);
|
||||
|
||||
// entry.ExtractToFile(ApplyPath.Combine(entry.Name), true);
|
||||
// }
|
||||
//}
|
||||
//}
|
||||
|
||||
//// Entferne alte Dateien
|
||||
//// Überprüfe mit neuer Version Xml
|
||||
//var applyFiles = Directory.EnumerateFileSystemEntries(ApplyPath);
|
||||
//foreach (var file in applyFiles)
|
||||
//{
|
||||
// var relative = PathUtils.MakeRelativePath(ApplyPath, file);
|
||||
|
||||
// if (PlanerPackage.FirstOrDefaultPlanerFile(relative) is object)
|
||||
// continue;
|
||||
|
||||
// if (relative == BeWoPaths.GetLockFileName())
|
||||
// continue;
|
||||
|
||||
// File.Delete(file);
|
||||
//}
|
||||
|
||||
//// Überschreibe Update Version
|
||||
//File.WriteAllText(BeWoPaths.GetVersionXmlPath(), PlanerVersionXml);
|
||||
|
||||
////UnlockApply();
|
||||
///
|
||||
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
// RE Auslagern
|
||||
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="BeWoLauncher/Icons/bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="BeWoLauncher/View/Icons/bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Grid Grid.Row="1" Margin="0,10,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -20,7 +20,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="pack://application:,,,/Icons/bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="pack://application:,,,/View/Icons/bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -1,4 +1,5 @@
|
||||
using BeWoLauncher.Logic;
|
||||
using BeWoLauncher.Logic.Controller;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
@@ -20,7 +20,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="..\Ressources\Icons\bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="pack://application:,,,/View/Icons/bewoplaner_logo_big.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Grid Grid.Row="1" Margin="0,10,0,0" x:Name="rootGrid">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -7,7 +7,7 @@
|
||||
<GroupBox Style="{StaticResource PopUpWindowStyle}">
|
||||
<GroupBox.Header>
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0">
|
||||
<Image Source="pack://application:,,,/Icons/ContactCardWebDisabled.png" RenderTransformOrigin="0.5,0.5" Width="Auto" Height="28" Margin="0,0,0,0">
|
||||
<Image Source="pack://application:,,,/View/Icons/ContactCardWebDisabled.png" RenderTransformOrigin="0.5,0.5" Width="Auto" Height="28" Margin="0,0,0,0">
|
||||
<Image.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
@@ -1,4 +1,5 @@
|
||||
using BS.SharedLauncher;
|
||||
using BeWoLauncher.Logic;
|
||||
using BS.SharedLauncher;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Windows;
|
||||
|
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 564 B |
|
Before Width: | Height: | Size: 722 B After Width: | Height: | Size: 722 B |
|
Before Width: | Height: | Size: 605 B After Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 663 B |
|
Before Width: | Height: | Size: 741 B After Width: | Height: | Size: 741 B |
|
Before Width: | Height: | Size: 649 B After Width: | Height: | Size: 649 B |
|
Before Width: | Height: | Size: 832 B After Width: | Height: | Size: 832 B |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |