Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo
89
AiCoreUnitTest/AiCoreUnitTest.csproj
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{68C1F8EA-7828-4E46-8F04-91105C55860E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AiCoreUnitTest</RootNamespace>
|
||||
<AssemblyName>AiCoreUnitTest</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
|
||||
<IsCodedUITest>False</IsCodedUITest>
|
||||
<TestProjectType>UnitTest</TestProjectType>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Ollama2FacadeTest.cs" />
|
||||
<Compile Include="OllamaFacadeTest.cs" />
|
||||
<Compile Include="OpenWebUIFacadeTest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Server\Components\AICore\AICore.csproj">
|
||||
<Project>{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}</Project>
|
||||
<Name>AICore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Service\Service.csproj">
|
||||
<Project>{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Shared\Shared.csproj">
|
||||
<Project>{2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props'))" />
|
||||
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets')" />
|
||||
</Project>
|
||||
54
AiCoreUnitTest/Ollama2FacadeTest.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using AICore.Facade.LLM;
|
||||
using BeWo.Service.Core;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting.Logging;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AiCoreUnitTest
|
||||
{
|
||||
[TestClass]
|
||||
public class Ollama2FacadeTest
|
||||
{
|
||||
public OllamaApiClient Client { get; set; }
|
||||
|
||||
[TestInitialize]
|
||||
public void TestInitialize()
|
||||
{
|
||||
var url = "https://ai3.ownsoft.de";
|
||||
var key = "mu9ZPuUXJ4aVGLU1WL2RfPCeSMRmJREwyjVJBP7bHfSz8quZRqN7e7UwnwCDi8GZ";
|
||||
|
||||
Client = new OllamaApiClient(url, key, BS.Shared.AiModelSource.ollama2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void GetModels()
|
||||
{
|
||||
var response = Client.GetAiModelle();
|
||||
|
||||
Assert.IsTrue(response?.Success);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SendMessage()
|
||||
{
|
||||
// Build Payload
|
||||
var payload = new
|
||||
{
|
||||
model = "gemma3:12b",
|
||||
messages = new[] {
|
||||
new {
|
||||
role = "user",
|
||||
message = "why is the sky blue?"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var logger = ServiceLogger.GetRequestLogger();
|
||||
var response = Client.SendAiMessageRequest(payload, out string message, out string model, out int? duration, logger);
|
||||
|
||||
Assert.IsTrue(response?.Success);
|
||||
}
|
||||
}
|
||||
}
|
||||
62
AiCoreUnitTest/OllamaFacadeTest.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using AICore.Facade.LLM;
|
||||
using BeWo.Data.Security;
|
||||
using BeWo.Service.Core;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting.Logging;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AiCoreUnitTest
|
||||
{
|
||||
[TestClass]
|
||||
public class OllamaFacadeTest
|
||||
{
|
||||
public string OllamaUrl { get; set; }
|
||||
public string OllamaKey { get; set; }
|
||||
|
||||
[TestInitialize]
|
||||
public void TestInitialize()
|
||||
{
|
||||
OllamaUrl = "https://w2.ownchat.de";
|
||||
OllamaKey = "mu9ZPuUXJ4aVGLU1WL2RfPCeSMRmJREwyjVJBP7bHfSz8quZRqN7e7UwnwCDi8GZ";
|
||||
}
|
||||
|
||||
public OllamaApiClient GetClient()
|
||||
=> new OllamaApiClient(OllamaUrl, OllamaKey);
|
||||
|
||||
[TestMethod]
|
||||
public void GetModels()
|
||||
{
|
||||
var client = GetClient();
|
||||
|
||||
var response = client.GetAiModelle();
|
||||
|
||||
Assert.IsTrue(response?.Success);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SendMessage()
|
||||
{
|
||||
var client = GetClient();
|
||||
|
||||
// Build Payload
|
||||
var payload = new
|
||||
{
|
||||
model = "llama3:latest",
|
||||
messages = new[] {
|
||||
new {
|
||||
role = "user",
|
||||
message = "Say 'Hi'!"
|
||||
}
|
||||
},
|
||||
customerid = UserRightHelper.GetTenant()
|
||||
};
|
||||
|
||||
var logger = ServiceLogger.GetRequestLogger();
|
||||
var response = client.SendAiMessageRequest(payload, out string message, out string model, out int? duration, logger);
|
||||
|
||||
Assert.IsTrue(response?.Success);
|
||||
}
|
||||
}
|
||||
}
|
||||
56
AiCoreUnitTest/OpenWebUIFacadeTest.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using AICore.Facade.LLM;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Net;
|
||||
|
||||
namespace AiCoreUnitTest
|
||||
{
|
||||
//[TestClass]
|
||||
//public class OpenWebUIFacadeTest
|
||||
//{
|
||||
// public string OpenWebUIUrl { get; set; }
|
||||
// public string OpenWebUIKey { get; set; }
|
||||
|
||||
// [TestInitialize]
|
||||
// public void TestInitialize()
|
||||
// {
|
||||
// OpenWebUIUrl = "https://owui1.ownsoft.de";
|
||||
// OpenWebUIKey = "sk-7f5d8c418630448dbe31ab1c7e8b100a";
|
||||
// }
|
||||
|
||||
// public OpenWebApiClient GetClient()
|
||||
// => new OpenWebApiClient(OpenWebUIUrl, OpenWebUIKey);
|
||||
|
||||
// [TestMethod]
|
||||
// public void GetModels()
|
||||
// {
|
||||
// var client = GetClient();
|
||||
|
||||
// var models = client.GetAiModelle();
|
||||
|
||||
// Assert.IsNotNull(models);
|
||||
// }
|
||||
|
||||
// [TestMethod]
|
||||
// public void SendMessage()
|
||||
// {
|
||||
// var client = GetClient();
|
||||
|
||||
// // Build Payload
|
||||
// var payload = new
|
||||
// {
|
||||
// model = "llama3.2:latest",
|
||||
// messages = new[] {
|
||||
// new {
|
||||
// role = "user",
|
||||
// content = "Say Hi!"
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
|
||||
// var response = client.SendAiMessageRequest(payload, out string message, out string model, out int? duration);
|
||||
|
||||
// Assert.IsTrue(response?.Success);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
20
AiCoreUnitTest/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("AiCoreUnitTest")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("AiCoreUnitTest")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2025")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
[assembly: Guid("68c1f8ea-7828-4e46-8f04-91105c55860e")]
|
||||
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
63
AiCoreUnitTest/app.config
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Composition.AttributedModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Composition.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Composition.Hosting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<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>
|
||||
</configuration>
|
||||
5
AiCoreUnitTest/packages.config
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="MSTest.TestAdapter" version="2.2.10" targetFramework="net472" />
|
||||
<package id="MSTest.TestFramework" version="2.2.10" targetFramework="net472" />
|
||||
</packages>
|
||||
48
BeWo.sln
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30523.141
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.12.35707.178
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{E7543C39-A44C-40C9-82C9-E7FAA2D9A852}"
|
||||
EndProject
|
||||
@@ -601,6 +601,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MalteserJohanniterJohannesh
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dakota", "Dakota\Dakota.csproj", "{47331732-DD96-4075-869F-83AA9F3F9937}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Components", "Components", "{7C7F1E62-B72D-419B-98A5-26A307456638}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
Server\Components\README.txt = Server\Components\README.txt
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerUtils", "Server\Components\ServerUtils\ServerUtils.csproj", "{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AICore", "Server\Components\AICore\AICore.csproj", "{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
@@ -4796,6 +4805,38 @@ Global
|
||||
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{47331732-DD96-4075-869F-83AA9F3F9937}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}.Release|x86.Build.0 = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -5092,6 +5133,9 @@ Global
|
||||
{AD3876F3-40C0-47CF-BA36-687139903F87} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{28331CB1-17FD-4B58-A837-E0249CAAC535} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{47331732-DD96-4075-869F-83AA9F3F9937} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
|
||||
{7C7F1E62-B72D-419B-98A5-26A307456638} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
|
||||
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57} = {7C7F1E62-B72D-419B-98A5-26A307456638}
|
||||
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9} = {7C7F1E62-B72D-419B-98A5-26A307456638}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
using BeWo.AI.View;
|
||||
using BeWo.View;
|
||||
using BeWo.View.Windows;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Translation;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.AI
|
||||
{
|
||||
class AiChatController
|
||||
{
|
||||
private static void CreateAiChatWindow(AiChatView view, double height, double width)
|
||||
{
|
||||
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Frage unsere KI"), view, height, width);
|
||||
|
||||
view.CloseButtonClicked += () => beWoWindow.Close();
|
||||
|
||||
beWoWindow.ShowDialog();
|
||||
}
|
||||
|
||||
public static void ShowAiChatViewForServiceRecords(long c2sOid, DateTime start, DateTime end, double height, double width)
|
||||
{
|
||||
var ctrl = new AiChatView();
|
||||
ctrl.InitServiceRecordQuery(c2sOid, start, end);
|
||||
CreateAiChatWindow(ctrl, height, width);
|
||||
}
|
||||
|
||||
public static void ShowAiChatViewForSingleCustomer(long customerOid, double height, double width)
|
||||
{
|
||||
var ctrl = new AiChatView();
|
||||
ctrl.InitSingleCustomerQuery(customerOid);
|
||||
CreateAiChatWindow(ctrl, height, width);
|
||||
}
|
||||
|
||||
public static void ShowAiChatViewForObjects(TableID tableId, double height, double width)
|
||||
{
|
||||
var ctrl = new AiChatView();
|
||||
ctrl.InitObjectQuery(tableId);
|
||||
CreateAiChatWindow(ctrl, height, width);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,149 +0,0 @@
|
||||
<view:BeWoView
|
||||
x:Class="BeWo.AI.View.AiChatView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:validation="clr-namespace:BeWo.Validation"
|
||||
xmlns:view="clr-namespace:BeWo.View"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Focusable="True"
|
||||
mc:Ignorable="d">
|
||||
<view:BeWoView.Resources>
|
||||
<!--<Expander x:Name="ExpanderTemplate" IsExpanded="True">
|
||||
<Expander.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="14" Margin="0" />
|
||||
</Grid>
|
||||
</Expander.Header>
|
||||
</Expander>-->
|
||||
</view:BeWoView.Resources>
|
||||
<Grid Margin="0" Background="{DynamicResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<dxlc:LayoutControl Padding="0" Orientation="Vertical">
|
||||
<dxlc:LayoutGroup Height="200" dxlc:LayoutControl.AllowVerticalSizing="True">
|
||||
|
||||
<Grid Margin="5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Left"
|
||||
Click="btnSettings_Click"
|
||||
Content="Einstellungen" />
|
||||
<Popup
|
||||
x:Name="PopupTemplate"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="3"
|
||||
Width="400"
|
||||
Height="300"
|
||||
Placement="MousePoint"
|
||||
StaysOpen="True">
|
||||
<Grid Margin="2,2,2,2" Background="{DynamicResource ObjectEditBackgroundBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Content="{t:Translate Datensatz Template}" />
|
||||
<TextBox
|
||||
x:Name="TextBoxTemplate"
|
||||
Grid.Row="1"
|
||||
MinHeight="60"
|
||||
AcceptsReturn="True"
|
||||
AcceptsTab="True"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
<StackPanel
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Margin="3"
|
||||
Click="btnSaveSettings_Click"
|
||||
Content="Übernehmen" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Margin="3"
|
||||
Click="btnCancelSettings_Click"
|
||||
Content="Abbrechen" />
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
</Popup>
|
||||
<Label Grid.Row="1" Content="{t:Translate Formulieren Sie hier Ihre Anfrage}" />
|
||||
<TextBox
|
||||
x:Name="TextBoxAnfrage"
|
||||
Grid.Row="2"
|
||||
MinHeight="60"
|
||||
AcceptsReturn="True"
|
||||
AcceptsTab="True"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
</Grid>
|
||||
</dxlc:LayoutGroup>
|
||||
<dxlc:LayoutGroup dxlc:LayoutControl.AllowVerticalSizing="True">
|
||||
|
||||
<Grid Margin="5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="{t:Translate Ergebnis}" />
|
||||
<TextBox
|
||||
x:Name="TextBoxErgebnis"
|
||||
Grid.Row="1"
|
||||
MinHeight="60"
|
||||
AcceptsReturn="True"
|
||||
AcceptsTab="True"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
</Grid>
|
||||
</dxlc:LayoutGroup>
|
||||
</dxlc:LayoutControl>
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="1"
|
||||
Height="Auto"
|
||||
Margin="5,10,10,10"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
x:Name="btnSend"
|
||||
Height="25"
|
||||
Margin="0,0,3,0"
|
||||
Click="btnSend_Click"
|
||||
Content="{t:Translate Absenden}" />
|
||||
<Button
|
||||
x:Name="btnClose"
|
||||
Height="25"
|
||||
Margin="0,0,3,0"
|
||||
Click="btnClose_Click"
|
||||
Content=" Schließen " />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</view:BeWoView>
|
||||
@@ -1,161 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
|
||||
using BeWo.Annotations;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.Validation;
|
||||
using BeWo.View;
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.Xpf.Editors;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
|
||||
namespace BeWo.AI.View
|
||||
{
|
||||
public partial class AiChatView : BeWoView
|
||||
{
|
||||
public event Action CloseButtonClicked;
|
||||
|
||||
int type = 0; //0 = ServiceRecordQuery, 1 = SingleCustomerQuery, 2 = AllCustomerQuery
|
||||
|
||||
private long cb2scOid;
|
||||
private long customerOid;
|
||||
private TableID tableID;
|
||||
private DateTime startDate;
|
||||
private DateTime endDate;
|
||||
private AiSettingsDC aiSettings;
|
||||
|
||||
public AiChatView()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
}
|
||||
|
||||
public void InitServiceRecordQuery(long c2sOid, DateTime start, DateTime end)
|
||||
{
|
||||
type = 0;
|
||||
this.cb2scOid = c2sOid;
|
||||
this.startDate = start;
|
||||
this.endDate = end;
|
||||
|
||||
LoadAiSettings(1);
|
||||
}
|
||||
|
||||
|
||||
public void InitSingleCustomerQuery(long customerOid)
|
||||
{
|
||||
type = 1;
|
||||
this.customerOid = customerOid;
|
||||
}
|
||||
|
||||
public void InitObjectQuery(TableID tableId)
|
||||
{
|
||||
type = 2;
|
||||
tableID = tableId;
|
||||
}
|
||||
|
||||
private void LoadAiSettings(int settingsType)
|
||||
{
|
||||
aiSettings = ServiceFacade.DoOperationsServiceSync(s => s.GetAiSettings(settingsType));
|
||||
}
|
||||
|
||||
private void ReloadViewModel(AiChatDC dc)
|
||||
{
|
||||
TextBoxErgebnis.Text = dc.Result;
|
||||
}
|
||||
|
||||
private void btnSend_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var acdc = new AiChatDC();
|
||||
acdc.Prompt = TextBoxAnfrage.Text;
|
||||
|
||||
if (type == 1)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.CreateAiQueryForSingleCustomer(acdc, customerOid),
|
||||
dc =>
|
||||
{
|
||||
this.Dispatch(delegate
|
||||
{
|
||||
ReloadViewModel(dc);
|
||||
});
|
||||
});
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.CreateAiQueryForObjects(acdc, (int)tableID),
|
||||
dc =>
|
||||
{
|
||||
this.Dispatch(delegate
|
||||
{
|
||||
ReloadViewModel(dc);
|
||||
});
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.CreateAiQueryForServiceRecords(acdc, cb2scOid, startDate, endDate),
|
||||
dc =>
|
||||
{
|
||||
this.Dispatch(delegate
|
||||
{
|
||||
ReloadViewModel(dc);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
private void btnClose_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CloseButtonClicked?.Invoke();
|
||||
}
|
||||
|
||||
private void btnSettings_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (aiSettings != null)
|
||||
{
|
||||
TextBoxTemplate.Text = aiSettings.Settings;
|
||||
}
|
||||
PopupTemplate.IsOpen = true;
|
||||
}
|
||||
|
||||
|
||||
private void btnSaveSettings_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
PopupTemplate.IsOpen = false;
|
||||
if (aiSettings != null)
|
||||
{
|
||||
aiSettings.Settings = TextBoxTemplate.Text;
|
||||
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.UpdateAiSettings(aiSettings),
|
||||
dc =>
|
||||
{
|
||||
this.Dispatch(delegate
|
||||
{
|
||||
aiSettings = dc;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCancelSettings_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
PopupTemplate.IsOpen = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
140
BeWo/BeWo.csproj
@@ -20,7 +20,7 @@
|
||||
<ManifestKeyFile>
|
||||
</ManifestKeyFile>
|
||||
<ManifestCertificateThumbprint>8E3A8E81F1C6F67A1C6D239593544EA33D8AC6A7</ManifestCertificateThumbprint>
|
||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<ExpressionBlendVersion>3.0.1927.0</ExpressionBlendVersion>
|
||||
<TargetFrameworkProfile>
|
||||
@@ -29,17 +29,16 @@
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<PublishUrl>D:\Projects\beyondsoft\BeWoPlaner\Publish\</PublishUrl>
|
||||
<PublishUrl>C:\publish\bewoplaner\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Web</InstallFrom>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>true</UpdateRequired>
|
||||
<MapFileExtensions>false</MapFileExtensions>
|
||||
<InstallUrl>https://app.ownsoft.de/</InstallUrl>
|
||||
<TargetCulture>de-DE</TargetCulture>
|
||||
<ProductName>BeWoPlaner</ProductName>
|
||||
<PublisherName>ownSoft GmbH</PublisherName>
|
||||
@@ -101,8 +100,12 @@
|
||||
<Compile Include="AI\View\AiTranskriptionView.xaml.cs">
|
||||
<DependentUpon>AiTranskriptionView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BeWoAppInfo.cs" />
|
||||
<Compile Include="Converter\AddressToStringConverter.cs" />
|
||||
<Compile Include="Converter\ComparisonConverter.cs" />
|
||||
<Compile Include="Converter\IconToImageSourceConverter.cs" />
|
||||
<Compile Include="Converter\NewlineConverter.cs" />
|
||||
<Compile Include="Core\BeWoAppVersion.cs" />
|
||||
<Compile Include="Core\Commands\CommandFactory.cs" />
|
||||
<Compile Include="Scheduling\View\AbsenceTimesCreationView.xaml.cs">
|
||||
<DependentUpon>AbsenceTimesCreationView.xaml</DependentUpon>
|
||||
@@ -123,14 +126,52 @@
|
||||
<Compile Include="ServiceProxy\GeneratedStreamingService.cs" />
|
||||
<Compile Include="ServiceProxy\GeneratedUserService.cs" />
|
||||
<Compile Include="ServiceProxy\GeneratedValueListService.cs" />
|
||||
<Compile Include="Services\AiWindowService.cs" />
|
||||
<Compile Include="Services\BeWoControlFactory.cs" />
|
||||
<Compile Include="Services\BeWoWindowFactory.cs" />
|
||||
<Compile Include="Services\BeWoWindowService.cs" />
|
||||
<Compile Include="Services\IControlFactory.cs" />
|
||||
<Compile Include="Services\IWindowFactory.cs" />
|
||||
<Compile Include="Services\IWindowService.cs" />
|
||||
<Compile Include="Services\IBeWoWindowService.cs" />
|
||||
<Compile Include="Styles\DataTemplates\DataTemplates.xaml.cs">
|
||||
<DependentUpon>DataTemplates.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewModel\AddressVM.cs" />
|
||||
<Compile Include="ViewModel\AiConfigVM.cs" />
|
||||
<Compile Include="ViewModel\AiPromptbausteinFolderVM.cs" />
|
||||
<Compile Include="ViewModel\AiPromptbausteinPromptVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\AiPromptbausteinPromptListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\AiPromptbausteinFolderListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\TextModuleListVM.cs" />
|
||||
<Compile Include="ViewModel\View\AcceptCancelDialogViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\Administration\AiPromptbausteinComplexTreeViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\Administration\AiPromptbausteinFolderViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\Administration\AiPromptbausteinPromptViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\AI\AiConversationChatViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\AI\AiPromptbausteinActionResultViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\AI\AiPromptbausteinComplexSelectionViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\DialogViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\Gkv\GkvAbrechnungDialogViewModel.cs" />
|
||||
<Compile Include="ViewModel\View\WindowViewModel.cs" />
|
||||
<Compile Include="View\Controls\AI\AiConversationButton.xaml.cs">
|
||||
<DependentUpon>AiConversationButton.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinActionResultView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinActionResultView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinComplexSelectionView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinComplexSelectionView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinPromptView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinPromptView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinFolderView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinFolderView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Core\WaitLayer3.xaml.cs">
|
||||
<DependentUpon>WaitLayer3.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Detail\AI\AiPromptbausteinComplexTreeView.xaml.cs">
|
||||
<DependentUpon>AiPromptbausteinComplexTreeView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewModel\StoredFileVM.cs" />
|
||||
<Compile Include="View\Detail\AI\AiConfigView.xaml.cs">
|
||||
<DependentUpon>AiConfigView.xaml</DependentUpon>
|
||||
@@ -142,6 +183,70 @@
|
||||
<Compile Include="View\Windows\AnimatedBeWoWindow.xaml.cs">
|
||||
<DependentUpon>AnimatedBeWoWindow.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Page Include="Styles\ControlStyles\PopupStyles.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIChatSchwarz.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIChatSchwarzOrange.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIChatWeiss.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIChatWeissOrange.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIFunktionSchwarz.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIFunktionSchwarzGruen.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIFunktionWeiss.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\Designs\AI\IconKIFunktionWeissGruen.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Controls\AI\AiConversationButton.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinActionResultView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinComplexSelectionView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinPromptView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinFolderView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Core\WaitLayer3.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Detail\AI\AiPromptbausteinComplexTreeView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="AI\Controls\VoiceToTextButtonControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -267,10 +372,6 @@
|
||||
<Reference Include="WindowsBase">
|
||||
<RequiredTargetFramework>3.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Page Include="AI\View\AiChatView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="BSLogoControl.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -1066,10 +1167,6 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="AI\AiChatController.cs" />
|
||||
<Compile Include="AI\View\AiChatView.xaml.cs">
|
||||
<DependentUpon>AiChatView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BSLogoControl.xaml.cs">
|
||||
<DependentUpon>BSLogoControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -1394,7 +1491,6 @@
|
||||
<Compile Include="ViewModel\ListViewModel\BargeldtransaktionsListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\GenericValueListEntryListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\MedikamentenverordnungslisteListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\TextModuleListVM.cs" />
|
||||
<Compile Include="ViewModel\TeamNewsItemVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\AdditionalServiceBookingListVM.cs" />
|
||||
<Compile Include="ViewModel\ListViewModel\AdditionalServiceGroupOfPeopleListVM.cs" />
|
||||
@@ -3590,7 +3686,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Converter\Features\" />
|
||||
<Folder Include="Scripts\log\" />
|
||||
<Folder Include="ViewModel\Window\" />
|
||||
<Folder Include="View\Controls\Popup\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -3601,6 +3697,14 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="AI\View\Icon_KI_Chat_Weiss_TEMP.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Chat_Schw+Orange.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Chat_Schw.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Chat_Weiss+Orange.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Chat_Weiss.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Funktion_Schw+Gruen.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Funktion_Schw.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Funktion_Weiss+Gruen.png" />
|
||||
<Resource Include="Ressources\Icons\KI\Icon_KI_Funktion_Weiss.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<PublishUrlHistory>D:\Projects\beyondsoft\BeWoPlaner\Publish\|publish\|D:\Projects\beyondsoft\BeWoPlaner\PublishTest\|D:\Projects\beyondsoft\BeWoPlaner\PublishDev\|D:\Projects\beyondsoft\BeWoPlaner\Publish45\</PublishUrlHistory>
|
||||
@@ -9,7 +9,7 @@
|
||||
<ErrorReportUrlHistory />
|
||||
<FallbackCulture>de-DE</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<EnableSecurityDebugging>false</EnableSecurityDebugging>
|
||||
@@ -18,5 +18,7 @@
|
||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
||||
<RemoteDebugMachine>
|
||||
</RemoteDebugMachine>
|
||||
<StartArguments>
|
||||
</StartArguments>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -84,6 +84,8 @@
|
||||
<conv:TooltipTextConverter x:Key="TooltipTextConverter" />
|
||||
<conv:NewlineConverter x:Key="NewlineConverter" />
|
||||
<conv:AddressToStringConverter x:Key="AddressToStringConverter" />
|
||||
<conv:ComparisonConverter x:Key="ComparisonConverter" />
|
||||
<conv:IconToImageSourceConverter x:Key="IconToImageSourceConverter" />
|
||||
|
||||
<conv:ValidationConverter x:Key="ValidationConverter" />
|
||||
<conv:ValueConverterGroup x:Key="Validation2BrushConverter">
|
||||
|
||||
@@ -36,6 +36,7 @@ using DevExpress.Xpf.Scheduling;
|
||||
using DevExpress.XtraScheduler;
|
||||
using System.ServiceModel;
|
||||
using BeWo.View.Windows;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace BeWo
|
||||
{
|
||||
@@ -51,18 +52,14 @@ namespace BeWo
|
||||
private static EmployeeDC _LoggedOnEmployee;
|
||||
private static UserDC _LoggedOnUser;
|
||||
private static MandatorDC _Mandator;
|
||||
private static bool _IsInDeveloperMode;
|
||||
|
||||
public static LoginControl LoginControl;
|
||||
public static MainControl MainControl;
|
||||
|
||||
public static string ShortVersion = "3.30";
|
||||
|
||||
public static string Version = "Version 3.30";
|
||||
|
||||
public static string ShortVersion = "3.29";
|
||||
public static string Version => BeWoAppInfo.BeWoAppVersion.ToString();
|
||||
public static int RenderTier = 0;
|
||||
public static bool IsInDesignMode = DesignerProperties.GetIsInDesignMode(new DependencyObject());
|
||||
|
||||
|
||||
internal static string IpAddress = string.Empty;
|
||||
internal static string Tenant = string.Empty;
|
||||
internal static string ServerName = string.Empty;
|
||||
@@ -82,17 +79,7 @@ namespace BeWo
|
||||
public static BeWoApp CurrentBeWo => Current as BeWoApp;
|
||||
public static Dictionary<string, string> ICD10Diagnosis { get; set; }
|
||||
|
||||
public static bool IsInDeveloperMode {
|
||||
get => _IsInDeveloperMode;
|
||||
set
|
||||
{
|
||||
if (IsInDeveloperMode == value)
|
||||
return;
|
||||
|
||||
_IsInDeveloperMode = value;
|
||||
CurrentBeWo.FirePropertyChanged(nameof(IsInDeveloperMode));
|
||||
}
|
||||
}
|
||||
public static bool IsInDesignMode = DesignerProperties.GetIsInDesignMode(new DependencyObject());
|
||||
|
||||
public static EmployeeDC LoggedOnEmployee
|
||||
{
|
||||
@@ -675,8 +662,6 @@ namespace BeWo
|
||||
//AppSettings.AllowGkvAbrechnung = true;
|
||||
//AppSettings.AllowGkvAbrechnung = false;
|
||||
//showInfoButtonInCalender = true;
|
||||
//IsInDeveloperMode = true;
|
||||
//IsInDeveloperMode = false;
|
||||
//AppSettings.ModuleAiEnabled = true;
|
||||
//AppSettings.ModuleAiSettingsEnabled = false;
|
||||
AppSettings.IsSchedulerAllowed = true;
|
||||
@@ -720,7 +705,7 @@ namespace BeWo
|
||||
|
||||
BS.Shared.Settings.ApplicationSettings.SupportConceptExpirationLimitInMonths = AppSettings.HilfeplanAuslaufAuswahl;
|
||||
|
||||
if (IsInDeveloperMode)
|
||||
if (BeWoAppInfo.IsInAiDeveloperMode)
|
||||
{
|
||||
applyDeveloperMode();
|
||||
}
|
||||
@@ -793,9 +778,9 @@ namespace BeWo
|
||||
//{
|
||||
// url += "/service45";
|
||||
//}
|
||||
if (url.IndexOf("/service") < 0)
|
||||
if (url.IndexOf("/service_ai") < 0)
|
||||
{
|
||||
url += "/service";
|
||||
url += "/service_ai";
|
||||
}
|
||||
|
||||
return new Uri(String.Format("https://{0}", url));
|
||||
@@ -1081,6 +1066,17 @@ namespace BeWo
|
||||
};
|
||||
|
||||
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
|
||||
|
||||
BeWoAppInfo.BeWoAppVersion.TryActiveDeveloperMode(e.Args);
|
||||
|
||||
//if(e.Args.LastOrDefault(x => x.StartsWith("/timeout:") || x.StartsWith("--timeout:")) is string str)
|
||||
//{
|
||||
// var valuePart = str.Substring(str.IndexOf(':') + 1);
|
||||
// if(int.TryParse(valuePart, out int parsedTimeout))
|
||||
// {
|
||||
// AiTimeout = parsedTimeout;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
public static void ShowInfoMessage(string message)
|
||||
@@ -1095,6 +1091,9 @@ namespace BeWo
|
||||
|
||||
public static void ShowErrorMessage(Exception e)
|
||||
{
|
||||
if (IsInDesignMode)
|
||||
return;
|
||||
|
||||
if (e is FaultException<BeWoFault>)
|
||||
{
|
||||
var lBeWoFault = (e as FaultException<BeWoFault>).Detail;
|
||||
|
||||
29
BeWo/BeWoAppInfo.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using BeWo.Core;
|
||||
using BS.Shared;
|
||||
using DevExpress.Web.Internal.XmlProcessor;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo
|
||||
{
|
||||
public static class BeWoAppInfo
|
||||
{
|
||||
static BeWoAppInfo()
|
||||
{
|
||||
var baseVersion = new Version(BeWoApp.ShortVersion);
|
||||
var stage = BeWoClientReleaseStage.Sandbox;
|
||||
var stageVersion = new Version("3.1");
|
||||
var feature = BeWoClientFeature.AI;
|
||||
|
||||
BeWoAppVersion = new BeWoAppVersion(baseVersion, stage, stageVersion, feature);
|
||||
}
|
||||
|
||||
public static BeWoAppVersion BeWoAppVersion { get; private set; }
|
||||
|
||||
public static bool IsInAiMode => BeWoAppVersion.Feature == BeWoClientFeature.AI;
|
||||
public static bool IsInAiDeveloperMode => IsInAiMode && BeWoAppVersion.IsInDeveloperMode;
|
||||
}
|
||||
}
|
||||
26
BeWo/Converter/ComparisonConverter.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ComparisonConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return false; // or return parameter.Equals(YourEnumType.SomeDefaultValue);
|
||||
}
|
||||
return value.Equals(parameter);
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
return value?.Equals(true) == true ? parameter : Binding.DoNothing;
|
||||
}
|
||||
}
|
||||
}
|
||||
45
BeWo/Converter/IconToImageSourceConverter.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
// Source - https://stackoverflow.com/a/29757845
|
||||
// Posted by run2thesun, modified by community. See post 'Timeline' for change history
|
||||
// Retrieved 2026-01-30, License - CC BY-SA 3.0
|
||||
|
||||
public class IconToImageSourceConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var icon = value as Icon;
|
||||
if (icon == null)
|
||||
{
|
||||
Trace.TraceWarning("Attempted to convert {0} instead of Icon object in IconToImageSourceConverter", value);
|
||||
return null;
|
||||
}
|
||||
|
||||
ImageSource imageSource = Imaging.CreateBitmapSourceFromHIcon(
|
||||
icon.Handle,
|
||||
Int32Rect.Empty,
|
||||
BitmapSizeOptions.FromEmptyOptions());
|
||||
return imageSource;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
74
BeWo/Core/BeWoAppVersion.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Core
|
||||
{
|
||||
public class BeWoAppVersion
|
||||
{
|
||||
public Version BaseVersion { get; }
|
||||
public BeWoClientReleaseStage Stage { get; }
|
||||
public Version FeatureVersion { get; }
|
||||
public BeWoClientFeature Feature { get; }
|
||||
public static bool IsInDeveloperMode { get; private set; }
|
||||
|
||||
public BeWoAppVersion(Version baseVersion, BeWoClientReleaseStage stage, Version stageVersion, BeWoClientFeature feature = BeWoClientFeature.None)
|
||||
{
|
||||
BaseVersion = baseVersion;
|
||||
Stage = stage;
|
||||
FeatureVersion = stageVersion;
|
||||
Feature = feature;
|
||||
}
|
||||
|
||||
public void TryActiveDeveloperMode(string[] args)
|
||||
{
|
||||
#if !DEBUG
|
||||
|
||||
if (Stage != BeWoClientReleaseStage.Sandbox && Stage != BeWoClientReleaseStage.ProofOfConcept)
|
||||
return;
|
||||
|
||||
if (args.All(x => x != "/bewodevmode" && x != "--bewodevmode"))
|
||||
return;
|
||||
#endif
|
||||
|
||||
// Darf noch nicht aktiviert sein
|
||||
if (IsInDeveloperMode)
|
||||
throw new NotImplementedException();
|
||||
|
||||
IsInDeveloperMode = true;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
sb.Append($"Version {BaseVersion}");
|
||||
|
||||
if (Stage == BeWoClientReleaseStage.Release)
|
||||
return sb.ToString();
|
||||
|
||||
sb.Append(" ");
|
||||
|
||||
if (Feature != BeWoClientFeature.None)
|
||||
{
|
||||
// https://stackoverflow.com/questions/9684619/label-doesnt-display-character
|
||||
sb.Append(Feature.ToString().ToLower());
|
||||
sb.Append("__");
|
||||
sb.Append(FeatureVersion);
|
||||
sb.Append("__");
|
||||
}
|
||||
|
||||
sb.Append($"{Stage.ToString().ToLower()}");
|
||||
|
||||
if (Stage == BeWoClientReleaseStage.Sandbox || Stage == BeWoClientReleaseStage.ProofOfConcept)
|
||||
{
|
||||
sb.Append($" (dev:{(IsInDeveloperMode ? "1" : "0")})");
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ using System.Diagnostics;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Threading;
|
||||
using BeWo.View;
|
||||
using DevExpress.Xpf.Grid;
|
||||
|
||||
@@ -294,24 +295,30 @@ namespace BeWo.Core
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void ScrollToTop(ListBox listBox)
|
||||
public static void ScrollToTop(ListBox listBox, DispatcherPriority priority = DispatcherPriority.Loaded)
|
||||
{
|
||||
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)
|
||||
{
|
||||
Border border = (Border)VisualTreeHelper.GetChild(listBox, 0);
|
||||
ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
|
||||
scrollViewer.ScrollToTop();
|
||||
}
|
||||
listBox.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)
|
||||
{
|
||||
Border border = (Border)VisualTreeHelper.GetChild(listBox, 0);
|
||||
ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
|
||||
scrollViewer.ScrollToTop();
|
||||
}
|
||||
}, priority);
|
||||
}
|
||||
|
||||
public static void ScrollToBottom(ListBox listBox)
|
||||
public static void ScrollToBottom(ListBox listBox, DispatcherPriority priority = DispatcherPriority.Loaded)
|
||||
{
|
||||
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)
|
||||
listBox.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
Border border = (Border)VisualTreeHelper.GetChild(listBox, 0);
|
||||
ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
|
||||
scrollViewer.ScrollToBottom();
|
||||
}
|
||||
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)
|
||||
{
|
||||
Border border = (Border)VisualTreeHelper.GetChild(listBox, 0);
|
||||
ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
|
||||
scrollViewer.ScrollToBottom();
|
||||
}
|
||||
}, priority);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,23 +11,15 @@ namespace BeWo.Core.Commands
|
||||
{
|
||||
public static class CommandFactory
|
||||
{
|
||||
public static DelegateCommand GetAiViewCommand(Action openView, UserRightType userRightType, Func<bool> additionalCheckup = null)
|
||||
public static DelegateCommand GetAiViewCommand(Action openView, UserRightType userRightType, Func<bool> additionalCheckup = null, bool? useCommandManager = null)
|
||||
{
|
||||
bool canExecute() =>
|
||||
(BeWoApp.AppSettings?.ModuleAiEnabled ?? false) &&
|
||||
BeWoAppInfo.IsInAiMode &&
|
||||
(BeWoApp.AppSettings?.ModuleAiEnabled ?? BeWoApp.AppSettings?.ShowAI ?? false) &&
|
||||
BeWoApp.HasLoggedOnUserRight(userRightType) &&
|
||||
(additionalCheckup is null || additionalCheckup());
|
||||
|
||||
return GetTestClientCommand(openView, () => CheckupSafe(canExecute), null);
|
||||
}
|
||||
|
||||
public static DelegateCommand GetTestClientCommand(Action action, Func<bool> canExecute = null, bool? useCommandManager = null)
|
||||
{
|
||||
bool canExecute2() =>
|
||||
CheckupTestVersion() &&
|
||||
(canExecute is null || canExecute());
|
||||
|
||||
return new DelegateCommand(action, () => CheckupSafe(canExecute2), useCommandManager);
|
||||
return new DelegateCommand(openView, () => CheckupSafe(canExecute), useCommandManager);
|
||||
}
|
||||
|
||||
private static bool CheckupSafe(Func<bool> predicate)
|
||||
@@ -41,12 +33,5 @@ namespace BeWo.Core.Commands
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static bool CheckupTestVersion()
|
||||
{
|
||||
var version = BeWoApp.Version.Split(' ');
|
||||
var test_string = version[version.Length - 1].ToLower();
|
||||
return test_string == "test";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,9 +136,9 @@ namespace BeWo
|
||||
AutoLogin = true,
|
||||
//SelectView = UIContext.Organisation,
|
||||
//SelectIndex = 8,
|
||||
DefaultLoginUsername = "admin",
|
||||
DefaultLoginPassword = "bewobewo",
|
||||
DefaultProfilename = "5000000000",
|
||||
//DefaultLoginUsername = "admin",
|
||||
//DefaultLoginPassword = "bewobewo",
|
||||
//DefaultProfilename = "5000000000",
|
||||
EnableAutoRemoteDebugging = true
|
||||
});
|
||||
|
||||
@@ -147,11 +147,11 @@ namespace BeWo
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureAiModule,
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Customer,
|
||||
//SelectView = UIContext.Administration,
|
||||
//SelectIndex = 8,
|
||||
DefaultLoginUsername = "m1",
|
||||
DefaultLoginPassword = "bewobewo",
|
||||
DefaultProfilename = "5000000000",
|
||||
//DefaultLoginUsername = "m1",
|
||||
//DefaultLoginPassword = "bewobewo",
|
||||
//DefaultProfilename = "5000000000",
|
||||
EnableAutoRemoteDebugging = true
|
||||
});
|
||||
|
||||
|
||||
@@ -829,27 +829,6 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</localView:ImageButton>
|
||||
|
||||
<localView:ImageButton
|
||||
x:Name="button_ai_chat"
|
||||
Width="90"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="{StaticResource ModuleAiChatTabItem}"
|
||||
Click="button_ai_chat_Click"
|
||||
Content="{t:Translate AiModuleMenuItem}"
|
||||
ImageSource="Ressources\Icons\chatbot2.png"
|
||||
RenderTransformOrigin="0.5,0.5"
|
||||
Style="{StaticResource NavBarButton}"
|
||||
Visibility="Collapsed">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</localView:ImageButton>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
|
||||
@@ -37,6 +37,7 @@ using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.XtraEditors;
|
||||
using DevExpress.XtraReports.Design;
|
||||
using Hyperlink = System.Windows.Documents.Hyperlink;
|
||||
|
||||
namespace BeWo
|
||||
@@ -60,13 +61,7 @@ namespace BeWo
|
||||
Scheduling = 14,
|
||||
Finance = 15,
|
||||
Administration = 16,
|
||||
AiConversation = 17,
|
||||
AiConversationPopup = 18,
|
||||
// Nur für AI Conversation Zuweisung
|
||||
ServiceRecord = 19,
|
||||
CustomerSingle = 20,
|
||||
PersonSingle = 21,
|
||||
EmployeeSingle = 22,
|
||||
}
|
||||
|
||||
public partial class MainControl
|
||||
@@ -97,7 +92,10 @@ namespace BeWo
|
||||
#if DEBUG
|
||||
if (DebugConfig.CurrentConfig is object && DebugConfig.CurrentConfig.SelectView is UIContext context)
|
||||
{
|
||||
NavigateTo(GetViewForUIContext(context));
|
||||
if (context == UIContext.ServiceRecord)
|
||||
NavigateToServiceRecordView(null);
|
||||
else
|
||||
NavigateTo(GetViewForUIContext(context));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -194,9 +192,9 @@ namespace BeWo
|
||||
|
||||
UpdateMandator();
|
||||
|
||||
ControlFactory = new BeWoControlFactory();
|
||||
WindowFactory = new BeWoWindowFactory();
|
||||
WindowService = new BeWoWindowService(WindowFactory, ControlFactory);
|
||||
var controlFactory = new BeWoControlFactory();
|
||||
var windowFactory = new BeWoWindowFactory();
|
||||
WindowService = new BeWoWindowService(windowFactory, controlFactory);
|
||||
}
|
||||
|
||||
private AnimatedBeWoWindow _CurrentAnimatedBeWoWindow;
|
||||
@@ -219,9 +217,7 @@ namespace BeWo
|
||||
}
|
||||
}
|
||||
|
||||
internal IControlFactory ControlFactory { get; set; }
|
||||
internal IWindowFactory WindowFactory { get; set; }
|
||||
internal IWindowService WindowService { get; set; }
|
||||
internal IBeWoWindowService WindowService { get; set; }
|
||||
|
||||
public List<ModalViewWindow> OpenedModalViewWindows { get; set; }
|
||||
|
||||
@@ -357,12 +353,6 @@ namespace BeWo
|
||||
case UIContext.Finance:
|
||||
view = new FinanceView();
|
||||
break;
|
||||
case UIContext.AiConversation:
|
||||
view = new AiConversationView();
|
||||
break;
|
||||
case UIContext.AiConversationPopup:
|
||||
view = new AiConversationView();
|
||||
break;
|
||||
}
|
||||
_Views[uiContext] = view;
|
||||
|
||||
@@ -1261,14 +1251,6 @@ namespace BeWo
|
||||
}
|
||||
}
|
||||
|
||||
private void button_ai_chat_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (DoSaveCheck())
|
||||
{
|
||||
NavigateTo(GetViewForUIContext(UIContext.AiConversation));
|
||||
}
|
||||
}
|
||||
|
||||
//private void button_assessmentSheetEntry_Click(object sender, RoutedEventArgs e)
|
||||
//{
|
||||
// if (this.DoSaveCheck())
|
||||
@@ -1983,14 +1965,5 @@ namespace BeWo
|
||||
NavigateTo(GetViewForUIContext(UIContext.Scheduling));
|
||||
}
|
||||
}
|
||||
|
||||
private void button_ai_chat_popup_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var view = GetViewForUIContext(UIContext.AiConversationPopup);
|
||||
|
||||
var window = BeWoWindowBuilder.GetBeWoWindow("Ai Chat", view, 800, 1200);
|
||||
|
||||
window.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
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", "16.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
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", "16.10.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.12.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Chat_Schw+Orange.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Chat_Schw.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Chat_Weiss+Orange.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Chat_Weiss.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Funktion_Schw+Gruen.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Funktion_Schw.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Funktion_Weiss+Gruen.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
BeWo/Ressources/Icons/KI/Icon_KI_Funktion_Weiss.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
@@ -5,7 +5,6 @@ using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
using BeWo.Scheduler.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace BeWo.Scheduler.Converter
|
||||
{
|
||||
|
||||
@@ -1,40 +1,71 @@
|
||||
<view:BeWoView x:Class="BeWo.Scheduler.View.MitarbeiterverfuegbarkeitsinfoView"
|
||||
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:view="clr-namespace:BeWo.View"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
mc:Ignorable="d"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
|
||||
<view:BeWoView
|
||||
x:Class="BeWo.Scheduler.View.MitarbeiterverfuegbarkeitsinfoView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:view="clr-namespace:BeWo.View"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Focusable="True"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Grid Width="Auto" Height="Auto" x:Name="root">
|
||||
<GroupBox x:Name="rootGroupBox" Style="{StaticResource PopUpWindowStyle}" Header="{markup:Translate Mitarbeiterverfügbarkeit}">
|
||||
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<dxg:GridControl DataSource="{Binding Verfuegbarkeiten}">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="Mitarbeiter" Header="{t:Translate MitarbeiterSingular}" AllowEditing="False" />
|
||||
<dxg:GridColumn FieldName="Ueberstunden" Header="Überstunden" AllowEditing="False">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings MaskUseAsDisplayFormat="True" Mask="########0.00" MaskType="Numeric" />
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AutoWidth="True" ShowGroupPanel="False" BestFitMode="AllRows"/>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="3">
|
||||
<Button Content="Schließen" Margin="0,0,3,0" Command="ApplicationCommands.Close" Height="25" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
<Grid
|
||||
x:Name="root"
|
||||
Width="Auto"
|
||||
Height="Auto">
|
||||
<GroupBox
|
||||
x:Name="rootGroupBox"
|
||||
Header="{markup:Translate Mitarbeiterverfügbarkeit}"
|
||||
Style="{StaticResource PopUpWindowStyle}">
|
||||
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<dxg:GridControl DataSource="{Binding Verfuegbarkeiten}">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="Mitarbeiter"
|
||||
Header="{t:Translate MitarbeiterSingular}" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="Ueberstunden"
|
||||
Header="Überstunden">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings
|
||||
Mask="########0.00"
|
||||
MaskType="Numeric"
|
||||
MaskUseAsDisplayFormat="True" />
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView
|
||||
AutoWidth="True"
|
||||
BestFitMode="AllRows"
|
||||
ShowGroupPanel="False" />
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
<StackPanel
|
||||
Grid.Row="1"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
Height="25"
|
||||
Margin="0,0,3,0"
|
||||
Command="ApplicationCommands.Close"
|
||||
Content="Schließen" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</view:BeWoView>
|
||||
|
||||
@@ -396,45 +396,45 @@
|
||||
<Grid x:Name="FormContainer">
|
||||
<Grid HorizontalAlignment="Stretch" Background="#0C000000">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 0 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 1 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 2 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 3 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 4 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 5 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 6 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 7 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 8 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 9 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 10 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 11 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 12 -->
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<!-- 13 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 14 -->
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<!-- 15 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 16 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 17 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 18 -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<!-- 19 -->
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
|
||||
@@ -391,7 +391,7 @@
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
<Grid Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<!-- 5 Spalten -->
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -400,7 +400,7 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<!-- 19 Zeilen -->
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
|
||||
@@ -1,127 +1,236 @@
|
||||
<localView:BeWoView x:Class="BeWo.SchulbegleitenderDienst.SchulbegleitenderDienstEmployeeView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
|
||||
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
VerticalAlignment="Stretch" Focusable="True">
|
||||
<localView:BeWoView
|
||||
x:Class="BeWo.SchulbegleitenderDienst.SchulbegleitenderDienstEmployeeView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Focusable="True">
|
||||
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
|
||||
<Grid>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox Grid.ColumnSpan="3" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
|
||||
<Grid>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox
|
||||
Grid.ColumnSpan="3"
|
||||
Padding="5"
|
||||
Header="Schulbegleitender Dienst"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="{markup:Translate EmployeePflege}" Margin="3" Grid.Row="0" Grid.Column="0" />
|
||||
<CheckBox Margin="3" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" IsChecked="{Binding Path=Pflege, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
Content="{markup:Translate EmployeePflege}" />
|
||||
<CheckBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
IsChecked="{Binding Path=Pflege, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label Content="{markup:Translate EmployeeToilettengang}" Margin="3" Grid.Row="1" Grid.Column="0" />
|
||||
<CheckBox Margin="3" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" IsChecked="{Binding Path=Toilettengang, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
Content="{markup:Translate EmployeeToilettengang}" />
|
||||
<CheckBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
IsChecked="{Binding Path=Toilettengang, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label Content="{markup:Translate EmployeeAggressivität}" Margin="3" Grid.Row="2" Grid.Column="0" />
|
||||
<CheckBox Margin="3" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" IsChecked="{Binding Path=Aggressiv, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
Content="{markup:Translate EmployeeAggressivität}" />
|
||||
<CheckBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
IsChecked="{Binding Path=Aggressiv, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label Content="{markup:Translate EmployeeHygienebelehrung}" Margin="3" Grid.Row="3" Grid.Column="0" />
|
||||
<CheckBox Margin="3" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" IsChecked="{Binding Path=Hygienebelehrung, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
Content="{markup:Translate EmployeeHygienebelehrung}" />
|
||||
<CheckBox
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
IsChecked="{Binding Path=Hygienebelehrung, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label Content="{markup:Translate EmployeeSchutzstufe}" Margin="3" Grid.Row="4" Grid.Column="0" />
|
||||
<TextBox Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="3" Margin="3" Height="23" Text="{Binding Path=Schutzstufe, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
Content="{markup:Translate EmployeeSchutzstufe}" />
|
||||
<TextBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="3"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{Binding Path=Schutzstufe, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="5"
|
||||
Grid.Column="0"
|
||||
Margin="3"
|
||||
Content="{markup:Translate CustomerBemerkungenSbd}" />
|
||||
<TextBox
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="3"
|
||||
Height="100"
|
||||
Margin="3"
|
||||
AcceptsReturn="True"
|
||||
AutoWordSelection="True"
|
||||
Text="{Binding Path=BemerkungenSbd, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
|
||||
<Label Content="{markup:Translate CustomerBemerkungenSbd}" Margin="3" Grid.Row="5" Grid.Column="0" />
|
||||
<TextBox Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="3" Margin="3" Height="100" Text="{Binding Path=BemerkungenSbd, UpdateSourceTrigger=PropertyChanged}" TextWrapping="Wrap" AcceptsReturn="True" AutoWordSelection="True" VerticalScrollBarVisibility="Auto"/>
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</GroupBox>
|
||||
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="1"
|
||||
Margin="0,10,0,0"
|
||||
Header="Wunschkriterien"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<dxe:ComboBoxEdit
|
||||
x:Name="ComboWunschAnzeige"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Width="300"
|
||||
MinHeight="150"
|
||||
Margin="3"
|
||||
VerticalContentAlignment="Top"
|
||||
ImmediatePopup="True"
|
||||
IncrementalFiltering="True"
|
||||
IsKeyboardFocusWithinChanged="ComboWunschAnzeige_OnIsKeyboardFocusWithinChanged"
|
||||
TextWrapping="Wrap">
|
||||
<dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxe:TokenComboBoxStyleSettings EnableTokenWrapping="True" NewTokenPosition="Far" />
|
||||
</dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxmvvm:Interaction.Behaviors>
|
||||
<dxe:TokenEditorBehavior x:Name="tokenEditorBehavior" TokensChanged="TokenEditorWunschBehavior_OnTokensChanged" />
|
||||
</dxmvvm:Interaction.Behaviors>
|
||||
</dxe:ComboBoxEdit>
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
Header="Ausschlusskriterien"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<dxe:ComboBoxEdit
|
||||
x:Name="ComboAusschlussAnzeige"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Width="300"
|
||||
MinHeight="150"
|
||||
Margin="3"
|
||||
VerticalContentAlignment="Top"
|
||||
ImmediatePopup="True"
|
||||
IncrementalFiltering="True"
|
||||
IsKeyboardFocusWithinChanged="ComboAusschlussAnzeige_OnIsKeyboardFocusWithinChanged"
|
||||
TextWrapping="Wrap">
|
||||
<dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxe:TokenComboBoxStyleSettings EnableTokenWrapping="True" NewTokenPosition="Far" />
|
||||
</dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxmvvm:Interaction.Behaviors>
|
||||
<dxe:TokenEditorBehavior x:Name="tokenEditorAusschlussBehavior" TokensChanged="TokenEditorAusschlussBehavior_OnTokensChanged" />
|
||||
</dxmvvm:Interaction.Behaviors>
|
||||
</dxe:ComboBoxEdit>
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
|
||||
|
||||
|
||||
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<dxe:ComboBoxEdit Margin="3" MinHeight="150" Width="300" x:Name="ComboWunschAnzeige" TextWrapping="Wrap" VerticalContentAlignment="Top" ImmediatePopup="True"
|
||||
IncrementalFiltering="True" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Grid.ColumnSpan="2" IsKeyboardFocusWithinChanged="ComboWunschAnzeige_OnIsKeyboardFocusWithinChanged" >
|
||||
<dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxe:TokenComboBoxStyleSettings NewTokenPosition="Far" EnableTokenWrapping="True" />
|
||||
</dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxmvvm:Interaction.Behaviors>
|
||||
<dxe:TokenEditorBehavior x:Name="tokenEditorBehavior" TokensChanged="TokenEditorWunschBehavior_OnTokensChanged"/>
|
||||
</dxmvvm:Interaction.Behaviors>
|
||||
</dxe:ComboBoxEdit>
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox Header="Ausschlusskriterien" Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="1" Style="{StaticResource ObjectEditGroupBox}" HorizontalAlignment="Left" Margin="0,10,0,0">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<dxe:ComboBoxEdit Margin="3" MinHeight="150" Width="300" x:Name="ComboAusschlussAnzeige" TextWrapping="Wrap" VerticalContentAlignment="Top" ImmediatePopup="True"
|
||||
IncrementalFiltering="True" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Grid.ColumnSpan="2" IsKeyboardFocusWithinChanged="ComboAusschlussAnzeige_OnIsKeyboardFocusWithinChanged" >
|
||||
<dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxe:TokenComboBoxStyleSettings NewTokenPosition="Far" EnableTokenWrapping="True" />
|
||||
</dxe:ComboBoxEdit.StyleSettings>
|
||||
<dxmvvm:Interaction.Behaviors>
|
||||
<dxe:TokenEditorBehavior x:Name="tokenEditorAusschlussBehavior" TokensChanged="TokenEditorAusschlussBehavior_OnTokensChanged"/>
|
||||
</dxmvvm:Interaction.Behaviors>
|
||||
</dxe:ComboBoxEdit>
|
||||
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</ScrollViewer>
|
||||
</localView:BeWoView>
|
||||
@@ -17,8 +17,6 @@ using BeWo.Core;
|
||||
using BeWo.Core.Service;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.View.Detail;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
|
||||
@@ -27,11 +27,9 @@ using System.Windows.Media.Imaging;
|
||||
using BeWo.Controls;
|
||||
using BeWo.Core;
|
||||
using BeWo.Core.Service;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using DevExpress.Xpf.Core;
|
||||
using DevExpress.Xpf.Editors;
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
<UserControl x:Class="BeWo.SchulbegleitenderDienst.View.AbsenceTimeEditView"
|
||||
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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
|
||||
xmlns:viewModel="clr-namespace:BeWo.SchulbegleitenderDienst.ViewModel"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{dxmvvm:ViewModelSource {x:Type viewModel:AbsenceTimeEditViewModel}}"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<UserControl
|
||||
x:Class="BeWo.SchulbegleitenderDienst.View.AbsenceTimeEditView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewModel="clr-namespace:BeWo.SchulbegleitenderDienst.ViewModel"
|
||||
d:DataContext="{dxmvvm:ViewModelSource {x:Type viewModel:AbsenceTimeEditViewModel}}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<Grid Background="White">
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -18,36 +20,116 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Content="Von: " Grid.Row="0" Grid.Column="0" Margin="10,10,2,2" Height="23"/>
|
||||
<Label Content="Bis: " Grid.Row="0" Grid.Column="2" Margin="10,10,2,2" Height="23"/>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Height="23"
|
||||
Margin="10,10,2,2"
|
||||
Content="Von: " />
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Height="23"
|
||||
Margin="10,10,2,2"
|
||||
Content="Bis: " />
|
||||
|
||||
<dxe:DateEdit Grid.Row="0" Grid.Column="1" Width="125" x:Name="DateVon" Margin="2,10,2,2" Height="23" HorizontalAlignment="Left" ToolTipService.Placement="Mouse" EditValue="{Binding Path=StartDate, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AllowNullInput="False" />
|
||||
<dxe:DateEdit Grid.Row="0" Grid.Column="3" Width="125" x:Name="DateBis" Margin="2,10,10,2" Height="23" HorizontalAlignment="Left" ToolTipService.Placement="Mouse" EditValue="{Binding Path=EndDate, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" AllowNullInput="True" />
|
||||
<dxe:DateEdit
|
||||
x:Name="DateVon"
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Width="125"
|
||||
Height="23"
|
||||
Margin="2,10,2,2"
|
||||
HorizontalAlignment="Left"
|
||||
AllowNullInput="False"
|
||||
EditValue="{Binding Path=StartDate, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTipService.Placement="Mouse" />
|
||||
<dxe:DateEdit
|
||||
x:Name="DateBis"
|
||||
Grid.Row="0"
|
||||
Grid.Column="3"
|
||||
Width="125"
|
||||
Height="23"
|
||||
Margin="2,10,10,2"
|
||||
HorizontalAlignment="Left"
|
||||
AllowNullInput="True"
|
||||
EditValue="{Binding Path=EndDate, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
||||
ToolTipService.Placement="Mouse" />
|
||||
|
||||
<CheckBox Grid.Row="0" Grid.Column="4" Margin="2,10,10,2" VerticalContentAlignment="Center" Foreground="Black" IsChecked="{Binding Path=IsAllDay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center">Ganztägig</CheckBox>
|
||||
<CheckBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="4"
|
||||
Margin="2,10,10,2"
|
||||
VerticalAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Foreground="Black"
|
||||
IsChecked="{Binding Path=IsAllDay, UpdateSourceTrigger=PropertyChanged}">
|
||||
Ganztägig
|
||||
</CheckBox>
|
||||
|
||||
<dxe:TextEdit Grid.Column="1" Grid.Row="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" x:Name="StartTimeTextEdit"
|
||||
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
|
||||
Height="23" Visibility="{Binding Path=IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" ValidateOnEnterKeyPressed="True" ValidateOnTextInput="True"
|
||||
Margin="2,4,2,2" EditValue="{Binding Path=StartTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" ToolTipService.Placement="Mouse" />
|
||||
<dxe:TextEdit
|
||||
x:Name="StartTimeTextEdit"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="2,4,2,2"
|
||||
EditValue="{Binding Path=StartTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
||||
InvalidValueBehavior="AllowLeaveEditor"
|
||||
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
||||
MaskShowPlaceHolders="True"
|
||||
MaskType="RegEx"
|
||||
MaskUseAsDisplayFormat="True"
|
||||
ShowError="False"
|
||||
ToolTipService.Placement="Mouse"
|
||||
ValidateOnEnterKeyPressed="True"
|
||||
ValidateOnTextInput="True"
|
||||
Visibility="{Binding Path=IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<dxe:TextEdit Grid.Column="3" Grid.Row="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" x:Name="EndTimeTextEdit"
|
||||
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
|
||||
Height="23" Visibility="{Binding Path=IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" ValidateOnEnterKeyPressed="True" ValidateOnTextInput="True"
|
||||
Margin="2,4,10,2" EditValue="{Binding Path=EndTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" ToolTipService.Placement="Mouse" />
|
||||
<dxe:TextEdit
|
||||
x:Name="EndTimeTextEdit"
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="2,4,10,2"
|
||||
EditValue="{Binding Path=EndTime, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
|
||||
InvalidValueBehavior="AllowLeaveEditor"
|
||||
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
||||
MaskShowPlaceHolders="True"
|
||||
MaskType="RegEx"
|
||||
MaskUseAsDisplayFormat="True"
|
||||
ShowError="False"
|
||||
ToolTipService.Placement="Mouse"
|
||||
ValidateOnEnterKeyPressed="True"
|
||||
ValidateOnTextInput="True"
|
||||
Visibility="{Binding Path=IsAllDay, Converter={StaticResource BoolVisibilityHiddenConverter}, ConverterParameter=false, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<StackPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5" Orientation="Horizontal" HorizontalAlignment="Right">
|
||||
<Button Content="Übernehmen" Command="{Binding ValidateButtonCommand}" HorizontalAlignment="Right" Margin="2,10,2,4" Height="23" />
|
||||
<Button Content="Schließen" Command="Close" HorizontalAlignment="Right" Margin="2,10,10,4" Height="23" />
|
||||
<StackPanel
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
Height="23"
|
||||
Margin="2,10,2,4"
|
||||
HorizontalAlignment="Right"
|
||||
Command="{Binding ValidateButtonCommand}"
|
||||
Content="Übernehmen" />
|
||||
<Button
|
||||
Height="23"
|
||||
Margin="2,10,10,4"
|
||||
HorizontalAlignment="Right"
|
||||
Command="Close"
|
||||
Content="Schließen" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccountingEnhancedService/GetXRechnung", ReplyAction="http://tempuri.org/IAccountingEnhancedService/GetXRechnungResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAccountingEnhancedService/GetXRechnungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.MikePHPContracts.ApiResponse<System.Tuple<BS.Shared.DataContracts.StoredFileDC, byte[]>> GetXRechnung(long invoice_base_oid, int report_type, string report_url);
|
||||
BS.Shared.DataContracts.ApiResponse<System.Tuple<BS.Shared.DataContracts.StoredFileDC, byte[]>> GetXRechnung(long invoice_base_oid, int report_type, string report_url);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -56,7 +56,7 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.MikePHPContracts.ApiResponse<System.Tuple<BS.Shared.DataContracts.StoredFileDC, byte[]>> GetXRechnung(long invoice_base_oid, int report_type, string report_url)
|
||||
public BS.Shared.DataContracts.ApiResponse<System.Tuple<BS.Shared.DataContracts.StoredFileDC, byte[]>> GetXRechnung(long invoice_base_oid, int report_type, string report_url)
|
||||
{
|
||||
return base.Channel.GetXRechnung(invoice_base_oid, report_type, report_url);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/GetAiConversations", ReplyAction="http://tempuri.org/IAiEnhancedService/GetAiConversationsResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/GetAiConversationsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(int uicontext, System.Nullable<long> oid);
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(BS.Shared.AiContextType uicontext, System.Nullable<long> oid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/CreateAiConversation", ReplyAction="http://tempuri.org/IAiEnhancedService/CreateAiConversationResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/CreateAiConversationBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
@@ -46,13 +46,57 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/CloneAiConversationBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.Feature.AI.AiConversationDC CloneAiConversation(long conversation_oid, System.Nullable<long> message_oid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/UpdateAiConversationDisplayname", ReplyAction="http://tempuri.org/IAiEnhancedService/UpdateAiConversationDisplaynameResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/UpdateAiConversationDisplaynameBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
long UpdateAiConversationDisplayname(long oid, long version, string displayname);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/DeleteAiConversation", ReplyAction="http://tempuri.org/IAiEnhancedService/DeleteAiConversationResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/DeleteAiConversationBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteAiConversation(long conversation_oid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/SendNewMessage", ReplyAction="http://tempuri.org/IAiEnhancedService/SendNewMessageResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/SendNewMessageBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.AiConversationMessageDC> SendNewMessage(long conversation, string message);
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationMessageDC> SendNewMessage(long conversation, string message);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/CheckContextSize", ReplyAction="http://tempuri.org/IAiEnhancedService/CheckContextSizeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/CheckContextSizeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
bool CheckContextSize(BS.Shared.AiContextType aiContextType, System.Collections.Generic.Dictionary<BS.Shared.TableID, System.Collections.Generic.List<long>> context, System.Nullable<long> modell_oid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/GetAiPromptbausteinFolder", ReplyAction="http://tempuri.org/IAiEnhancedService/GetAiPromptbausteinFolderResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/GetAiPromptbausteinFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> GetAiPromptbausteinFolder(BS.Shared.AiActionType aiActionType);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/InsertAiPromptbausteinFolder", ReplyAction="http://tempuri.org/IAiEnhancedService/InsertAiPromptbausteinFolderResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/InsertAiPromptbausteinFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> InsertAiPromptbausteinFolder(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> folders);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/InsertAiPromptbausteinPrompt", ReplyAction="http://tempuri.org/IAiEnhancedService/InsertAiPromptbausteinPromptResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/InsertAiPromptbausteinPromptBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> InsertAiPromptbausteinPrompt(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> prompts);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/UpdateAiPromptbausteinFolder", ReplyAction="http://tempuri.org/IAiEnhancedService/UpdateAiPromptbausteinFolderResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/UpdateAiPromptbausteinFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> UpdateAiPromptbausteinFolder(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> folders);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/UpdateAiPromptbausteinPrompt", ReplyAction="http://tempuri.org/IAiEnhancedService/UpdateAiPromptbausteinPromptResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/UpdateAiPromptbausteinPromptBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> UpdateAiPromptbausteinPrompt(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> prompts);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/DeleteAiPromptbausteinFolder", ReplyAction="http://tempuri.org/IAiEnhancedService/DeleteAiPromptbausteinFolderResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/DeleteAiPromptbausteinFolderBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteAiPromptbausteinFolder(System.Collections.Generic.Dictionary<long, long> oid2version);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/DeleteAiPromptbausteinPrompt", ReplyAction="http://tempuri.org/IAiEnhancedService/DeleteAiPromptbausteinPromptResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/DeleteAiPromptbausteinPromptBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteAiPromptbausteinPrompt(System.Collections.Generic.Dictionary<long, long> oid2version);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAiEnhancedService/ExecuteAiFunctionServiceRecordDocumentation" +
|
||||
"", ReplyAction="http://tempuri.org/IAiEnhancedService/ExecuteAiFunctionServiceRecordDocumentation" +
|
||||
"Response")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IAiEnhancedService/ExecuteAiFunctionServiceRecordDocumentation" +
|
||||
"BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords.AiFunctionDocResponse ExecuteAiFunctionServiceRecordDocumentation(BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords.AiFunctionDocRequest request);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -104,7 +148,7 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.GetAiModels();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(int uicontext, System.Nullable<long> oid)
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationDC> GetAiConversations(BS.Shared.AiContextType uicontext, System.Nullable<long> oid)
|
||||
{
|
||||
return base.Channel.GetAiConversations(uicontext, oid);
|
||||
}
|
||||
@@ -124,14 +168,64 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.CloneAiConversation(conversation_oid, message_oid);
|
||||
}
|
||||
|
||||
public long UpdateAiConversationDisplayname(long oid, long version, string displayname)
|
||||
{
|
||||
return base.Channel.UpdateAiConversationDisplayname(oid, version, displayname);
|
||||
}
|
||||
|
||||
public void DeleteAiConversation(long conversation_oid)
|
||||
{
|
||||
base.Channel.DeleteAiConversation(conversation_oid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.AiConversationMessageDC> SendNewMessage(long conversation, string message)
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiConversationMessageDC> SendNewMessage(long conversation, string message)
|
||||
{
|
||||
return base.Channel.SendNewMessage(conversation, message);
|
||||
}
|
||||
|
||||
public bool CheckContextSize(BS.Shared.AiContextType aiContextType, System.Collections.Generic.Dictionary<BS.Shared.TableID, System.Collections.Generic.List<long>> context, System.Nullable<long> modell_oid)
|
||||
{
|
||||
return base.Channel.CheckContextSize(aiContextType, context, modell_oid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> GetAiPromptbausteinFolder(BS.Shared.AiActionType aiActionType)
|
||||
{
|
||||
return base.Channel.GetAiPromptbausteinFolder(aiActionType);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> InsertAiPromptbausteinFolder(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> folders)
|
||||
{
|
||||
return base.Channel.InsertAiPromptbausteinFolder(folders);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> InsertAiPromptbausteinPrompt(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> prompts)
|
||||
{
|
||||
return base.Channel.InsertAiPromptbausteinPrompt(prompts);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> UpdateAiPromptbausteinFolder(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinFolderDC> folders)
|
||||
{
|
||||
return base.Channel.UpdateAiPromptbausteinFolder(folders);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> UpdateAiPromptbausteinPrompt(System.Collections.Generic.List<BS.Shared.DataContracts.Feature.AI.AiPromptbausteinPromptDC> prompts)
|
||||
{
|
||||
return base.Channel.UpdateAiPromptbausteinPrompt(prompts);
|
||||
}
|
||||
|
||||
public void DeleteAiPromptbausteinFolder(System.Collections.Generic.Dictionary<long, long> oid2version)
|
||||
{
|
||||
base.Channel.DeleteAiPromptbausteinFolder(oid2version);
|
||||
}
|
||||
|
||||
public void DeleteAiPromptbausteinPrompt(System.Collections.Generic.Dictionary<long, long> oid2version)
|
||||
{
|
||||
base.Channel.DeleteAiPromptbausteinPrompt(oid2version);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords.AiFunctionDocResponse ExecuteAiFunctionServiceRecordDocumentation(BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords.AiFunctionDocRequest request)
|
||||
{
|
||||
return base.Channel.ExecuteAiFunctionServiceRecordDocumentation(request);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,99 +17,6 @@ namespace BeWo.ServiceProxy
|
||||
public interface IEmployeeService
|
||||
{
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployee", ReplyAction="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompact", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsCompactResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompactBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroups", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadCompactTeam", ReplyAction="http://tempuri.org/IEmployeeService/LoadCompactTeamResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactTeamBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.Compact.CompactTeamDC LoadCompactTeam(long pTeamOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadCompactEmployee", ReplyAction="http://tempuri.org/IEmployeeService/LoadCompactEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.Compact.CompactEmployeeDC LoadCompactEmployee(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToAS", ReplyAction="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToASResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToASBeWoFaultF" +
|
||||
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
bool IsAssessmentSheetEntryBelongingToAS(long assessmentSheetCategoryOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToAS", ReplyAction="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASRespons" +
|
||||
"e")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASBeWoFau" +
|
||||
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployee", ReplyAction="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimesFromEmployee(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/GetAllOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimes();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/DeleteOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/DeleteOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteOvertimes(System.Collections.Generic.Dictionary<long, long> pOid2Version);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/InsertOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> InsertOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/UpdateOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> UpdateOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/GetAllAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> GetAllAuszahlungsarten();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/InsertAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> InsertAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/UpdateAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> UpdateAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/DeleteAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/DeleteAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteAuszahlungsarten(System.Collections.Generic.Dictionary<long, long> pOid2Version);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetTeamOidsByEmployee", ReplyAction="http://tempuri.org/IEmployeeService/GetTeamOidsByEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetTeamOidsByEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> GetTeamOidsByEmployee(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadLoggedOnEmployee", ReplyAction="http://tempuri.org/IEmployeeService/LoadLoggedOnEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadLoggedOnEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.EmployeeDC LoadLoggedOnEmployee(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllChatActiveEmployeesCompact", ReplyAction="http://tempuri.org/IEmployeeService/GetAllChatActiveEmployeesCompactResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllChatActiveEmployeesCompactBeWoFaultFaul" +
|
||||
"t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetAllChatActiveEmployeesCompact();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllEmployeeAppCodes", ReplyAction="http://tempuri.org/IEmployeeService/GetAllEmployeeAppCodesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllEmployeeAppCodesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeAPPCodeDC> GetAllEmployeeAppCodes(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeImage", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeImageResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeImageBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
byte[] GetEmployeeImage(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeThumbnail", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeThumbnailResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeThumbnailBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
byte[] GetEmployeeThumbnail(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/DeleteEmployeeCustomerRelationForEmployee", ReplyAction="http://tempuri.org/IEmployeeService/DeleteEmployeeCustomerRelationForEmployeeResp" +
|
||||
"onse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteEmployeeCustomerRelationForEmployeeBeWo" +
|
||||
@@ -305,6 +212,11 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactTeamsByOidBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> LoadCompactTeamsByOid(System.Collections.Generic.List<long> teamOids);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployee", ReplyAction="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/FindLeadingCompactTeamsOfEmployeeBeWoFaultFau" +
|
||||
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void ArchiveEmployee(long pOid, long pVersion);
|
||||
@@ -582,6 +494,94 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateGroupOfPeople", ReplyAction="http://tempuri.org/IEmployeeService/UpdateGroupOfPeopleResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateGroupOfPeopleBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
long UpdateGroupOfPeople(BS.Shared.DataContracts.GroupOfPeopleDC pGroupOfPeople);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompact", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsCompactResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsCompactBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllGroups", ReplyAction="http://tempuri.org/IEmployeeService/GetAllGroupsResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllGroupsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadCompactTeam", ReplyAction="http://tempuri.org/IEmployeeService/LoadCompactTeamResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactTeamBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.Compact.CompactTeamDC LoadCompactTeam(long pTeamOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadCompactEmployee", ReplyAction="http://tempuri.org/IEmployeeService/LoadCompactEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadCompactEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.Compact.CompactEmployeeDC LoadCompactEmployee(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToAS", ReplyAction="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToASResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetEntryBelongingToASBeWoFaultF" +
|
||||
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
bool IsAssessmentSheetEntryBelongingToAS(long assessmentSheetCategoryOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToAS", ReplyAction="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASRespons" +
|
||||
"e")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/IsAssessmentSheetCategoryBelongingToASBeWoFau" +
|
||||
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployee", ReplyAction="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllOvertimesFromEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimesFromEmployee(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/GetAllOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimes();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/DeleteOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/DeleteOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteOvertimes(System.Collections.Generic.Dictionary<long, long> pOid2Version);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/InsertOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> InsertOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateOvertimes", ReplyAction="http://tempuri.org/IEmployeeService/UpdateOvertimesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateOvertimesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> UpdateOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/GetAllAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> GetAllAuszahlungsarten();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/InsertAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> InsertAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/UpdateAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<long> UpdateAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/DeleteAuszahlungsarten", ReplyAction="http://tempuri.org/IEmployeeService/DeleteAuszahlungsartenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/DeleteAuszahlungsartenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteAuszahlungsarten(System.Collections.Generic.Dictionary<long, long> pOid2Version);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetTeamOidsByEmployee", ReplyAction="http://tempuri.org/IEmployeeService/GetTeamOidsByEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetTeamOidsByEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> GetTeamOidsByEmployee(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadLoggedOnEmployee", ReplyAction="http://tempuri.org/IEmployeeService/LoadLoggedOnEmployeeResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadLoggedOnEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
BS.Shared.DataContracts.EmployeeDC LoadLoggedOnEmployee(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllChatActiveEmployeesCompact", ReplyAction="http://tempuri.org/IEmployeeService/GetAllChatActiveEmployeesCompactResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllChatActiveEmployeesCompactBeWoFaultFaul" +
|
||||
"t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetAllChatActiveEmployeesCompact();
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllEmployeeAppCodes", ReplyAction="http://tempuri.org/IEmployeeService/GetAllEmployeeAppCodesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllEmployeeAppCodesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeAPPCodeDC> GetAllEmployeeAppCodes(long pEmployeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeImage", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeImageResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeImageBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
byte[] GetEmployeeImage(long employeeOid);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeThumbnail", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeThumbnailResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeThumbnailBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
byte[] GetEmployeeThumbnail(long employeeOid);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -618,116 +618,6 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid)
|
||||
{
|
||||
return base.Channel.FindLeadingCompactTeamsOfEmployee(employeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid)
|
||||
{
|
||||
return base.Channel.GetAllGroupsCompact(employeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid)
|
||||
{
|
||||
return base.Channel.GetAllGroups(employeeOid);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.Compact.CompactTeamDC LoadCompactTeam(long pTeamOid)
|
||||
{
|
||||
return base.Channel.LoadCompactTeam(pTeamOid);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.Compact.CompactEmployeeDC LoadCompactEmployee(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.LoadCompactEmployee(pEmployeeOid);
|
||||
}
|
||||
|
||||
public bool IsAssessmentSheetEntryBelongingToAS(long assessmentSheetCategoryOid)
|
||||
{
|
||||
return base.Channel.IsAssessmentSheetEntryBelongingToAS(assessmentSheetCategoryOid);
|
||||
}
|
||||
|
||||
public bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid)
|
||||
{
|
||||
return base.Channel.IsAssessmentSheetCategoryBelongingToAS(assessmentSheetCategoryOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimesFromEmployee(long employeeOid)
|
||||
{
|
||||
return base.Channel.GetAllOvertimesFromEmployee(employeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimes()
|
||||
{
|
||||
return base.Channel.GetAllOvertimes();
|
||||
}
|
||||
|
||||
public void DeleteOvertimes(System.Collections.Generic.Dictionary<long, long> pOid2Version)
|
||||
{
|
||||
base.Channel.DeleteOvertimes(pOid2Version);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> InsertOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes)
|
||||
{
|
||||
return base.Channel.InsertOvertimes(pOvertimes);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> UpdateOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes)
|
||||
{
|
||||
return base.Channel.UpdateOvertimes(pOvertimes);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> GetAllAuszahlungsarten()
|
||||
{
|
||||
return base.Channel.GetAllAuszahlungsarten();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> InsertAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten)
|
||||
{
|
||||
return base.Channel.InsertAuszahlungsarten(pAuszahlungsarten);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> UpdateAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten)
|
||||
{
|
||||
return base.Channel.UpdateAuszahlungsarten(pAuszahlungsarten);
|
||||
}
|
||||
|
||||
public void DeleteAuszahlungsarten(System.Collections.Generic.Dictionary<long, long> pOid2Version)
|
||||
{
|
||||
base.Channel.DeleteAuszahlungsarten(pOid2Version);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> GetTeamOidsByEmployee(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.GetTeamOidsByEmployee(pEmployeeOid);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.EmployeeDC LoadLoggedOnEmployee(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.LoadLoggedOnEmployee(pEmployeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetAllChatActiveEmployeesCompact()
|
||||
{
|
||||
return base.Channel.GetAllChatActiveEmployeesCompact();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeAPPCodeDC> GetAllEmployeeAppCodes(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.GetAllEmployeeAppCodes(pEmployeeOid);
|
||||
}
|
||||
|
||||
public byte[] GetEmployeeImage(long employeeOid)
|
||||
{
|
||||
return base.Channel.GetEmployeeImage(employeeOid);
|
||||
}
|
||||
|
||||
public byte[] GetEmployeeThumbnail(long employeeOid)
|
||||
{
|
||||
return base.Channel.GetEmployeeThumbnail(employeeOid);
|
||||
}
|
||||
|
||||
public void DeleteEmployeeCustomerRelationForEmployee(long employeeOid)
|
||||
{
|
||||
base.Channel.DeleteEmployeeCustomerRelationForEmployee(employeeOid);
|
||||
@@ -943,6 +833,11 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.LoadCompactTeamsByOid(teamOids);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid)
|
||||
{
|
||||
return base.Channel.FindLeadingCompactTeamsOfEmployee(employeeOid);
|
||||
}
|
||||
|
||||
public void ArchiveEmployee(long pOid, long pVersion)
|
||||
{
|
||||
base.Channel.ArchiveEmployee(pOid, pVersion);
|
||||
@@ -1262,5 +1157,110 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
return base.Channel.UpdateGroupOfPeople(pGroupOfPeople);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactGroupOfPeopleDC> GetAllGroupsCompact(System.Nullable<long> employeeOid)
|
||||
{
|
||||
return base.Channel.GetAllGroupsCompact(employeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC> GetAllGroups(System.Nullable<long> employeeOid)
|
||||
{
|
||||
return base.Channel.GetAllGroups(employeeOid);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.Compact.CompactTeamDC LoadCompactTeam(long pTeamOid)
|
||||
{
|
||||
return base.Channel.LoadCompactTeam(pTeamOid);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.Compact.CompactEmployeeDC LoadCompactEmployee(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.LoadCompactEmployee(pEmployeeOid);
|
||||
}
|
||||
|
||||
public bool IsAssessmentSheetEntryBelongingToAS(long assessmentSheetCategoryOid)
|
||||
{
|
||||
return base.Channel.IsAssessmentSheetEntryBelongingToAS(assessmentSheetCategoryOid);
|
||||
}
|
||||
|
||||
public bool IsAssessmentSheetCategoryBelongingToAS(long assessmentSheetCategoryOid)
|
||||
{
|
||||
return base.Channel.IsAssessmentSheetCategoryBelongingToAS(assessmentSheetCategoryOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimesFromEmployee(long employeeOid)
|
||||
{
|
||||
return base.Channel.GetAllOvertimesFromEmployee(employeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> GetAllOvertimes()
|
||||
{
|
||||
return base.Channel.GetAllOvertimes();
|
||||
}
|
||||
|
||||
public void DeleteOvertimes(System.Collections.Generic.Dictionary<long, long> pOid2Version)
|
||||
{
|
||||
base.Channel.DeleteOvertimes(pOid2Version);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> InsertOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes)
|
||||
{
|
||||
return base.Channel.InsertOvertimes(pOvertimes);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> UpdateOvertimes(System.Collections.Generic.List<BS.Shared.DataContracts.OvertimeDC> pOvertimes)
|
||||
{
|
||||
return base.Channel.UpdateOvertimes(pOvertimes);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> GetAllAuszahlungsarten()
|
||||
{
|
||||
return base.Channel.GetAllAuszahlungsarten();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> InsertAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten)
|
||||
{
|
||||
return base.Channel.InsertAuszahlungsarten(pAuszahlungsarten);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<long> UpdateAuszahlungsarten(System.Collections.Generic.List<BS.Shared.DataContracts.AuszahlungsartDC> pAuszahlungsarten)
|
||||
{
|
||||
return base.Channel.UpdateAuszahlungsarten(pAuszahlungsarten);
|
||||
}
|
||||
|
||||
public void DeleteAuszahlungsarten(System.Collections.Generic.Dictionary<long, long> pOid2Version)
|
||||
{
|
||||
base.Channel.DeleteAuszahlungsarten(pOid2Version);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactTeamDC> GetTeamOidsByEmployee(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.GetTeamOidsByEmployee(pEmployeeOid);
|
||||
}
|
||||
|
||||
public BS.Shared.DataContracts.EmployeeDC LoadLoggedOnEmployee(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.LoadLoggedOnEmployee(pEmployeeOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactEmployeeDC> GetAllChatActiveEmployeesCompact()
|
||||
{
|
||||
return base.Channel.GetAllChatActiveEmployeesCompact();
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeAPPCodeDC> GetAllEmployeeAppCodes(long pEmployeeOid)
|
||||
{
|
||||
return base.Channel.GetAllEmployeeAppCodes(pEmployeeOid);
|
||||
}
|
||||
|
||||
public byte[] GetEmployeeImage(long employeeOid)
|
||||
{
|
||||
return base.Channel.GetEmployeeImage(employeeOid);
|
||||
}
|
||||
|
||||
public byte[] GetEmployeeThumbnail(long employeeOid)
|
||||
{
|
||||
return base.Channel.GetEmployeeThumbnail(employeeOid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,18 +17,6 @@ namespace BeWo.ServiceProxy
|
||||
public interface IResourceService
|
||||
{
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/OverlappingAppointmentsExistForMultiple", ReplyAction="http://tempuri.org/IResourceService/OverlappingAppointmentsExistForMultipleRespon" +
|
||||
"se")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IResourceService/OverlappingAppointmentsExistForMultipleBeWoFa" +
|
||||
"ultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool> OverlappingAppointmentsExistForMultiple(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> appointments);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinder", ReplyAction="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinderRespo" +
|
||||
"nse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinderBeWoF" +
|
||||
"aultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>> FindAppointmentsInRangeForIntervalFinder(int duration, System.DateTime startDate, System.DateTime endDate, System.Collections.Generic.List<long> resourceOids, System.Collections.Generic.List<long> customerOids, System.Collections.Generic.List<long> employeeOids, long loggedInEmployeeOid, int intervalBuffer, bool skipWeekends);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/DeactivateResource", ReplyAction="http://tempuri.org/IResourceService/DeactivateResourceResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IResourceService/DeactivateResourceBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeactivateResource(long pOid, long pVersion);
|
||||
@@ -327,6 +315,18 @@ namespace BeWo.ServiceProxy
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IResourceService/DeleteOrUpdateSchedulerAppointmentsBeWoFaultF" +
|
||||
"ault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
void DeleteOrUpdateSchedulerAppointments(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> appointments2DeleteOrUpdate);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/OverlappingAppointmentsExistForMultiple", ReplyAction="http://tempuri.org/IResourceService/OverlappingAppointmentsExistForMultipleRespon" +
|
||||
"se")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IResourceService/OverlappingAppointmentsExistForMultipleBeWoFa" +
|
||||
"ultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool> OverlappingAppointmentsExistForMultiple(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> appointments);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinder", ReplyAction="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinderRespo" +
|
||||
"nse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IResourceService/FindAppointmentsInRangeForIntervalFinderBeWoF" +
|
||||
"aultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")]
|
||||
System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>> FindAppointmentsInRangeForIntervalFinder(int duration, System.DateTime startDate, System.DateTime endDate, System.Collections.Generic.List<long> resourceOids, System.Collections.Generic.List<long> customerOids, System.Collections.Generic.List<long> employeeOids, long loggedInEmployeeOid, int intervalBuffer, bool skipWeekends);
|
||||
}
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||
@@ -363,16 +363,6 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
}
|
||||
|
||||
public System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool> OverlappingAppointmentsExistForMultiple(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> appointments)
|
||||
{
|
||||
return base.Channel.OverlappingAppointmentsExistForMultiple(appointments);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>> FindAppointmentsInRangeForIntervalFinder(int duration, System.DateTime startDate, System.DateTime endDate, System.Collections.Generic.List<long> resourceOids, System.Collections.Generic.List<long> customerOids, System.Collections.Generic.List<long> employeeOids, long loggedInEmployeeOid, int intervalBuffer, bool skipWeekends)
|
||||
{
|
||||
return base.Channel.FindAppointmentsInRangeForIntervalFinder(duration, startDate, endDate, resourceOids, customerOids, employeeOids, loggedInEmployeeOid, intervalBuffer, skipWeekends);
|
||||
}
|
||||
|
||||
public void DeactivateResource(long pOid, long pVersion)
|
||||
{
|
||||
base.Channel.DeactivateResource(pOid, pVersion);
|
||||
@@ -692,5 +682,15 @@ namespace BeWo.ServiceProxy
|
||||
{
|
||||
base.Channel.DeleteOrUpdateSchedulerAppointments(appointments2DeleteOrUpdate);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.Dictionary<BS.Shared.DataContracts.SchedulerAppointmentDC, bool> OverlappingAppointmentsExistForMultiple(System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> appointments)
|
||||
{
|
||||
return base.Channel.OverlappingAppointmentsExistForMultiple(appointments);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.Dictionary<BS.Shared.Core.DateTimeSpan, System.Collections.Generic.Dictionary<System.DateTime, bool>> FindAppointmentsInRangeForIntervalFinder(int duration, System.DateTime startDate, System.DateTime endDate, System.Collections.Generic.List<long> resourceOids, System.Collections.Generic.List<long> customerOids, System.Collections.Generic.List<long> employeeOids, long loggedInEmployeeOid, int intervalBuffer, bool skipWeekends)
|
||||
{
|
||||
return base.Channel.FindAppointmentsInRangeForIntervalFinder(duration, startDate, endDate, resourceOids, customerOids, employeeOids, loggedInEmployeeOid, intervalBuffer, skipWeekends);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,6 @@ namespace BeWo.ServiceProxy
|
||||
{ typeof(IAiEnhancedService), new EndpointAddress(_ServerName + "AiEnhancedService.svc") },
|
||||
{ typeof(IAccountingEnhancedService), new EndpointAddress(_ServerName + "AccountingEnhancedService.svc") }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
static ServiceFacade()
|
||||
@@ -96,6 +95,8 @@ namespace BeWo.ServiceProxy
|
||||
=> DoAsync<AiEnhancedServiceClient, IAiEnhancedService>(pAction, pCallback, pErrorCallback, showWaitDialog, caller?.Dispatcher);
|
||||
public static void DoAiEnhancedServiceAsnyc<T>(Func<IAiEnhancedService, T> pFunc, Action<T> pCallback = null, Action<Exception> pErrorCallback = null, bool showWaitDialog = true, UserControl caller = null)
|
||||
=> DoAsync<AiEnhancedServiceClient, IAiEnhancedService, T>(pFunc, pCallback, pErrorCallback, showWaitDialog, caller?.Dispatcher);
|
||||
public static void DoMultipleAiEnhancedServicesAsync(List<Action<IAiEnhancedService>> pActions, Action pAllDoneCallBack)
|
||||
=> DoMulitpleAsync<AiEnhancedServiceClient, IAiEnhancedService>(pActions, pAllDoneCallBack, true);
|
||||
#endregion
|
||||
|
||||
#region OperationsEnhancedService
|
||||
|
||||
12
BeWo/Services/AiWindowService.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
public class AiWindowService
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.View.Detail.AI;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
@@ -14,16 +15,13 @@ using System.Windows.Controls;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
internal class BeWoControlFactory : IControlFactory
|
||||
public class BeWoControlFactory
|
||||
{
|
||||
public Control GetAiConversationControl(UIContext uIContext, Dictionary<TableID, long[]> context, long? reference_oid = null)
|
||||
public Control GetAiConversationControl(AiConversationChatViewModel vm)
|
||||
{
|
||||
var styleString = getStyleString(uIContext);
|
||||
var control = styleString is object ? new AiConversationChatView(styleString) : new AiConversationChatView();
|
||||
var styleString = getStyleString(vm.AiContext);
|
||||
|
||||
control.ViewModel.UIContext = (int)uIContext;
|
||||
control.ViewModel.ReferenceObjectOid = reference_oid;
|
||||
control.ViewModel.ContextBeWoObjects = context;
|
||||
var control = styleString is object ? new AiConversationChatView(vm, styleString) : new AiConversationChatView(vm);
|
||||
|
||||
return control;
|
||||
}
|
||||
@@ -54,48 +52,18 @@ namespace BeWo.Services
|
||||
return control;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private string getStyleString(UIContext uIContext) {
|
||||
private string getStyleString(AiContextType uIContext) {
|
||||
switch (uIContext)
|
||||
{
|
||||
case UIContext.SupportConcept: return "ModuleAiControlSupportConceptStyle";
|
||||
case UIContext.Customer: return "ModuleAiControlCustomerStyle";
|
||||
case UIContext.Person: return "ModuleAiControlPersonStyle";
|
||||
case UIContext.Employee: return "ModuleAiControlEmployeeStyle";
|
||||
case UIContext.Organisation: return "ModuleAiControlOrganisationStyle";
|
||||
case UIContext.Team:
|
||||
break;
|
||||
case UIContext.Dokumente:
|
||||
break;
|
||||
case UIContext.User:
|
||||
break;
|
||||
case UIContext.UserGroup:
|
||||
break;
|
||||
case UIContext.Report:
|
||||
break;
|
||||
case UIContext.Scheduler:
|
||||
break;
|
||||
case UIContext.Wohnheim:
|
||||
break;
|
||||
case UIContext.Vertretungen:
|
||||
break;
|
||||
case UIContext.CustomerTeam:
|
||||
break;
|
||||
case UIContext.Scheduling:
|
||||
break;
|
||||
case UIContext.Finance:
|
||||
break;
|
||||
case UIContext.Administration:
|
||||
break;
|
||||
case UIContext.AiConversation:
|
||||
break;
|
||||
case UIContext.AiConversationPopup:
|
||||
break;
|
||||
case UIContext.ServiceRecord: return "ModuleAiControlZeiterfassungStyle";
|
||||
case UIContext.CustomerSingle: return "ModuleAiControlCustomerStyle";
|
||||
case UIContext.PersonSingle: return "ModuleAiControlPersonStyle";
|
||||
case UIContext.EmployeeSingle: return "ModuleAiControlEmployeeStyle";
|
||||
case AiContextType.SupportConceptNavigation: return "ModuleAiControlSupportConceptStyle";
|
||||
case AiContextType.CustomerNavigation: return "ModuleAiControlCustomerStyle";
|
||||
case AiContextType.PersonNavigation: return "ModuleAiControlPersonStyle";
|
||||
case AiContextType.EmployeeNavigation: return "ModuleAiControlEmployeeStyle";
|
||||
case AiContextType.OrganisationNavigation: return "ModuleAiControlOrganisationStyle";
|
||||
case AiContextType.ServiceRecord: return "ModuleAiControlZeiterfassungStyle";
|
||||
case AiContextType.CustomerDetail: return "ModuleAiControlCustomerStyle";
|
||||
case AiContextType.PersonDetail: return "ModuleAiControlPersonStyle";
|
||||
case AiContextType.EmployeeDetail: return "ModuleAiControlEmployeeStyle";
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using BeWo.View.Detail.AI;
|
||||
using BeWo.View.Windows;
|
||||
using BeWo.View.Windows;
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BS.Shared;
|
||||
using DevExpress.Mvvm.Native;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -14,9 +15,33 @@ using System.Windows.Controls.Primitives;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
internal class BeWoWindowFactory : IWindowFactory
|
||||
public class BeWoWindowFactory
|
||||
{
|
||||
public AnimatedBeWoWindow GetAnimatedBeWoWindow(string title, Control control, double? height, double? width)
|
||||
private Dictionary<AiContextType, string> _UIContext2Header = new Dictionary<AiContextType, string>()
|
||||
{
|
||||
{AiContextType.ServiceRecord, "KI Chat: Zeiterfassung" },
|
||||
{AiContextType.CustomerNavigation, "KI Chat: Klienten Übersicht" },
|
||||
{AiContextType.PersonNavigation, "KI Chat: Personen Übersicht" },
|
||||
{AiContextType.EmployeeNavigation, "KI Chat: Mitarbeiter Übersicht" },
|
||||
{AiContextType.OrganisationNavigation, "KI Chat: Organisation Übersicht" },
|
||||
{AiContextType.SupportConceptNavigation, "KI Chat: Hilfeplan Übersicht" },
|
||||
{AiContextType.CustomerDetail, "KI Chat: Klient" },
|
||||
};
|
||||
|
||||
public Control GetModalViewWindow(string title, Control control, double height = 600, double width = 1200)
|
||||
{
|
||||
var popup = new GroupBox();
|
||||
|
||||
popup.Style = Application.Current.FindResource("PopUpWindowStyle") as Style;
|
||||
popup.Header = title;
|
||||
popup.Content = control;
|
||||
popup.Height = height;
|
||||
popup.Width = width;
|
||||
|
||||
return popup;
|
||||
}
|
||||
|
||||
public AnimatedBeWoWindow GetAnimatedBeWoWindow(string title, Control control, double? height = 600, double? width = 1200)
|
||||
{
|
||||
var beWoWindow = new AnimatedBeWoWindow();
|
||||
|
||||
@@ -39,45 +64,17 @@ namespace BeWo.Services
|
||||
return beWoWindow;
|
||||
}
|
||||
|
||||
public Control GetGenericModalViewWindow(string title, Control control, double? height , double? width)
|
||||
{
|
||||
var popup = new GroupBox();
|
||||
|
||||
popup.Style = Application.Current.FindResource("PopUpWindowStyle") as Style;
|
||||
popup.Header = title;
|
||||
popup.Content = control;
|
||||
|
||||
if(height is double h)
|
||||
popup.Height = h;
|
||||
|
||||
if (width is double w)
|
||||
popup.Width= w;
|
||||
|
||||
return popup;
|
||||
}
|
||||
|
||||
public Dictionary<UIContext, string> UIContext2Header { get; set; } = new Dictionary<UIContext, string>()
|
||||
{
|
||||
{UIContext.ServiceRecord, "KI Chat: Zeiterfassung" },
|
||||
{UIContext.Customer, "KI Chat: Klienten Übersicht" },
|
||||
{UIContext.Person, "KI Chat: Personen Übersicht" },
|
||||
{UIContext.Employee, "KI Chat: Mitarbeiter Übersicht" },
|
||||
{UIContext.Organisation, "KI Chat: Organisation Übersicht" },
|
||||
{UIContext.SupportConcept, "KI Chat: Hilfeplan Übersicht" },
|
||||
{UIContext.CustomerSingle, "KI Chat: Klient" },
|
||||
};
|
||||
|
||||
public string GetAiTitle(UIContext context)
|
||||
{
|
||||
if (UIContext2Header.TryGetValue(context, out string title))
|
||||
return title;
|
||||
|
||||
return "default";
|
||||
}
|
||||
|
||||
public string GetGkvTitle(GkvAbrechnungLightVM vm)
|
||||
{
|
||||
return "GKV-Abrechnung Nr. " + vm.Oid;
|
||||
}
|
||||
|
||||
public string GetAiTitle(AiContextType aiContextType)
|
||||
{
|
||||
if (_UIContext2Header.TryGetValue(aiContextType, out string str))
|
||||
return str;
|
||||
|
||||
return "default";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.View;
|
||||
using BeWo.View;
|
||||
using BeWo.View.Detail.AI;
|
||||
using BeWo.View.Windows;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.View.Administration;
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -15,118 +17,181 @@ using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.ComponentModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using static DevExpress.Drawing.Internal.Fonts.DXFontMetrics;
|
||||
using BeWo.ViewModel.View;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using static DevExpress.XtraPrinting.Native.ExportOptionsPropertiesNames;
|
||||
using DevExpress.Mvvm.Native;
|
||||
using BeWo.ViewModel.View.Gkv;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
internal class BeWoWindowService : IWindowService
|
||||
public class BeWoWindowOptions
|
||||
{
|
||||
private readonly IWindowFactory _windowFactory;
|
||||
private readonly IControlFactory _controlFactory;
|
||||
public bool ShowAsModal { get; set; } = false;
|
||||
public bool ShowAsDialog { get; set; } = true;
|
||||
|
||||
public BeWoWindowService(IWindowFactory builder, IControlFactory controlFactory)
|
||||
public double Height { get; set; } = 600;
|
||||
public double Width { get; set; } = 400;
|
||||
}
|
||||
|
||||
public class BeWoWindowService : IBeWoWindowService
|
||||
{
|
||||
private readonly BeWoWindowFactory _windowFactory;
|
||||
private readonly BeWoControlFactory _controlFactory;
|
||||
|
||||
public BeWoWindowService(BeWoWindowFactory builder, BeWoControlFactory controlFactory)
|
||||
{
|
||||
_windowFactory = builder;
|
||||
_controlFactory = controlFactory;
|
||||
}
|
||||
|
||||
public void ShowAiConversationWindow(UIContext uIContext, Dictionary<TableID, long[]> bewoObjects, long? reference_oid, double height, double width)
|
||||
public void Show<T>(T windowViewModel) where T : WindowViewModel
|
||||
{
|
||||
//#if !DEBUG
|
||||
// BeWoApp.ShowInfoMessage("Diese Funktion befindet sich in der Testphase.");
|
||||
// return;
|
||||
//#endif
|
||||
|
||||
ShowWindowDialog(
|
||||
wf => wf.GetAiTitle(uIContext),
|
||||
cf => cf.GetAiConversationControl(uIContext, bewoObjects, reference_oid),
|
||||
height, width);
|
||||
if(windowViewModel is AiConversationChatViewModel viewModel)
|
||||
{
|
||||
ShowAiConversationWindow(viewModel);
|
||||
}
|
||||
else if (windowViewModel is AiPromptbausteinFolderViewModel viewModel3)
|
||||
{
|
||||
ShowAiPromptbausteinFolderPopup(viewModel3);
|
||||
}
|
||||
else if(windowViewModel is AiPromptbausteinPromptViewModel viewModel4)
|
||||
{
|
||||
ShowAiPromptbausteinPromptPopup(viewModel4);
|
||||
}
|
||||
else if(windowViewModel is AiPromptbausteinActionResultViewModel viewModel5)
|
||||
{
|
||||
ShowAiPromptbausteinActionResultPopup(viewModel5);
|
||||
}
|
||||
else if(windowViewModel is AiPromptbausteinSelectionComplexViewModel viewModel6)
|
||||
{
|
||||
ShowAiPromptbausteinSelectionComplexPopup(viewModel6);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotImplementedException($"type not implemented: {typeof(T)}");
|
||||
}
|
||||
}
|
||||
public void ShowAiConversationModalViewWindow(UIContext uIContext, Dictionary<TableID, long[]> bewoObjects, long? reference_oid, double height, double width)
|
||||
{
|
||||
//#if !DEBUG
|
||||
// BeWoApp.ShowInfoMessage("Diese Funktion befindet sich in der Testphase.");
|
||||
// return;
|
||||
//#endif
|
||||
|
||||
ShowModalViewWindow(
|
||||
wf => wf.GetAiTitle(uIContext),
|
||||
cf => cf.GetAiConversationControl(uIContext, bewoObjects, reference_oid),
|
||||
height, width);
|
||||
public void ShowAiConversationWindow(AiConversationChatViewModel viewModel)
|
||||
{
|
||||
var control = _controlFactory.GetAiConversationControl(viewModel);
|
||||
var title = _windowFactory.GetAiTitle(viewModel.AiContext);
|
||||
var options = new BeWoWindowOptions()
|
||||
{
|
||||
Height = 600,
|
||||
Width = 1200
|
||||
};
|
||||
Show(title, control, viewModel, options);
|
||||
}
|
||||
public void ShowAiPromptbausteinFolderPopup(AiPromptbausteinFolderViewModel viewModel)
|
||||
{
|
||||
var control = new AiPromptbausteinFolderView(viewModel);
|
||||
var options = new BeWoWindowOptions()
|
||||
{
|
||||
Height = 400,
|
||||
Width = 600
|
||||
};
|
||||
Show("KI Promptbaustein Ordner", control, viewModel, options);
|
||||
}
|
||||
public void ShowAiPromptbausteinPromptPopup(AiPromptbausteinPromptViewModel viewModel)
|
||||
{
|
||||
var control = new AiPromptbausteinPromptView(viewModel);
|
||||
var options = new BeWoWindowOptions()
|
||||
{
|
||||
Height = 400,
|
||||
Width = 600
|
||||
};
|
||||
Show("KI Promptbaustein Prompt", control, viewModel, options);
|
||||
}
|
||||
public void ShowAiPromptbausteinActionResultPopup(AiPromptbausteinActionResultViewModel viewModel)
|
||||
{
|
||||
var control = new AiPromptbausteinActionResultView(viewModel);
|
||||
var options = new BeWoWindowOptions()
|
||||
{
|
||||
Height = 400,
|
||||
Width = 600
|
||||
};
|
||||
Show("KI Promptbaustein Ergebnis", control, viewModel, options);
|
||||
}
|
||||
|
||||
public void ShowAiPromptbausteinSelectionComplexPopup(AiPromptbausteinSelectionComplexViewModel viewModel)
|
||||
{
|
||||
var control = new AiPromptbausteinComplexSelectionView(viewModel);
|
||||
var options = new BeWoWindowOptions()
|
||||
{
|
||||
Height = 400,
|
||||
Width = 600
|
||||
};
|
||||
Show("KI Promptbaustein Auswahl", control, viewModel, options);
|
||||
}
|
||||
|
||||
|
||||
public void ShowGkvAbrechnungDetailWindow(GkvAbrechnungDialogViewModel vm)
|
||||
{
|
||||
var control = _controlFactory.GetGkvAbrechnungDetailControl(vm.Abrechnung);
|
||||
var title = _windowFactory.GetGkvTitle(vm.Abrechnung);
|
||||
var options = new BeWoWindowOptions()
|
||||
{
|
||||
Height = 900,
|
||||
Width = 600
|
||||
};
|
||||
Show(title, control, vm, options);
|
||||
}
|
||||
|
||||
public void ShowERechnungWindow(MemoryStream pdf)
|
||||
{
|
||||
ShowWindowDialog(
|
||||
"E-Rechnung",
|
||||
cf => cf.GetPdfViewer(pdf));
|
||||
var control = _controlFactory.GetPdfViewer(pdf);
|
||||
var options = new BeWoWindowOptions();
|
||||
Show("E-Rechnung", control, null, options);
|
||||
}
|
||||
|
||||
public void ShowERechnungModalViewWindow(MemoryStream pdf)
|
||||
public void ShowTextViewerWindow(string title, string text, BeWoWindowOptions pOptions = null)
|
||||
{
|
||||
ShowModalViewWindow(
|
||||
"E-Rechnung",
|
||||
cf => cf.GetPdfViewer(pdf));
|
||||
if(pOptions is null)
|
||||
pOptions = new BeWoWindowOptions();
|
||||
|
||||
var control = _controlFactory.GetTextViewer(text);
|
||||
Show(title, control, null, pOptions);
|
||||
}
|
||||
|
||||
public void ShowTextViewerWindow(string title, string text, double height, double width)
|
||||
public void ShowPdfViewerWindow(string title, MemoryStream pdf, BeWoWindowOptions pOptions = null)
|
||||
{
|
||||
ShowWindowDialog(
|
||||
title,
|
||||
cf => cf.GetTextViewer(text),
|
||||
height, width);
|
||||
if (pOptions is null)
|
||||
pOptions = new BeWoWindowOptions();
|
||||
|
||||
var control = _controlFactory.GetPdfViewer(pdf);
|
||||
Show(title, control, null, pOptions);
|
||||
}
|
||||
|
||||
public void ShowPdfViewerWindow(string title, MemoryStream pdf, double height = 900, double width = 600)
|
||||
private void Show(string title, Control control, WindowViewModel windowViewModel, BeWoWindowOptions options)
|
||||
{
|
||||
ShowWindowDialog(title,
|
||||
cf => cf.GetPdfViewer(pdf),
|
||||
height, width);
|
||||
}
|
||||
if (options.ShowAsModal)
|
||||
{
|
||||
var modal = _windowFactory.GetModalViewWindow(title, control, options.Height, options.Width);
|
||||
modal.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => BeWoApp.MainControl.CloseCurrentPopUp()));
|
||||
BeWoApp.MainControl.ShowControlAsModalPopup(modal);
|
||||
}
|
||||
else
|
||||
{
|
||||
var window = _windowFactory.GetAnimatedBeWoWindow(title, control, options.Height, options.Width);
|
||||
|
||||
public void ShowPdfViewerModalViewWindow(string title, MemoryStream pdf)
|
||||
{
|
||||
ShowModalViewWindow(title,
|
||||
cf => cf.GetPdfViewer(pdf));
|
||||
}
|
||||
if(windowViewModel is DialogViewModel dialogViewModel)
|
||||
{
|
||||
dialogViewModel.RequestClose += (s, e) => window.Close();
|
||||
}
|
||||
|
||||
public void ShowGkvAbrechnungDetailWindow(GkvAbrechnungLightVM vm, CancelEventHandler cancelEvent, double height, double width)
|
||||
{
|
||||
// Kleiner Hack
|
||||
// - Ggf WindowFactory kapselt Zuorgnudn von Control zu Window
|
||||
var title = _windowFactory.GetGkvTitle(vm);
|
||||
var control = _controlFactory.GetGkvAbrechnungDetailControl(vm);
|
||||
var window = _windowFactory.GetAnimatedBeWoWindow(title, control, height, width);
|
||||
window.Closing += cancelEvent;
|
||||
window.ShowDialog();
|
||||
}
|
||||
|
||||
private void ShowWindow(Func<IWindowFactory, string> getTitle, Func<IControlFactory, Control> getControl, double height, double width)
|
||||
=> ShowWindow(getTitle(_windowFactory), getControl, height, width);
|
||||
private void ShowWindowDialog(Func<IWindowFactory, string> getTitle, Func<IControlFactory, Control> getControl, double? height = null, double? width = null)
|
||||
=> ShowWindowDialog(getTitle(_windowFactory), getControl, height, width);
|
||||
private void ShowModalViewWindow(Func<IWindowFactory, string> getTitle, Func<IControlFactory, Control> getControl, double? height = null, double? width = null)
|
||||
=> ShowModalViewWindow(getTitle(_windowFactory), getControl, height, width);
|
||||
|
||||
private void ShowWindow(string title, Func<IControlFactory, Control> getControl, double? height = null, double? width = null)
|
||||
{
|
||||
var control = getControl(_controlFactory);
|
||||
var window = _windowFactory.GetAnimatedBeWoWindow(title, control, height, width);
|
||||
window.Show();
|
||||
}
|
||||
|
||||
private void ShowWindowDialog(string title, Func<IControlFactory, Control> getControl, double? height = null, double? width = null)
|
||||
{
|
||||
var control = getControl(_controlFactory);
|
||||
var window = _windowFactory.GetAnimatedBeWoWindow(title, control, height, width);
|
||||
window.ShowDialog();
|
||||
}
|
||||
|
||||
private void ShowModalViewWindow(string title, Func<IControlFactory, Control> getControl, double? height = null, double? width = null)
|
||||
{
|
||||
var control = getControl(_controlFactory);
|
||||
var window = _windowFactory.GetGenericModalViewWindow(title, control, height, width);
|
||||
window.CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) => BeWoApp.MainControl.CloseCurrentPopUp()));
|
||||
BeWoApp.MainControl.ShowControlAsModalPopup(window);
|
||||
if (options.ShowAsDialog)
|
||||
{
|
||||
window.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
window.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
38
BeWo/Services/IBeWoWindowService.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BeWo.ViewModel.View;
|
||||
using BeWo.ViewModel.View.Administration;
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BeWo.ViewModel.View.Gkv;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
public interface IBeWoWindowService
|
||||
{
|
||||
#region special
|
||||
void ShowAiConversationWindow(AiConversationChatViewModel viewModel);
|
||||
void ShowGkvAbrechnungDetailWindow(GkvAbrechnungDialogViewModel vm);
|
||||
#endregion
|
||||
|
||||
#region base extended
|
||||
void ShowERechnungWindow(MemoryStream pdf);
|
||||
#endregion
|
||||
|
||||
#region base
|
||||
void ShowTextViewerWindow(string title, string text, BeWoWindowOptions pOptions = null);
|
||||
void ShowPdfViewerWindow(string title, MemoryStream pdf, BeWoWindowOptions pOptions = null);
|
||||
#endregion
|
||||
|
||||
void Show<T>(T windowViewModel) where T : WindowViewModel;
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
using BeWo.View.Controls;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
internal interface IControlFactory
|
||||
{
|
||||
Control GetAiConversationControl(UIContext uIContext, Dictionary<TableID, long[]> context, long? reference_oid = null);
|
||||
|
||||
PdfViewer GetPdfViewer(MemoryStream ms);
|
||||
PdfViewer GetPdfViewer(byte[] bytes);
|
||||
|
||||
TextViewer GetTextViewer(string text);
|
||||
|
||||
GkvAbrechnungDetailControl GetGkvAbrechnungDetailControl(GkvAbrechnungLightVM vm);
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
using BeWo.View.Windows;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
internal interface IWindowFactory
|
||||
{
|
||||
AnimatedBeWoWindow GetAnimatedBeWoWindow(string title, Control control, double? height = null, double? width = null);
|
||||
Control GetGenericModalViewWindow(string title, Control control, double? height = null, double? width = null);
|
||||
|
||||
string GetAiTitle(UIContext context);
|
||||
string GetGkvTitle(GkvAbrechnungLightVM vm);
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace BeWo.Services
|
||||
{
|
||||
internal interface IWindowService
|
||||
{
|
||||
#region special
|
||||
void ShowAiConversationWindow(UIContext uIContext, Dictionary<TableID, long[]> bewoObjects, long? reference_oid = null, double height = 600, double width = 1200);
|
||||
void ShowAiConversationModalViewWindow(UIContext uIContext, Dictionary<TableID, long[]> bewoObjects, long? reference_oid = null, double height = 600, double width = 1200);
|
||||
|
||||
void ShowGkvAbrechnungDetailWindow(GkvAbrechnungLightVM vm, CancelEventHandler cancelEvent, double height = 900, double width = 600);
|
||||
#endregion
|
||||
|
||||
#region base extended
|
||||
void ShowERechnungWindow(MemoryStream pdf);
|
||||
void ShowERechnungModalViewWindow(MemoryStream pdf);
|
||||
#endregion
|
||||
|
||||
#region base
|
||||
void ShowTextViewerWindow(string title, string text, double height = 900, double width = 600);
|
||||
|
||||
void ShowPdfViewerWindow(string title, MemoryStream pdf, double height = 900, double width = 600);
|
||||
void ShowPdfViewerModalViewWindow(string title, MemoryStream pdf);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -112,11 +112,11 @@
|
||||
|
||||
<Color x:Key="ModuleAiControlZeiterfassungNavigationHeaderColor">#FF5C1919</Color>
|
||||
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor">#FF993B3B</Color>
|
||||
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF5C1919</Color>
|
||||
<Color x:Key="ModuleAiControlZeiterfassungNavigationContentColor2">#FF893535</Color>
|
||||
|
||||
<Color x:Key="ModuleAiControlSupportConceptNavigationHeaderColor">#FF5C1919</Color>
|
||||
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor">#FF993B3B</Color>
|
||||
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor2">#FF5C1919</Color>
|
||||
<Color x:Key="ModuleAiControlSupportConceptNavigationContentColor2">#FF893535</Color>
|
||||
|
||||
<Color x:Key="ModuleAiControlCustomerNavigationHeaderColor">#FF19485C</Color>
|
||||
<Color x:Key="ModuleAiControlCustomerNavigationContentColor">#FF3B7799</Color>
|
||||
|
||||
@@ -230,6 +230,85 @@
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="PopupToolbarButtonSmallStyle"
|
||||
BasedOn="{StaticResource HideDisabledButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Setter Property="Foreground" Value="#FFFFFFFF" />
|
||||
<Setter Property="FontWeight" Value="Medium" />
|
||||
<Setter Property="FontSize" Value="16" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Button}">
|
||||
<ControlTemplate.Resources>
|
||||
<Storyboard x:Key="Storyboard1">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
AccelerationRatio="1"
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="contentPresenter"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
|
||||
Duration="00:00:00.2">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.2" Value="1.15" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
AccelerationRatio="1"
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="contentPresenter"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
|
||||
Duration="00:00:00.2">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.2" Value="1.15" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
<Storyboard x:Key="Storyboard2">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
DecelerationRatio="1"
|
||||
Storyboard.TargetName="contentPresenter"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
|
||||
Duration="00:00:00.2">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.2" Value="1" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
DecelerationRatio="1"
|
||||
Storyboard.TargetName="contentPresenter"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
|
||||
Duration="00:00:00.2">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.2" Value="1" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</ControlTemplate.Resources>
|
||||
<ContentPresenter
|
||||
x:Name="contentPresenter"
|
||||
Width="Auto"
|
||||
Margin="3,0,3,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<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>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Trigger.ExitActions>
|
||||
<BeginStoryboard x:Name="Storyboard2_BeginStoryboard" Storyboard="{StaticResource Storyboard2}" />
|
||||
</Trigger.ExitActions>
|
||||
<Trigger.EnterActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard1}" />
|
||||
</Trigger.EnterActions>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<!-- EndRegion -->
|
||||
|
||||
<!-- Region Weiße Buttons im MainNavigationView -->
|
||||
@@ -314,4 +393,52 @@
|
||||
<Setter Property="FontSize" Value="16" />
|
||||
</Style>
|
||||
<!-- EndRegion -->
|
||||
|
||||
<Style
|
||||
x:Key="ButtonPreviousStyle"
|
||||
BasedOn="{StaticResource HideDisabledButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Setter Property="Width" Value="25" />
|
||||
<Setter Property="Height" Value="25" />
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Content">
|
||||
<Setter.Value>
|
||||
<Image
|
||||
Width="20"
|
||||
Height="18"
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Source="..\..\Ressources\Icons\Undo.png" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="ButtonRedoStyle"
|
||||
BasedOn="{StaticResource HideDisabledButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Setter Property="Width" Value="25" />
|
||||
<Setter Property="Height" Value="25" />
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Content">
|
||||
<Setter.Value>
|
||||
<Image
|
||||
Width="20"
|
||||
Height="18"
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Source="..\..\Ressources\Icons\Undo.png" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="RenderTransform">
|
||||
<Setter.Value>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="-1" />
|
||||
<TranslateTransform X="25" />
|
||||
</TransformGroup>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -16,4 +16,19 @@
|
||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||
<Setter Property="Margin" Value="3,-6,3,6" />
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="PopupWhiteLabel"
|
||||
BasedOn="{StaticResource BaseLabel}"
|
||||
TargetType="Label">
|
||||
<Setter Property="Foreground" Value="{DynamicResource TextForegroundPrimary}" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
<Setter Property="FontWeight" Value="Medium" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
<Setter Property="Foreground" Value="{DynamicResource TextForegroundSecondary}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
31
BeWo/Styles/ControlStyles/PopupStyles.xaml
Normal file
@@ -0,0 +1,31 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Eine Ease-Out-Funktion für eine sanfte Bewegung -->
|
||||
<QuadraticEase x:Key="EaseOut" EasingMode="EaseOut" />
|
||||
|
||||
<Storyboard x:Key="PopupLoadedAnimation">
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
From="0"
|
||||
To="1"
|
||||
Duration="0:0:0.1" />
|
||||
<DoubleAnimation
|
||||
EasingFunction="{StaticResource EaseOut}"
|
||||
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.Y)"
|
||||
From="50"
|
||||
To="0"
|
||||
Duration="0:0:0.1" />
|
||||
</Storyboard>
|
||||
<Storyboard x:Key="PopupClosingAnimation">
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
From="1"
|
||||
To="0"
|
||||
Duration="0:0:0.05" />
|
||||
<DoubleAnimation
|
||||
EasingFunction="{StaticResource EaseOut}"
|
||||
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.Y)"
|
||||
From="0"
|
||||
To="50"
|
||||
Duration="0:0:0.05" />
|
||||
</Storyboard>
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +1,53 @@
|
||||
<ResourceDictionary
|
||||
x:Class="BeWo.Styles.DataTemplates.DataTemplates"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:conv="clr-namespace:BeWo.Converter" />
|
||||
xmlns:conv="clr-namespace:BeWo.Converter"
|
||||
xmlns:vm="clr-namespace:BeWo.ViewModel"
|
||||
x:ClassModifier="public">
|
||||
|
||||
<HierarchicalDataTemplate
|
||||
x:Key="ai_promptbaustein_folder_itemtemplate"
|
||||
DataType="{x:Type vm:AiPromptbausteinFolderVM}"
|
||||
ItemsSource="{Binding Path=SubFolders.VMList}">
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox
|
||||
Height="21"
|
||||
Margin="0,0,0,0"
|
||||
Padding="0,3,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Cursor="Arrow"
|
||||
Focusable="False"
|
||||
FontWeight="{Binding FontWeight}"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Displayname, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
|
||||
ToolTipService.ShowDuration="100000">
|
||||
<TextBox.ToolTip>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Label Content="{Binding Path=Title, Mode=OneWay}" FontWeight="Bold" />
|
||||
<TextBox
|
||||
MaxWidth="500"
|
||||
Padding="3,1,0,0"
|
||||
VerticalAlignment="Center"
|
||||
AcceptsReturn="True"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Description}"
|
||||
TextWrapping="Wrap" />
|
||||
</StackPanel>
|
||||
</TextBox.ToolTip>
|
||||
</TextBox>
|
||||
</Grid>
|
||||
</HierarchicalDataTemplate>
|
||||
</ResourceDictionary>
|
||||
20
BeWo/Styles/DataTemplates/DataTemplates.xaml.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using BeWo.Core;
|
||||
using BeWo.View.Detail.AI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace BeWo.Styles.DataTemplates
|
||||
{
|
||||
partial class DataTemplates : ResourceDictionary
|
||||
{
|
||||
public DataTemplates()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
46
BeWo/Styles/Designs/AI/IconKIChatSchwarz.xaml
Normal file
@@ -0,0 +1,46 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIChatSchwarz"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg11"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g9">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path2"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M244.27 79.58c-.05-8.1-6.56-14.44-14.81-14.44h-9.01s-11.17 0-11.17 0c-8.93 0-17.87 0-26.8 0-8.13 0-14.78 6.39-14.81 14.23-.06 15.44-.11 31.89.03 48.3.05 5.88 3.11 10.38 8.86 13.04 2.61 1.2 5.31 1.2 7.9 1.18h.53s.08 0 .12 0v.08c-.02 2.53-.03 5.07-.03 7.61 0 2.43 0 4.85-.02 7.27-.02 2.52 1 4.26 3.04 5.17.75.34 1.51.5 2.25.5 1.3 0 2.56-.52 3.67-1.54l5.05-4.62c2.5-2.29 5.01-4.58 7.5-6.88 2.57-2.36 5.11-4.75 7.64-7.16.53-.5.89-.57 1.3-.55 1.2.09 2.41.16 3.61.16 12.81 0-3.34-.02 9.47-.07 1.46 0 3.15-.04 4.7-.47 6.85-1.88 10.95-7.19 10.99-14.21.08-18.35.08-33.48 0-47.61ZM195.38 136.66c-.06-3.01-2.31-5.2-5.34-5.21h-3.39c-1.41 0-2.81.01-4.22 0-2.46-.02-4.15-1.6-4.3-4.04-.04-.64-.04-1.28-.04-1.92v-.39s0-44.42 0-44.42c0-2.81.88-4.23 3.02-4.92.5-.16 1.12-.18 1.65-.18 25.12-.01 21.29-.01 46.4 0 3.09 0 4.72 1.64 4.72 4.72 0 15.49 0 30.97 0 46.46 0 3.02-1.69 4.69-4.77 4.69h-5.54c-12.92 0 3.1.01-9.82-.02h-.03c-2.08 0-3.73.65-5.19 2.03-3.5 3.32-7.05 6.58-10.6 9.85l-1.87 1.72c-.22.2-.45.4-.68.59v-5.45c0-1.17 0-2.35-.01-3.51Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path4"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
46
BeWo/Styles/Designs/AI/IconKIChatSchwarzOrange.xaml
Normal file
@@ -0,0 +1,46 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIChatSchwarzOrange"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg15"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g13">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#FF5F00">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M244.27 79.58c-.05-8.1-6.56-14.44-14.81-14.44h-9.01s-11.17 0-11.17 0c-8.93 0-17.87 0-26.8 0-8.13 0-14.78 6.39-14.81 14.23-.06 15.44-.11 31.89.03 48.3.05 5.88 3.11 10.38 8.86 13.04 2.61 1.2 5.31 1.2 7.9 1.18h.53s.08 0 .12 0v.08c-.02 2.53-.03 5.07-.03 7.61 0 2.43 0 4.85-.02 7.27-.02 2.52 1 4.26 3.04 5.17.75.34 1.51.5 2.25.5 1.3 0 2.56-.52 3.67-1.54l5.05-4.62c2.5-2.29 5.01-4.58 7.5-6.88 2.57-2.36 5.11-4.75 7.64-7.16.53-.5.89-.57 1.3-.55 1.2.09 2.41.16 3.61.16 12.81 0-3.34-.02 9.47-.07 1.46 0 3.15-.04 4.7-.47 6.85-1.88 10.95-7.19 10.99-14.21.08-18.35.08-33.48 0-47.61ZM195.38 136.66c-.06-3.01-2.31-5.2-5.34-5.21h-3.39c-1.41 0-2.81.01-4.22 0-2.46-.02-4.15-1.6-4.3-4.04-.04-.64-.04-1.28-.04-1.92v-.39s0-44.42 0-44.42c0-2.81.88-4.23 3.02-4.92.5-.16 1.12-.18 1.65-.18 25.12-.01 21.29-.01 46.4 0 3.09 0 4.72 1.64 4.72 4.72 0 15.49 0 30.97 0 46.46 0 3.02-1.69 4.69-4.77 4.69h-5.54c-12.92 0 3.1.01-9.82-.02h-.03c-2.08 0-3.73.65-5.19 2.03-3.5 3.32-7.05 6.58-10.6 9.85l-1.87 1.72c-.22.2-.45.4-.68.59v-5.45c0-1.17 0-2.35-.01-3.51Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path8"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path10"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
45
BeWo/Styles/Designs/AI/IconKIChatWeiss.xaml
Normal file
@@ -0,0 +1,45 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIChatWeiss"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg15"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g13">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M244.27 79.58c-.05-8.1-6.56-14.44-14.81-14.44h-9.01s-11.17 0-11.17 0c-8.93 0-17.87 0-26.8 0-8.13 0-14.78 6.39-14.81 14.23-.06 15.44-.11 31.89.03 48.3.05 5.88 3.11 10.38 8.86 13.04 2.61 1.2 5.31 1.2 7.9 1.18h.53s.08 0 .12 0v.08c-.02 2.53-.03 5.07-.03 7.61 0 2.43 0 4.85-.02 7.27-.02 2.52 1 4.26 3.04 5.17.75.34 1.51.5 2.25.5 1.3 0 2.56-.52 3.67-1.54l5.05-4.62c2.5-2.29 5.01-4.58 7.5-6.88 2.57-2.36 5.11-4.75 7.64-7.16.53-.5.89-.57 1.3-.55 1.2.09 2.41.16 3.61.16 12.81 0-3.34-.02 9.47-.07 1.46 0 3.15-.04 4.7-.47 6.85-1.88 10.95-7.19 10.99-14.21.08-18.35.08-33.48 0-47.61ZM195.38 136.66c-.06-3.01-2.31-5.2-5.34-5.21h-3.39c-1.41 0-2.81.01-4.22 0-2.46-.02-4.15-1.6-4.3-4.04-.04-.64-.04-1.28-.04-1.92v-.39s0-44.42 0-44.42c0-2.81.88-4.23 3.02-4.92.5-.16 1.12-.18 1.65-.18 25.12-.01 21.29-.01 46.4 0 3.09 0 4.72 1.64 4.72 4.72 0 15.49 0 30.97 0 46.46 0 3.02-1.69 4.69-4.77 4.69h-5.54c-12.92 0 3.1.01-9.82-.02h-.03c-2.08 0-3.73.65-5.19 2.03-3.5 3.32-7.05 6.58-10.6 9.85l-1.87 1.72c-.22.2-.45.4-.68.59v-5.45c0-1.17 0-2.35-.01-3.51Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path8"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path10"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
</ResourceDictionary>
|
||||
47
BeWo/Styles/Designs/AI/IconKIChatWeissOrange.xaml
Normal file
@@ -0,0 +1,47 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIChatWeissOrange"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg15"
|
||||
Width="257.1"
|
||||
Height="255.97"
|
||||
Background="Transparent">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g13">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#FF5F00">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M244.27 79.58c-.05-8.1-6.56-14.44-14.81-14.44h-9.01s-11.17 0-11.17 0c-8.93 0-17.87 0-26.8 0-8.13 0-14.78 6.39-14.81 14.23-.06 15.44-.11 31.89.03 48.3.05 5.88 3.11 10.38 8.86 13.04 2.61 1.2 5.31 1.2 7.9 1.18h.53s.08 0 .12 0v.08c-.02 2.53-.03 5.07-.03 7.61 0 2.43 0 4.85-.02 7.27-.02 2.52 1 4.26 3.04 5.17.75.34 1.51.5 2.25.5 1.3 0 2.56-.52 3.67-1.54l5.05-4.62c2.5-2.29 5.01-4.58 7.5-6.88 2.57-2.36 5.11-4.75 7.64-7.16.53-.5.89-.57 1.3-.55 1.2.09 2.41.16 3.61.16 12.81 0-3.34-.02 9.47-.07 1.46 0 3.15-.04 4.7-.47 6.85-1.88 10.95-7.19 10.99-14.21.08-18.35.08-33.48 0-47.61ZM195.38 136.66c-.06-3.01-2.31-5.2-5.34-5.21h-3.39c-1.41 0-2.81.01-4.22 0-2.46-.02-4.15-1.6-4.3-4.04-.04-.64-.04-1.28-.04-1.92v-.39s0-44.42 0-44.42c0-2.81.88-4.23 3.02-4.92.5-.16 1.12-.18 1.65-.18 25.12-.01 21.29-.01 46.4 0 3.09 0 4.72 1.64 4.72 4.72 0 15.49 0 30.97 0 46.46 0 3.02-1.69 4.69-4.77 4.69h-5.54c-12.92 0 3.1.01-9.82-.02h-.03c-2.08 0-3.73.65-5.19 2.03-3.5 3.32-7.05 6.58-10.6 9.85l-1.87 1.72c-.22.2-.45.4-.68.59v-5.45c0-1.17 0-2.35-.01-3.51Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path8"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path10"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
46
BeWo/Styles/Designs/AI/IconKIFunktionSchwarz.xaml
Normal file
@@ -0,0 +1,46 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIFunktionSchwarz"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg11"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g9">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path2"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M206.14 65.1c-21.34 0-38.64 17.3-38.64 38.64s17.3 38.64 38.64 38.64 38.64-17.3 38.64-38.64-17.3-38.64-38.64-38.64ZM227.47 94.47l-25.76 25.75c-.31.31-.64.56-.98.74-.44.39-1.02.51-1.53.37-.25-.04-.47-.14-.63-.3l-4.92-4.92c-.06-.06-.11-.13-.15-.2l-9.36-9.36c-.61-.61-.58-1.63.06-2.27l4.92-4.92c.64-.64 1.66-.67 2.27-.06l8.37 8.37 20.45-20.45c1.09-1.09 2.5-1.45 3.14-.8l4.92 4.92c.64.65.28 2.05-.8 3.14Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path4"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
46
BeWo/Styles/Designs/AI/IconKIFunktionSchwarzGruen.xaml
Normal file
@@ -0,0 +1,46 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIFunktionSchwarzGruen"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg15"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g13">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#65B231">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M206.14 65.1c-21.34 0-38.64 17.3-38.64 38.64s17.3 38.64 38.64 38.64 38.64-17.3 38.64-38.64-17.3-38.64-38.64-38.64ZM227.47 94.47l-25.76 25.75c-.31.31-.64.56-.98.74-.44.39-1.02.51-1.53.37-.25-.04-.47-.14-.63-.3l-4.92-4.92c-.06-.06-.11-.13-.15-.2l-9.36-9.36c-.61-.61-.58-1.63.06-2.27l4.92-4.92c.64-.64 1.66-.67 2.27-.06l8.37 8.37 20.45-20.45c1.09-1.09 2.5-1.45 3.14-.8l4.92 4.92c.64.65.28 2.05-.8 3.14Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path8"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path10"
|
||||
Fill="#000000">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
46
BeWo/Styles/Designs/AI/IconKIFunktionWeiss.xaml
Normal file
@@ -0,0 +1,46 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIFunktionWeiss"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg15"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g13">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M206.14 65.1c-21.34 0-38.64 17.3-38.64 38.64s17.3 38.64 38.64 38.64 38.64-17.3 38.64-38.64-17.3-38.64-38.64-38.64ZM227.47 94.47l-25.76 25.75c-.31.31-.64.56-.98.74-.44.39-1.02.51-1.53.37-.25-.04-.47-.14-.63-.3l-4.92-4.92c-.06-.06-.11-.13-.15-.2l-9.36-9.36c-.61-.61-.58-1.63.06-2.27l4.92-4.92c.64-.64 1.66-.67 2.27-.06l8.37 8.37 20.45-20.45c1.09-1.09 2.5-1.45 3.14-.8l4.92 4.92c.64.65.28 2.05-.8 3.14Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path8"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path10"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
46
BeWo/Styles/Designs/AI/IconKIFunktionWeissGruen.xaml
Normal file
@@ -0,0 +1,46 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Viewbox
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
x:Key="AiDesignsIconKIFunktionWeissGruen"
|
||||
Stretch="Uniform">
|
||||
<Canvas
|
||||
Name="svg15"
|
||||
Width="257.1"
|
||||
Height="255.97">
|
||||
<Canvas.RenderTransform>
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</Canvas.RenderTransform>
|
||||
<Canvas.Resources />
|
||||
<!-- Unknown tag: sodipodi:namedview -->
|
||||
<Canvas Name="g13">
|
||||
<Canvas Name="Ebene_1">
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path6"
|
||||
Fill="#65B231">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M206.14 65.1c-21.34 0-38.64 17.3-38.64 38.64s17.3 38.64 38.64 38.64 38.64-17.3 38.64-38.64-17.3-38.64-38.64-38.64ZM227.47 94.47l-25.76 25.75c-.31.31-.64.56-.98.74-.44.39-1.02.51-1.53.37-.25-.04-.47-.14-.63-.3l-4.92-4.92c-.06-.06-.11-.13-.15-.2l-9.36-9.36c-.61-.61-.58-1.63.06-2.27l4.92-4.92c.64-.64 1.66-.67 2.27-.06l8.37 8.37 20.45-20.45c1.09-1.09 2.5-1.45 3.14-.8l4.92 4.92c.64.65.28 2.05-.8 3.14Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path8"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M128.82 78.96h17.82c1.87 0 3.39 1.52 3.39 3.39v105.12c0 1.87-1.52 3.39-3.39 3.39h-17.82c-1.87 0-3.39-1.52-3.39-3.39v-105.12c0-1.87 1.52-3.39 3.39-3.39Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
<Path
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Name="path10"
|
||||
Fill="#FFFFFF">
|
||||
<Path.Data>
|
||||
<PathGeometry Figures="M55.62 78.96h20.5c1.43 0 2.71.89 3.21 2.22l39.29 105.06c.84 2.24-.82 4.62-3.21 4.62h-18.16c-1.47 0-2.77-.93-3.24-2.32l-6.89-20.28c-.47-1.39-1.78-2.32-3.24-2.32h-36.97c-1.45 0-2.75.92-3.23 2.29l-7.17 20.35c-.48 1.37-1.78 2.29-3.23 2.29H15.75c-2.4 0-4.05-2.4-3.2-4.64l39.87-105.06c.5-1.33 1.78-2.21 3.2-2.21ZM55.76 147.61h19.35c2.35 0 4-2.31 3.24-4.54l-12.55-36.53h-.31l-12.95 36.49c-.79 2.23.86 4.57 3.23 4.57Z" FillRule="NonZero" />
|
||||
</Path.Data>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -137,49 +137,7 @@
|
||||
<dxwui:HamburgerMenuNavigationButton Content="{Binding Displayname}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Conversation Control -->
|
||||
<DataTemplate x:Key="ConversationTemplate">
|
||||
<Border
|
||||
Width="auto"
|
||||
Margin="0,0,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#17000000"
|
||||
BorderBrush="Black"
|
||||
BorderThickness="0"
|
||||
CornerRadius="10, 10, 10, 10">
|
||||
<Grid Margin="8">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
FontSize="14"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource TextForegroundPrimary}"
|
||||
Text="{Binding Displayname}"
|
||||
TextTrimming="CharacterEllipsis" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource TextForegroundSecondary}"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Created, StringFormat=Erstellt: {0:dd.MM.yy HH:mm}}" />
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource TextForegroundSecondary}"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Updated, StringFormat=Aktualisiert: {0:dd.MM.yy HH:mm}}" />
|
||||
<!--<TextBlock
|
||||
Grid.Row="2"
|
||||
FontSize="10"
|
||||
FontWeight="Thin"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Modell.ModelName, StringFormat=Modell: {0}}" />-->
|
||||
</Grid>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Assistent Message Control -->
|
||||
<DataTemplate x:Key="AssistentMessageTemplate">
|
||||
@@ -307,7 +265,7 @@
|
||||
<CheckBox
|
||||
Margin="4"
|
||||
VerticalAlignment="Center"
|
||||
IsChecked="{Binding IsChecked}" />
|
||||
IsChecked="{Binding IsChecked, Mode=TwoWay}" />
|
||||
|
||||
<ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource AssistentMessageTemplate}" />
|
||||
</StackPanel>
|
||||
|
||||
@@ -6,6 +6,14 @@
|
||||
xmlns:templateselectors="clr-namespace:BeWo.View.TemplateSelectors"
|
||||
xmlns:uc="clr-namespace:BeWo.View.Controls">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="Designs\AI\IconKIChatSchwarz.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIChatSchwarzOrange.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIChatWeiss.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIChatWeissOrange.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIFunktionSchwarz.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIFunktionSchwarzGruen.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIFunktionWeiss.xaml" />
|
||||
<ResourceDictionary Source="Designs\AI\IconKIFunktionWeissGruen.xaml" />
|
||||
|
||||
<ResourceDictionary Source="Colors\Colors.xaml" />
|
||||
|
||||
@@ -20,6 +28,7 @@
|
||||
<ResourceDictionary Source="ControlStyles\GroupBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\LabelStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\ListBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\PopupStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\RadioButtonStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\TextBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\TextEditStyles.xaml" />
|
||||
|
||||
@@ -1,55 +1,83 @@
|
||||
<localView:BeWoView x:Class="BeWo.View.BeWoFileView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
|
||||
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
|
||||
VerticalAlignment="Stretch" Focusable="True">
|
||||
<localView:BeWoView.Resources>
|
||||
<localView:BeWoView
|
||||
x:Class="BeWo.View.BeWoFileView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:localView="clr-namespace:BeWo.View"
|
||||
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Focusable="True">
|
||||
<localView:BeWoView.Resources>
|
||||
<localView:DeleteButtonVisibilityConverter x:Key="DeleteButtonVisibilityConverter" />
|
||||
<ContextMenu x:Key="cm" MenuItem.Click="ContextMenu_Click" Opened="ContextMenu_Opened" >
|
||||
<MenuItem Header="Neu" >
|
||||
<ContextMenu
|
||||
x:Key="cm"
|
||||
MenuItem.Click="ContextMenu_Click"
|
||||
Opened="ContextMenu_Opened">
|
||||
<MenuItem Header="Neu">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\Ressources\Icons\Add24.png"/>
|
||||
<Image Source="..\Ressources\Icons\Add24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Umbenennen">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\Ressources\Icons\Rename24.png"/>
|
||||
<Image Source="..\Ressources\Icons\Rename24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem Header="Löschen" >
|
||||
<MenuItem Header="Löschen">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\Ressources\Icons\Delete24.png"/>
|
||||
<Image Source="..\Ressources\Icons\Delete24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</ContextMenu>
|
||||
|
||||
<HierarchicalDataTemplate x:Key="test" DataType="{x:Type localViewModel:BeWoFolderVM}" ItemsSource="{Binding SubFolders}">
|
||||
|
||||
<StackPanel Orientation="Horizontal" ContextMenu="{StaticResource cm}">
|
||||
<Image Name="img" Width="20" Height="20" Stretch="Fill" Source="..\Ressources\Icons\Folder.png" />
|
||||
<HierarchicalDataTemplate
|
||||
x:Key="test"
|
||||
DataType="{x:Type localViewModel:BeWoFolderVM}"
|
||||
ItemsSource="{Binding SubFolders}">
|
||||
|
||||
<TextBox Cursor="Arrow" Background="Transparent" Padding="2 1" LostFocus="TextBox_LostFocus" KeyDown="TextBox_KeyDown" BorderThickness="0" IsReadOnly="True" Text="{Binding Path=Name}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<StackPanel ContextMenu="{StaticResource cm}" Orientation="Horizontal">
|
||||
<Image
|
||||
Name="img"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Source="..\Ressources\Icons\Folder.png"
|
||||
Stretch="Fill" />
|
||||
|
||||
</localView:BeWoView.Resources>
|
||||
<Grid>
|
||||
<Grid>
|
||||
<TextBox
|
||||
Padding="2,1"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Cursor="Arrow"
|
||||
IsReadOnly="True"
|
||||
KeyDown="TextBox_KeyDown"
|
||||
LostFocus="TextBox_LostFocus"
|
||||
Text="{Binding Path=Name}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
|
||||
</localView:BeWoView.Resources>
|
||||
<Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<GroupBox Grid.ColumnSpan="2" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Neue Datei hochladen" x:Name="GroupBoxDateiHochladen">
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<GroupBox
|
||||
x:Name="GroupBoxDateiHochladen"
|
||||
Grid.ColumnSpan="2"
|
||||
Padding="5"
|
||||
Header="Neue Datei hochladen"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
@@ -65,25 +93,88 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Grid.Row="1" Content="Datei" />
|
||||
<uc:PopUpEdit IsReadOnly="True" Name="popupedit_file" Grid.Column="1" Margin="3" Height="23" Grid.Row="1" DeleteButtonVisibility="Collapsed" PopUpClick="popupedit_file_PopUpClick" />
|
||||
<Label Grid.Row="1" Grid.Column="2" Content="Beschreibung" />
|
||||
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Row="1" Grid.Column="3" />
|
||||
<Button IsEnabled="False" Name="button_uploadDocument" Margin="3" Height="25" Grid.Row="1" Grid.Column="4" Click="button_uploadDocument_Click" Content="Dokument hochladen" />
|
||||
<uc:PopUpEdit
|
||||
Name="popupedit_file"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
DeleteButtonVisibility="Collapsed"
|
||||
IsReadOnly="True"
|
||||
PopUpClick="popupedit_file_PopUpClick" />
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Content="Beschreibung" />
|
||||
<TextBox
|
||||
Name="textbox_fileNotice"
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
Height="23"
|
||||
Margin="3" />
|
||||
<Button
|
||||
Name="button_uploadDocument"
|
||||
Grid.Row="1"
|
||||
Grid.Column="4"
|
||||
Height="25"
|
||||
Margin="3"
|
||||
Click="button_uploadDocument_Click"
|
||||
Content="Dokument hochladen"
|
||||
IsEnabled="False" />
|
||||
|
||||
<ProgressBar Height="20" Margin="3" Name="progressbar_upload" Grid.Row="2" Grid.ColumnSpan="5" Minimum="0" Maximum="1" />
|
||||
<Label VerticalAlignment="Center" Grid.Row="2" Grid.ColumnSpan="5" HorizontalAlignment="Center" Name="text_progress" />
|
||||
<ProgressBar
|
||||
Name="progressbar_upload"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="5"
|
||||
Height="20"
|
||||
Margin="3"
|
||||
Maximum="1"
|
||||
Minimum="0" />
|
||||
<Label
|
||||
Name="text_progress"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="5"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
</Grid>
|
||||
|
||||
</GroupBox>
|
||||
|
||||
<TreeView Foreground="Aqua" VirtualizingStackPanel.IsVirtualizing="False" Grid.Row="1" Margin="5,3,2,5" PreviewMouseDown="TreeViewItem_PreviewMouseRightButtonDown" x:Name="treeview" MinWidth="200" ItemTemplate="{StaticResource test}" ItemsSource="{Binding}"></TreeView>
|
||||
|
||||
<dxg:GridControl Grid.Row="1" Margin="2,3,5,5" DataSource="{Binding SelectedItem.Files, ElementName=treeview, diagnostics:PresentationTraceSources.TraceLevel=High}" x:Name="datagrid_documents" Grid.Column="1" ItemsSourceChanged="Datagrid_documents_OnItemsSourceChanged">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="FileName" Header="" FixedWidth="True" Width="24" ReadOnly="True" Visible="{Binding Converter={StaticResource DeleteButtonVisibilityConverter}}">
|
||||
<TreeView
|
||||
x:Name="treeview"
|
||||
Grid.Row="1"
|
||||
MinWidth="200"
|
||||
Margin="5,3,2,5"
|
||||
Foreground="Aqua"
|
||||
ItemTemplate="{StaticResource test}"
|
||||
ItemsSource="{Binding}"
|
||||
PreviewMouseDown="TreeViewItem_PreviewMouseRightButtonDown"
|
||||
VirtualizingStackPanel.IsVirtualizing="False" />
|
||||
|
||||
<dxg:GridControl
|
||||
x:Name="datagrid_documents"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="2,3,5,5"
|
||||
DataSource="{Binding SelectedItem.Files, ElementName=treeview, diagnostics:PresentationTraceSources.TraceLevel=High}"
|
||||
ItemsSourceChanged="Datagrid_documents_OnItemsSourceChanged">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn
|
||||
Width="24"
|
||||
FieldName="FileName"
|
||||
FixedWidth="True"
|
||||
Header=""
|
||||
ReadOnly="True"
|
||||
Visible="{Binding Converter={StaticResource DeleteButtonVisibilityConverter}}">
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<Button Content="r" FontFamily="Webdings" Click="DeleteButton_Click" Width="18" Height="18" VerticalAlignment="Center" />
|
||||
<Button
|
||||
Width="18"
|
||||
Height="18"
|
||||
VerticalAlignment="Center"
|
||||
Click="DeleteButton_Click"
|
||||
Content="r"
|
||||
FontFamily="Webdings" />
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellTemplate>
|
||||
</dxg:GridColumn>
|
||||
@@ -108,29 +199,40 @@
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
|
||||
</Grid>
|
||||
<Canvas>
|
||||
<Grid x:Name="CursorControl" Visibility="Visible" >
|
||||
</Grid>
|
||||
<Canvas>
|
||||
<Grid x:Name="CursorControl" Visibility="Visible">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border Background="AliceBlue" Opacity="0.75">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image x:Name="imageFolder" Source="..\Ressources\Icons\Folder.png"/>
|
||||
<Image x:Name="imageFile" Source="..\Ressources\Icons\Document48.png"/>
|
||||
|
||||
<TextBlock x:Name="labelFrom" Grid.Column="1" Text="Datei xyz.txt" Margin="3" />
|
||||
<Image x:Name="imageFolder" Source="..\Ressources\Icons\Folder.png" />
|
||||
<Image x:Name="imageFile" Source="..\Ressources\Icons\Document48.png" />
|
||||
|
||||
<TextBlock
|
||||
x:Name="labelFrom"
|
||||
Grid.Column="1"
|
||||
Margin="3"
|
||||
Text="Datei xyz.txt" />
|
||||
</Grid>
|
||||
</Border>
|
||||
<TextBlock x:Name="labelTo" Grid.Row="1" Grid.ColumnSpan="2" Text="-> Nach verschieben" Margin="3" Foreground="Blue" Opacity="1"/>
|
||||
<TextBlock
|
||||
x:Name="labelTo"
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="3"
|
||||
Foreground="Blue"
|
||||
Opacity="1"
|
||||
Text="-> Nach verschieben" />
|
||||
</Grid>
|
||||
|
||||
</Canvas>
|
||||
</Grid>
|
||||
|
||||
</Canvas>
|
||||
</Grid>
|
||||
|
||||
</localView:BeWoView>
|
||||
56
BeWo/View/Controls/AI/AiConversationButton.xaml
Normal file
@@ -0,0 +1,56 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Controls.AI.AiConversationButton"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:draw="clr-namespace:System.Drawing;assembly=System.Drawing"
|
||||
xmlns:local="clr-namespace:BeWo.View.Controls.AI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<StackPanel
|
||||
Margin="0"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<StackPanel.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</StackPanel.Resources>
|
||||
<Button
|
||||
x:Name="btnOpenAi4"
|
||||
Height="30"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnOpenAi4_Click"
|
||||
Content="{StaticResource AiDesignsIconKIChatWeissOrange}"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}"
|
||||
ToolTip="KI Chat öffnen"
|
||||
ToolTipService.ShowOnDisabled="True" />
|
||||
<Button
|
||||
x:Name="btnOpenAi5"
|
||||
Height="30"
|
||||
Margin="10,0,0,0"
|
||||
Click="btnOpenAi5_Click"
|
||||
Style="{StaticResource NavigationToolbarButtonStyle}"
|
||||
ToolTip="KI Chat mit Promptbaustein starten"
|
||||
ToolTipService.ShowOnDisabled="True">
|
||||
Prompt mit KI Chat
|
||||
</Button>
|
||||
<Image
|
||||
x:Name="imgWarning"
|
||||
Height="20"
|
||||
Margin="10,0,0,0"
|
||||
Source="{Binding Source={x:Static draw:SystemIcons.Warning}, Converter={StaticResource IconToImageSourceConverter}, Mode=OneWay}"
|
||||
Visibility="Visible">
|
||||
<!-- Visibility="{Binding ElementName=btnOpenAi4, Path=Visibility}" -->
|
||||
|
||||
<Image.ToolTip>
|
||||
Die aktuelle Ansicht beinhaltet zu viele Daten.
|
||||
Es können keine neuen Chats zu dieser Ansicht erstellt werden.
|
||||
</Image.ToolTip>
|
||||
</Image>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
129
BeWo/View/Controls/AI/AiConversationButton.xaml.cs
Normal file
@@ -0,0 +1,129 @@
|
||||
using BeWo.ViewModel.View.AI;
|
||||
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 BeWo.View.Controls.AI
|
||||
{
|
||||
public enum AiConversationButtonState
|
||||
{
|
||||
Hidden,
|
||||
Normal,
|
||||
Loading,
|
||||
Warning,
|
||||
Disabled
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AIConversationButton.xaml
|
||||
/// </summary>
|
||||
public partial class AiConversationButton : UserControl
|
||||
{
|
||||
public event RoutedEventHandler OpenAiWindowClick;
|
||||
public event RoutedEventHandler OpenAiPromptClick;
|
||||
|
||||
public AiConversationButton()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
UpdateState();
|
||||
}
|
||||
|
||||
public AiConversationButtonState State
|
||||
{
|
||||
get { return (AiConversationButtonState)GetValue(StateProperty); }
|
||||
set { SetValue(StateProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty StateProperty =
|
||||
DependencyProperty.Register("State", typeof(AiConversationButtonState), typeof(AiConversationButton), new PropertyMetadata(AiConversationButtonState.Normal, OnStateChanged));
|
||||
|
||||
private static void OnStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
var control = (AiConversationButton)d;
|
||||
control.UpdateState();
|
||||
}
|
||||
|
||||
public string Tooltip { get; set; }
|
||||
public bool IsButtonEnabled { get; set; }
|
||||
public bool IsButton2Enabled { get; set; }
|
||||
public bool IsButtonVisible { get; set; }
|
||||
public bool IsButton2Visible { get; set; }
|
||||
public bool IsWarningSignVisible { get; set; }
|
||||
|
||||
private void UpdateState()
|
||||
{
|
||||
switch (State)
|
||||
{
|
||||
case AiConversationButtonState.Hidden:
|
||||
Tooltip = string.Empty;
|
||||
IsButtonEnabled = false;
|
||||
IsButton2Enabled = false;
|
||||
IsButtonVisible = false;
|
||||
IsButton2Visible = false;
|
||||
IsWarningSignVisible = false;
|
||||
break;
|
||||
case AiConversationButtonState.Normal:
|
||||
Tooltip = string.Empty;
|
||||
IsButtonEnabled = true;
|
||||
IsButton2Enabled = true;
|
||||
IsButtonVisible = true;
|
||||
IsButton2Visible = true;
|
||||
IsWarningSignVisible = false;
|
||||
break;
|
||||
case AiConversationButtonState.Loading:
|
||||
Tooltip = "Lädt";
|
||||
IsButtonEnabled = false;
|
||||
IsButton2Enabled = false;
|
||||
IsButtonVisible = true;
|
||||
IsButton2Visible = true;
|
||||
IsWarningSignVisible = false;
|
||||
break;
|
||||
case AiConversationButtonState.Warning:
|
||||
Tooltip = string.Empty;
|
||||
IsButtonEnabled = true;
|
||||
IsButton2Enabled = false;
|
||||
IsButtonVisible = true;
|
||||
IsButton2Visible = false;
|
||||
IsWarningSignVisible = true;
|
||||
break;
|
||||
case AiConversationButtonState.Disabled:
|
||||
Tooltip = string.Empty;
|
||||
IsButtonEnabled = false;
|
||||
IsButton2Enabled = false;
|
||||
IsButtonVisible = true;
|
||||
IsButton2Visible = true;
|
||||
IsWarningSignVisible = false;
|
||||
break;
|
||||
}
|
||||
|
||||
btnOpenAi5.ToolTip = btnOpenAi4.ToolTip = ToolTip;
|
||||
btnOpenAi4.IsEnabled = IsButtonEnabled;
|
||||
btnOpenAi5.IsEnabled = IsButton2Enabled;
|
||||
btnOpenAi4.Visibility = IsButtonVisible ? Visibility.Visible : Visibility.Collapsed;
|
||||
btnOpenAi5.Visibility = IsButton2Visible ? Visibility.Visible : Visibility.Collapsed;
|
||||
imgWarning.Visibility = IsWarningSignVisible ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void btnOpenAi4_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OpenAiWindowClick?.Invoke(this, e);
|
||||
}
|
||||
|
||||
private void btnOpenAi5_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OpenAiPromptClick?.Invoke(this, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,6 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.View.Detail.Report;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
|
||||
@@ -4,8 +4,6 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.View.Detail.Report;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
|
||||
@@ -4,8 +4,6 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.View.Detail.Report;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
@@ -4,10 +4,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.View.Detail.Report;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace BeWo.View.Controls
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ using BeWo.View.Windows;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using BS.Shared.DataContracts.Light;
|
||||
using BS.Shared.Extensions;
|
||||
using DevExpress.Xpf.Grid;
|
||||
|
||||
@@ -11,7 +11,6 @@ using BeWo.Annotations;
|
||||
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.View.Controls
|
||||
|
||||
@@ -6,10 +6,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using BeWo.View.Detail;
|
||||
using BeWo.View.Detail.Report;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace BeWo.View.Controls
|
||||
{
|
||||
|
||||
@@ -1,51 +1,93 @@
|
||||
<UserControl x:Class="BeWo.View.Controls.NewsItemEditControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
||||
xmlns:val="clr-namespace:BeWo.Validation"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:search="clr-namespace:BeWo.View.Search">
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Controls.NewsItemEditControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
||||
xmlns:search="clr-namespace:BeWo.View.Search"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:val="clr-namespace:BeWo.Validation">
|
||||
|
||||
<Grid x:Name="RootGrid" Background="{StaticResource ObjectEditBackgroundBrush}" >
|
||||
<Grid Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Column="0" Grid.Row="0">Datum</Label>
|
||||
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Margin="3" Height="23" Width="100" Grid.Column="1" Grid.Row="0"
|
||||
HorizontalAlignment="Left"
|
||||
EditValue="{val:ValidationBinding Path=PublishDate, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
|
||||
|
||||
<Label Grid.Column="0" Grid.Row="1">Titel</Label>
|
||||
<TextBox x:Name="TextBoxTitle" Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Text="{val:ValidationBinding Path=Title, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Grid x:Name="RootGrid" Background="{StaticResource ObjectEditBackgroundBrush}">
|
||||
<Grid Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0">Datum</Label>
|
||||
<dxe:DateEdit
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Width="100"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
EditValue="{val:ValidationBinding Path=PublishDate,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
Mode=TwoWay}"
|
||||
MaskType="DateTimeAdvancingCaret" />
|
||||
|
||||
<!--<Label Grid.Column="0" Grid.Row="1">Nur für Team</Label>
|
||||
<Label Grid.Row="1" Grid.Column="0">Titel</Label>
|
||||
<TextBox
|
||||
x:Name="TextBoxTitle"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Height="23"
|
||||
Margin="3"
|
||||
Text="{val:ValidationBinding Path=Title,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
|
||||
<!--<Label Grid.Column="0" Grid.Row="1">Nur für Team</Label>
|
||||
<uc:PopUpEdit IsReadOnly="True"
|
||||
x:Name="popupedit_TeamSearch"
|
||||
Grid.Column="1" Margin="3" Height="23" Grid.Row="1"
|
||||
DeleteButtonVisibility="Visible"
|
||||
DeleteClick="Popupedit_TeamSearch_OnDeleteClick"
|
||||
PopUpClick="popupedit_TeamSearch_PopUpClick" />-->
|
||||
<!--<Popup Margin="10" x:Name="popup_Team" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="2" Height="400" Grid.Column="1" >
|
||||
<!--<Popup Margin="10" x:Name="popup_Team" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="2" Height="400" Grid.Column="1" >
|
||||
<search:TeamSearchView ItemSelected="TeamSearchView_TeamSelected" x:Name="teamSearchView" />
|
||||
</Popup>-->
|
||||
|
||||
|
||||
<Label Grid.Row="2">Text</Label>
|
||||
<TextBox Grid.Column="1" Grid.Row="2" Margin="3" AcceptsReturn="True" Grid.ColumnSpan="3" Text="{val:ValidationBinding Path=Text, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Label Grid.Row="2">Text</Label>
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="3"
|
||||
AcceptsReturn="True"
|
||||
Text="{val:ValidationBinding Path=Text,
|
||||
UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<UniformGrid Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="4" Columns="2" Rows="1" HorizontalAlignment="Right">
|
||||
<Button Margin="3" Click="button_ok_Click" x:Name="OKButton" Content="OK" Height="25" Width="80" />
|
||||
<Button Margin="3" Click="button_cancel_Click" x:Name="CancelButton" Content="Abbrechen" Height="25" Width="80" />
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<UniformGrid
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
HorizontalAlignment="Right"
|
||||
Columns="2"
|
||||
Rows="1">
|
||||
<Button
|
||||
x:Name="OKButton"
|
||||
Width="80"
|
||||
Height="25"
|
||||
Margin="3"
|
||||
Click="button_ok_Click"
|
||||
Content="OK" />
|
||||
<Button
|
||||
x:Name="CancelButton"
|
||||
Width="80"
|
||||
Height="25"
|
||||
Margin="3"
|
||||
Click="button_cancel_Click"
|
||||
Content="Abbrechen" />
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -6,7 +6,6 @@ using System.Windows.Input;
|
||||
using BeWo.Validation;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.View.Controls
|
||||
{
|
||||
|
||||
101
BeWo/View/Core/WaitLayer3.xaml
Normal file
@@ -0,0 +1,101 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Core.WaitLayer3"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:BeWo.View.Core"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:view="clr-namespace:BeWo.ViewModel.View"
|
||||
d:DataContext="{d:DesignInstance Type=view:WindowViewModel,
|
||||
IsDesignTimeCreatable=True}"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<!-- Bouncing Dots Animation -->
|
||||
<Storyboard x:Key="BouncingDotsStoryboard" RepeatBehavior="Forever">
|
||||
<DoubleAnimation
|
||||
AutoReverse="True"
|
||||
Storyboard.TargetName="Dot1"
|
||||
Storyboard.TargetProperty="(Canvas.Top)"
|
||||
From="20"
|
||||
To="0"
|
||||
Duration="0:0:0.5" />
|
||||
<DoubleAnimation
|
||||
AutoReverse="True"
|
||||
BeginTime="0:0:0.1"
|
||||
Storyboard.TargetName="Dot2"
|
||||
Storyboard.TargetProperty="(Canvas.Top)"
|
||||
From="20"
|
||||
To="0"
|
||||
Duration="0:0:0.5" />
|
||||
<DoubleAnimation
|
||||
AutoReverse="True"
|
||||
BeginTime="0:0:0.2"
|
||||
Storyboard.TargetName="Dot3"
|
||||
Storyboard.TargetProperty="(Canvas.Top)"
|
||||
From="20"
|
||||
To="0"
|
||||
Duration="0:0:0.5" />
|
||||
</Storyboard>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Border
|
||||
MinWidth="250"
|
||||
Padding="20"
|
||||
Background="#FFFFFFFF"
|
||||
BorderBrush="#FF606060"
|
||||
BorderThickness="1"
|
||||
CornerRadius="12">
|
||||
<Border.OpacityMask>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0.027" Color="#F3FFFFFF" />
|
||||
<GradientStop Offset="1" Color="#D7FFFFFF" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
<StackPanel>
|
||||
<Canvas
|
||||
Width="80"
|
||||
Height="40"
|
||||
Margin="4">
|
||||
<Ellipse
|
||||
x:Name="Dot1"
|
||||
Canvas.Left="10"
|
||||
Canvas.Top="20"
|
||||
Width="12"
|
||||
Height="12"
|
||||
Fill="#FFFF6B35" />
|
||||
<Ellipse
|
||||
x:Name="Dot2"
|
||||
Canvas.Left="34"
|
||||
Canvas.Top="20"
|
||||
Width="12"
|
||||
Height="12"
|
||||
Fill="#FFFF6B35" />
|
||||
<Ellipse
|
||||
x:Name="Dot3"
|
||||
Canvas.Left="58"
|
||||
Canvas.Top="20"
|
||||
Width="12"
|
||||
Height="12"
|
||||
Fill="#FFFF6B35" />
|
||||
<Canvas.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<BeginStoryboard Storyboard="{StaticResource BouncingDotsStoryboard}" />
|
||||
</EventTrigger>
|
||||
</Canvas.Triggers>
|
||||
</Canvas>
|
||||
<TextBlock
|
||||
Margin="3,13,3,3"
|
||||
HorizontalAlignment="Center"
|
||||
FontFamily="Microsoft Sans Serif"
|
||||
FontSize="12"
|
||||
FontWeight="Normal"
|
||||
Foreground="#FF000000"
|
||||
Text="{Binding WaitingText}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</UserControl>
|
||||
28
BeWo/View/Core/WaitLayer3.xaml.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
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 BeWo.View.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für WaitLayer3.xaml
|
||||
/// </summary>
|
||||
public partial class WaitLayer3 : UserControl
|
||||
{
|
||||
public WaitLayer3()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,8 +7,10 @@
|
||||
xmlns:listviewmodel="clr-namespace:BeWo.ViewModel.ListViewModel"
|
||||
xmlns:local="clr-namespace:BeWo.View.Detail.AI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewmodel="clr-namespace:BeWo.ViewModel"
|
||||
d:DataContext="{d:DesignInstance Type=listviewmodel:AiConversationListVM}"
|
||||
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
|
||||
xmlns:vmv="clr-namespace:BeWo.ViewModel.View.AI"
|
||||
d:DataContext="{d:DesignInstance Type=vmv:AiConversationChatViewModel,
|
||||
IsDesignTimeCreatable=True}"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
@@ -23,6 +25,8 @@
|
||||
<Setter Property="SmallChange" Value="0.01" />
|
||||
<Setter Property="IsMoveToPointEnabled" Value="True" />
|
||||
</Style>
|
||||
<Style BasedOn="{StaticResource PopupWhiteLabel}" TargetType="{x:Type Label}" />
|
||||
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<GroupBox Style="{StaticResource ObjectEditGroupBox}">
|
||||
@@ -40,6 +44,7 @@
|
||||
<Grid Grid.Column="1" HorizontalAlignment="Stretch">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MinWidth="100" />
|
||||
<ColumnDefinition Width="5" />
|
||||
<ColumnDefinition Width="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
@@ -47,43 +52,59 @@
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label>
|
||||
Ausgewähltes Modell
|
||||
</Label>
|
||||
<ComboBox
|
||||
Grid.Column="1"
|
||||
Grid.Column="2"
|
||||
ItemsSource="{Binding Models}"
|
||||
SelectedItem="{Binding Config.SelectedModel}" />
|
||||
|
||||
<Label Grid.Row="1" VerticalAlignment="Center">
|
||||
<Label Grid.Row="1" IsEnabled="False">
|
||||
Temperatur
|
||||
</Label>
|
||||
<Slider
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.Column="2"
|
||||
IsEnabled="False"
|
||||
Value="{Binding Config.Temperature}" />
|
||||
|
||||
<Label Grid.Row="2" VerticalAlignment="Center">
|
||||
<Label Grid.Row="2" IsEnabled="False">
|
||||
top__p
|
||||
</Label>
|
||||
<Slider
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Grid.Column="2"
|
||||
IsEnabled="False"
|
||||
Value="{Binding Config.Top_P}" />
|
||||
|
||||
<Label Grid.Row="3">
|
||||
<Label Grid.Row="3" IsEnabled="False">
|
||||
max__gen__len
|
||||
</Label>
|
||||
<dxe:TextEdit
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Grid.Column="2"
|
||||
EditValue="{Binding Config.Max_Gen_Len}"
|
||||
IsEnabled="False"
|
||||
Style="{StaticResource TextEditNumber}" />
|
||||
|
||||
<Label Grid.Row="4" VerticalAlignment="Top">
|
||||
Datenformat
|
||||
</Label>
|
||||
<StackPanel Grid.Row="4" Grid.Column="2">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton IsChecked="{Binding Config.Context_Type, Converter={StaticResource ComparisonConverter}, ConverterParameter={x:Static shared:AiDataContextType.json}}">json</RadioButton>
|
||||
<RadioButton IsChecked="{Binding Config.Context_Type, Converter={StaticResource ComparisonConverter}, ConverterParameter={x:Static shared:AiDataContextType.csv}}">csv</RadioButton>
|
||||
<RadioButton IsChecked="{Binding Config.Context_Type, Converter={StaticResource ComparisonConverter}, ConverterParameter={x:Static shared:AiDataContextType.tsv}}">tsv</RadioButton>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton IsChecked="{Binding Config.Context_Type, Converter={StaticResource ComparisonConverter}, ConverterParameter={x:Static shared:AiDataContextType.csv2}}">csv2</RadioButton>
|
||||
<RadioButton IsChecked="{Binding Config.Context_Type, Converter={StaticResource ComparisonConverter}, ConverterParameter={x:Static shared:AiDataContextType.tsv2}}">tsv2</RadioButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
@@ -14,14 +14,16 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
|
||||
xmlns:t="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:templateselectors="clr-namespace:BeWo.View.TemplateSelectors"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns:viewmodel="clr-namespace:BeWo.ViewModel"
|
||||
Width="Auto"
|
||||
Height="Auto"
|
||||
xmlns:vmv="clr-namespace:BeWo.ViewModel.View.AI"
|
||||
Width="auto"
|
||||
Height="auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
d:DesignHeight="900"
|
||||
d:DesignWidth="900"
|
||||
d:DataContext="{d:DesignInstance Type=vmv:AiConversationChatViewModel,
|
||||
IsDesignTimeCreatable=True}"
|
||||
Focusable="True"
|
||||
Loaded="BeWoView_Loaded"
|
||||
mc:Ignorable="d">
|
||||
@@ -30,11 +32,75 @@
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<!-- Conversation Control -->
|
||||
<DataTemplate x:Key="ConversationTemplate">
|
||||
<Border
|
||||
Width="auto"
|
||||
Margin="0,0,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#17000000"
|
||||
BorderBrush="Black"
|
||||
BorderThickness="0"
|
||||
CornerRadius="10, 10, 10, 10">
|
||||
<Grid Margin="8">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
FontSize="14"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource TextForegroundPrimary}"
|
||||
MouseDown="ConversationRenameTextBlock_MouseDown"
|
||||
Text="{Binding Displayname}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
Visibility="{Binding IsEditing, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=false}" />
|
||||
<TextBox
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
FontSize="14"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="{DynamicResource TextForegroundPrimary}"
|
||||
IsVisibleChanged="ConversationRenameTextBox_IsVisibleChanged"
|
||||
KeyDown="ConversationRenameTextBox_KeyDown"
|
||||
LostFocus="ConversationRenameTextBox_LostFocus"
|
||||
Text="{Binding Displayname, UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="{Binding IsEditing, Converter={StaticResource BoolVisibilityConverter}}" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource TextForegroundSecondary}"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Created, StringFormat=Erstellt: {0:dd.MM.yy HH:mm}}" />
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource TextForegroundSecondary}"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Updated, StringFormat=Aktualisiert: {0:dd.MM.yy HH:mm}}" />
|
||||
<TextBlock
|
||||
Grid.Row="3"
|
||||
FontSize="11"
|
||||
Foreground="{DynamicResource TextForegroundSecondary}"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Context_Type, StringFormat=Format: {0}}" />
|
||||
<!--<TextBlock
|
||||
Grid.Row="2"
|
||||
FontSize="10"
|
||||
FontWeight="Thin"
|
||||
Style="{StaticResource TextBlockStyle}"
|
||||
Text="{Binding Modell.ModelName, StringFormat=Modell: {0}}" />-->
|
||||
</Grid>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ResourceDictionary>
|
||||
|
||||
</localView:BeWoView.Resources>
|
||||
<localView:BeWoView.DataContext>
|
||||
<listviewmodel:AiConversationListVM />
|
||||
</localView:BeWoView.DataContext>
|
||||
<Grid>
|
||||
<GroupBox x:Name="rootgroupbox" Style="{StaticResource ModuleAiControlSupportConceptStyle}">
|
||||
<GroupBox.Header>
|
||||
@@ -117,10 +183,10 @@
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
ItemTemplate="{StaticResource ConversationTemplate}"
|
||||
ItemsSource="{Binding VMList}"
|
||||
ItemsSource="{Binding ListVM.VMList}"
|
||||
ScrollViewer.CanContentScroll="False"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
||||
SelectedItem="{Binding SelectedVM, Mode=TwoWay}"
|
||||
SelectedItem="{Binding ListVM.SelectedVM, Mode=TwoWay}"
|
||||
SelectionChanged="listview_conversations_SelectionChanged">
|
||||
<ListView.ItemContainerStyle>
|
||||
<Style TargetType="ListViewItem">
|
||||
@@ -135,7 +201,7 @@
|
||||
<Grid Grid.Column="1" PreviewKeyDown="Grid_PreviewKeyDown">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="1000000*" MaxWidth="1200" />
|
||||
<ColumnDefinition Width="1000000*" MaxWidth="12000" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
@@ -151,7 +217,7 @@
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
ItemTemplateSelector="{StaticResource AiConversationMessageTemplateSelector}"
|
||||
ItemsSource="{Binding SelectedVM.Messages.VMList}"
|
||||
ItemsSource="{Binding ListVM.SelectedVM.Messages.VMList, UpdateSourceTrigger=PropertyChanged}"
|
||||
ScrollViewer.CanContentScroll="False"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
||||
Visibility="{Binding IsNewConversationVisible, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=Reverse}">
|
||||
@@ -240,6 +306,17 @@
|
||||
<Binding Converter="{StaticResource UserPermission2BoolConverter}" ConverterParameter="{x:Static shared:UserRightType.AiModuleChatAdd}" />
|
||||
</MultiBinding>
|
||||
</Grid.Visibility>
|
||||
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" >
|
||||
<TextBlock FontSize="12" FontWeight="Medium">
|
||||
Bitte formulieren Sie eine Frage, um einen neuen Chat zu beginnen.
|
||||
<LineBreak/>
|
||||
Weitere Details erfahren Sie in der Hilfe.
|
||||
<Hyperlink NavigateUri="https://help.bewoplaner.de" RequestNavigate="Hyperlink_RequestNavigate">
|
||||
(i)
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
|
||||
<TextBox
|
||||
x:Name="txt_input_message2"
|
||||
Grid.Row="1"
|
||||
@@ -272,7 +349,7 @@
|
||||
VerticalAlignment="Stretch">
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<Style BasedOn="{StaticResource PopupToolbarButtonStyle}" TargetType="Button" />
|
||||
<Style BasedOn="{StaticResource PopupToolbarButtonSmallStyle}" TargetType="Button" />
|
||||
</Grid.Resources>
|
||||
<Rectangle Fill="#FF000000">
|
||||
<Rectangle.OpacityMask>
|
||||
@@ -306,6 +383,11 @@
|
||||
Command="{Binding TestCommand}"
|
||||
Content="Test Szenario"
|
||||
Visibility="Collapsed" />
|
||||
<Button
|
||||
x:Name="btnRename"
|
||||
Margin="4,0,0,0"
|
||||
Command="{Binding RenameCommand}"
|
||||
Content="Umbennen" />
|
||||
<Button
|
||||
x:Name="btnClone"
|
||||
Margin="4,0,0,0"
|
||||
@@ -357,12 +439,14 @@
|
||||
x:Name="popup_settings"
|
||||
Width="auto"
|
||||
Height="auto"
|
||||
AllowsTransparency="True"
|
||||
IsOpen="{Binding IsSettingsOpen}"
|
||||
Placement="Center"
|
||||
StaysOpen="False">
|
||||
<Border
|
||||
Padding="5"
|
||||
Background="{DynamicResource NavigationContentBrush}"
|
||||
BorderBrush="Black"
|
||||
BorderThickness="1"
|
||||
CornerRadius="5">
|
||||
<ai:AiConfigView />
|
||||
@@ -409,7 +493,7 @@
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
ItemTemplateSelector="{StaticResource AiConversationCloneMessageTemplateSelector}"
|
||||
ItemsSource="{Binding SelectedVM.Messages.VMList, UpdateSourceTrigger=PropertyChanged}"
|
||||
ItemsSource="{Binding ListVM.SelectedVM.Messages.VMList, UpdateSourceTrigger=PropertyChanged}"
|
||||
ScrollViewer.CanContentScroll="False"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
||||
<ListView.ItemContainerStyle>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BS.Shared.Extensions;
|
||||
using DevExpress.Mvvm;
|
||||
using System;
|
||||
@@ -28,10 +30,11 @@ namespace BeWo.View.Detail.AI
|
||||
/// </summary>
|
||||
public partial class AiConversationChatView : BeWoView
|
||||
{
|
||||
public AiConversationChatView()
|
||||
public AiConversationChatView(AiConversationChatViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ViewModel = viewModel;
|
||||
((INotifyCollectionChanged)listview_messages.Items).CollectionChanged += listview_messages_CollectionChanged;
|
||||
|
||||
popup_settings.Closed += (s, e) => ViewModel.UpdateConfig();
|
||||
@@ -43,14 +46,14 @@ namespace BeWo.View.Detail.AI
|
||||
};
|
||||
}
|
||||
|
||||
public AiConversationChatView(string stylestring) : this()
|
||||
public AiConversationChatView(AiConversationChatViewModel viewModel, string stylestring) : this(viewModel)
|
||||
{
|
||||
rootgroupbox.Style = (Style)FindResource(stylestring);
|
||||
}
|
||||
|
||||
public AiConversationListVM ViewModel
|
||||
public AiConversationChatViewModel ViewModel
|
||||
{
|
||||
get => DataContext as AiConversationListVM;
|
||||
get => DataContext as AiConversationChatViewModel;
|
||||
set => DataContext = value;
|
||||
}
|
||||
|
||||
@@ -61,6 +64,9 @@ namespace BeWo.View.Detail.AI
|
||||
|
||||
ViewModel.ReloadConfigCommand.Execute(null);
|
||||
ViewModel.ReloadConversationsCommand.Execute(null);
|
||||
|
||||
if(ViewModel.SendAfterLoaded)
|
||||
ViewModel.StartConversationWithMessageCommand.Execute(null);
|
||||
}
|
||||
|
||||
private void listview_conversations_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
@@ -96,9 +102,9 @@ namespace BeWo.View.Detail.AI
|
||||
// Console.WriteLine("Enter erkannt");
|
||||
|
||||
object p = null;
|
||||
if(ViewModel.SelectedVM is object && ViewModel.SendNewMessageCommand.CanExecute(p))
|
||||
if(!ViewModel.IsNewConversationVisible && ViewModel.SendNewMessageCommand.CanExecute(p))
|
||||
ViewModel.SendNewMessageCommand.Execute(p);
|
||||
else if (ViewModel.SelectedVM is null && ViewModel.StartConversationWithMessageCommand.CanExecute(p))
|
||||
else if (ViewModel.IsNewConversationVisible && ViewModel.StartConversationWithMessageCommand.CanExecute(p))
|
||||
ViewModel.StartConversationWithMessageCommand.Execute(p);
|
||||
|
||||
e.Handled = true;
|
||||
@@ -108,5 +114,60 @@ namespace BeWo.View.Detail.AI
|
||||
// e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ConversationRenameTextBox_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if(sender is TextBox textBox && e.NewValue is bool b && b)
|
||||
{
|
||||
textBox.Focus();
|
||||
textBox.SelectAll();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void ConversationRenameTextBox_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is TextBox textbox && textbox.DataContext is AiConversationVM vm && vm.IsEditing)
|
||||
{
|
||||
vm.SaveDisplayname();
|
||||
}
|
||||
}
|
||||
|
||||
private void ConversationRenameTextBox_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (sender is TextBox textbox && textbox.DataContext is AiConversationVM vm && vm.IsEditing)
|
||||
{
|
||||
if(e.Key == Key.Enter)
|
||||
{
|
||||
vm.SaveDisplayname();
|
||||
e.Handled = true;
|
||||
}
|
||||
else if(e.Key == Key.Escape)
|
||||
{
|
||||
vm.IsEditing = true;
|
||||
vm.ResetDisplayname();
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void ConversationRenameTextBlock_MouseDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if(e.ClickCount == 2)
|
||||
{
|
||||
if (sender is TextBlock textBlock && textBlock.DataContext is AiConversationVM vm && !vm.IsEditing)
|
||||
{
|
||||
vm.IsEditing = true;
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
44
BeWo/View/Detail/AI/AiPromptbausteinActionResultView.xaml
Normal file
@@ -0,0 +1,44 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Detail.AI.AiPromptbausteinActionResultView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ai="clr-namespace:BeWo.ViewModel.View.AI"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:BeWo.View.Detail.AI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DataContext="{d:DesignInstance Type=ai:AiPromptbausteinActionResultViewModel}"
|
||||
d:DesignHeight="600"
|
||||
d:DesignWidth="400"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox
|
||||
Height="auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Text="{Binding Result}"
|
||||
TextWrapping="Wrap" />
|
||||
<StackPanel
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal">
|
||||
<Button Command="{Binding CancelCommand}">Abbrechen</Button>
|
||||
<Button Command="{Binding RetryCommand}">Nochmal versuchen</Button>
|
||||
<Button Command="{Binding AcceptCommand}">Anfügen</Button>
|
||||
<Button Command="{Binding ReplaceCommand}">Ersetzen</Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
33
BeWo/View/Detail/AI/AiPromptbausteinActionResultView.xaml.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using BeWo.ViewModel.View.AI;
|
||||
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 BeWo.View.Detail.AI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AiPromptbausteinActionResultView.xaml
|
||||
/// </summary>
|
||||
public partial class AiPromptbausteinActionResultView : UserControl
|
||||
{
|
||||
public AiPromptbausteinActionResultViewModel ViewModel { get; set; }
|
||||
|
||||
public AiPromptbausteinActionResultView( AiPromptbausteinActionResultViewModel viewModel = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
DataContext = ViewModel = viewModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
223
BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml
Normal file
@@ -0,0 +1,223 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Detail.AI.AiPromptbausteinComplexSelectionView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ai="clr-namespace:BeWo.ViewModel.View.AI"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:local="clr-namespace:BeWo.View.Detail.AI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:vm="clr-namespace:BeWo.ViewModel"
|
||||
d:DataContext="{d:DesignInstance Type=ai:AiPromptbausteinSelectionComplexViewModel,
|
||||
IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style
|
||||
x:Key="PromptListBoxItem"
|
||||
BasedOn="{StaticResource PhotoListBoxItem}"
|
||||
TargetType="ListBoxItem">
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MinWidth="200" />
|
||||
<ColumnDefinition Width="auto" />
|
||||
<ColumnDefinition Width="2*" MinWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox
|
||||
Grid.Column="0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Ordner"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<TreeView
|
||||
x:Name="treeView"
|
||||
MinHeight="100"
|
||||
Padding="4,16,4,16"
|
||||
ItemContainerStyle="{DynamicResource igoal_treeitemstyle}"
|
||||
ItemTemplate="{StaticResource ai_promptbaustein_folder_itemtemplate}"
|
||||
ItemsSource="{Binding Folders.VMList, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItemChanged="treeView_SelectedItemChanged">
|
||||
<TreeView.Resources>
|
||||
<Style x:Key="igoal_treeitemstyle" TargetType="TreeViewItem">
|
||||
<Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
</Style>
|
||||
</TreeView.Resources>
|
||||
</TreeView>
|
||||
</GroupBox>
|
||||
<GridSplitter
|
||||
Grid.Column="1"
|
||||
Width="1"
|
||||
HorizontalAlignment="Center"
|
||||
Background="#878890" />
|
||||
<GroupBox
|
||||
Grid.Column="2"
|
||||
Grid.ColumnSpan="2"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Prompts"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<dxe:ListBoxEdit
|
||||
x:Name="listBoxEdit1"
|
||||
Padding="4,16,4,16"
|
||||
ItemContainerStyle="{StaticResource PromptListBoxItem}"
|
||||
ItemsSource="{Binding SelectedFolder.Prompts, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItem="{Binding SelectedPrompt, Mode=TwoWay}"
|
||||
SelectionMode="Single">
|
||||
<dxe:ListBoxEdit.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
PreviewMouseDown="Grid_PreviewMouseDown_1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox
|
||||
Height="21"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Cursor="Arrow"
|
||||
Focusable="False"
|
||||
FontWeight="{Binding FontWeight, UpdateSourceTrigger=PropertyChanged}"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Title, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
|
||||
ToolTipService.ShowDuration="100000">
|
||||
<TextBox.ToolTip>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Label Content="{Binding Path=Title, Mode=OneWay}" FontWeight="Bold" />
|
||||
<TextBox
|
||||
MaxWidth="500"
|
||||
Padding="3,1,0,0"
|
||||
VerticalAlignment="Center"
|
||||
AcceptsReturn="True"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Description}"
|
||||
TextWrapping="Wrap" />
|
||||
</StackPanel>
|
||||
</TextBox.ToolTip>
|
||||
</TextBox>
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
Visibility="{Binding IsInfoVisible, Converter={StaticResource BoolVisibilityConverter}}">
|
||||
<Hyperlink NavigateUri="{Binding OwnsoftRefLink}" RequestNavigate="Hyperlink_RequestNavigate">
|
||||
(i)
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</dxe:ListBoxEdit.ItemTemplate>
|
||||
</dxe:ListBoxEdit>
|
||||
</GroupBox>
|
||||
|
||||
<!--<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Header="Details"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<Grid
|
||||
MaxWidth="700"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#fdfdfd">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto" MinWidth="80" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="3*" MinWidth="100" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0">Name</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
Text="{Binding ViewModel.Title, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Content="Beschreibung" />
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
MaxLength="1024"
|
||||
Style="{StaticResource TextBoxNotice}"
|
||||
Text="{Binding ViewModel.Description, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap" />
|
||||
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Content="Prompt" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
MaxLength="1024"
|
||||
Style="{StaticResource TextBoxNoticeLarge}"
|
||||
Text="{Binding ViewModel.Prompt, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap" />
|
||||
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Content="Ersteller:" />
|
||||
<comboboxes:ComboBoxEmployeeSearch
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsEnabled="False"
|
||||
SelectedCompactEmployeeDC="{Binding ViewModel.Creator}" />
|
||||
|
||||
<Label Grid.Row="4" Grid.Column="0">Öffentlich</Label>
|
||||
<dxe:CheckEdit
|
||||
Grid.Row="4"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsChecked="{Binding ViewModel.IsPublic}"
|
||||
IsEnabled="{Binding IsEditingMode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Grid>
|
||||
</GroupBox>-->
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="3"
|
||||
Command="{Binding SendCommand}"
|
||||
Style="{StaticResource PrimaryButton}">
|
||||
Absenden
|
||||
</Button>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
using BeWo.ViewModel.View.AI;
|
||||
using BeWo.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace BeWo.View.Detail.AI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AiPromptbausteinComplexSelectionView.xaml
|
||||
/// </summary>
|
||||
public partial class AiPromptbausteinComplexSelectionView : UserControl
|
||||
{
|
||||
public AiPromptbausteinSelectionComplexViewModel ViewModel { get; set; }
|
||||
|
||||
public AiPromptbausteinComplexSelectionView(AiPromptbausteinSelectionComplexViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
DataContext = ViewModel = viewModel;
|
||||
|
||||
Loaded += (s, e) => ViewModel.ReloadVMList();
|
||||
}
|
||||
|
||||
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
|
||||
{
|
||||
if (ViewModel is null)
|
||||
return;
|
||||
|
||||
ViewModel.SelectedFolder = treeView.SelectedValue as AiPromptbausteinFolderVM;
|
||||
}
|
||||
|
||||
private void Grid_PreviewMouseDown_1(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (!ViewModel.SendCommand.CanExecute(null))
|
||||
return;
|
||||
|
||||
if (e.ClickCount == 2)
|
||||
{
|
||||
ViewModel.SendCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
274
BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml
Normal file
@@ -0,0 +1,274 @@
|
||||
<view:BeWoView
|
||||
x:Class="BeWo.View.Detail.AI.AiPromptbausteinComplexTreeView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:administration="clr-namespace:BeWo.ViewModel.View.Administration"
|
||||
xmlns:comboboxes="clr-namespace:BeWo.View.Controls.ComboBoxes"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
|
||||
xmlns:local1="clr-namespace:BeWo.View.Detail.AI"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:view="clr-namespace:BeWo.View"
|
||||
xmlns:vm="clr-namespace:BeWo.ViewModel"
|
||||
d:DataContext="{d:DesignInstance Type=administration:AiPromptbausteinComplexTreeViewModel,
|
||||
IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<view:BeWoView.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style
|
||||
x:Key="PromptListBoxItem"
|
||||
BasedOn="{StaticResource PhotoListBoxItem}"
|
||||
TargetType="ListBoxItem">
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</view:BeWoView.Resources>
|
||||
<GroupBox Style="{StaticResource ObjectEditGroupBox}">
|
||||
<GroupBox.Header>
|
||||
Aktuell definierte KI-Prompts
|
||||
</GroupBox.Header>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MinWidth="200" />
|
||||
<ColumnDefinition Width="auto" />
|
||||
<ColumnDefinition Width="2*" MinWidth="200" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Orientation="Horizontal" />
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal">
|
||||
<ToggleButton
|
||||
x:Name="EditToggleButton"
|
||||
Grid.Column="4"
|
||||
Width="157"
|
||||
Height="25"
|
||||
Margin="3"
|
||||
Content="Bearbeiten aktivieren"
|
||||
IsChecked="{Binding IsEditingMode}"
|
||||
ToolTip="Wenn der Bearbeiten Modus aktiviert ist, können Sie Elemente mit Drag und Drop verschieben"
|
||||
Visibility="Visible" />
|
||||
|
||||
<Button
|
||||
Style="{StaticResource ButtonPreviousStyle}"
|
||||
ToolTip="Letzte Änderung rückgängig machen"
|
||||
Visibility="Collapsed" />
|
||||
<Button
|
||||
Style="{StaticResource ButtonRedoStyle}"
|
||||
ToolTip="Nächste Änderung wiederholen"
|
||||
Visibility="Collapsed" />
|
||||
</StackPanel>
|
||||
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Ordner"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<TreeView
|
||||
x:Name="treeView"
|
||||
MinHeight="100"
|
||||
Padding="4,16,4,16"
|
||||
AllowDrop="True"
|
||||
ContextMenuOpening="treeView_ContextMenuOpening"
|
||||
ContextMenuService.IsEnabled="{Binding IsChecked, ElementName=EditToggleButton}"
|
||||
ItemContainerStyle="{DynamicResource igoal_treeitemstyle}"
|
||||
ItemTemplate="{StaticResource ai_promptbaustein_folder_itemtemplate}"
|
||||
ItemsSource="{Binding Folders.VMList, UpdateSourceTrigger=PropertyChanged}"
|
||||
PreviewMouseDown="Grid_PreviewMouseDown"
|
||||
PreviewMouseRightButtonDown="OnPreviewMouseRightButtonDown"
|
||||
SelectedItemChanged="treeView_SelectedItemChanged"
|
||||
TreeViewItem.Selected="treeView_Selected">
|
||||
<TreeView.Resources>
|
||||
<Style x:Key="igoal_treeitemstyle" TargetType="TreeViewItem">
|
||||
<Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
</Style>
|
||||
</TreeView.Resources>
|
||||
<TreeView.ContextMenu>
|
||||
<ContextMenu>
|
||||
<ContextMenu.Resources>
|
||||
<ResourceDictionary>
|
||||
<Style TargetType="{x:Type Image}">
|
||||
<Setter Property="Height" Value="24" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</ContextMenu.Resources>
|
||||
<MenuItem Command="{Binding OpenAddFolderDialogCommand}" Header="Neu">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Add24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Command="{Binding OpenEditFolderDialogCommand}" Header="Bearbeiten">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Rename24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem Command="{Binding CopyFolderCommand}" Header="Kopieren">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Copy24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Command="{Binding PasteFolderCommand}" Header="Einfügen">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Paste24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem Command="{Binding DeleteFolderCommand}" Header="Löschen">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Delete24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</ContextMenu>
|
||||
</TreeView.ContextMenu>
|
||||
</TreeView>
|
||||
</GroupBox>
|
||||
<GridSplitter
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="1"
|
||||
HorizontalAlignment="Center"
|
||||
Background="#878890" />
|
||||
<GroupBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Grid.ColumnSpan="2"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Prompts"
|
||||
Style="{StaticResource ObjectEditGroupBox}">
|
||||
<dxe:ListBoxEdit
|
||||
x:Name="listBoxEdit1"
|
||||
Padding="4,16,4,16"
|
||||
AllowDrop="False"
|
||||
ContextMenuOpening="ListBox_ContextMenuOpening"
|
||||
ContextMenuService.IsEnabled="{Binding IsChecked, ElementName=EditToggleButton}"
|
||||
ItemContainerStyle="{StaticResource PromptListBoxItem}"
|
||||
ItemsSource="{Binding SelectedFolder.Prompts, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItem="{Binding SelectedPrompt, Mode=TwoWay}"
|
||||
SelectionMode="Single">
|
||||
<dxe:ListBoxEdit.ContextMenu>
|
||||
<ContextMenu>
|
||||
<ContextMenu.Resources>
|
||||
<ResourceDictionary>
|
||||
<Style TargetType="{x:Type Image}">
|
||||
<Setter Property="Height" Value="24" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</ContextMenu.Resources>
|
||||
<MenuItem Command="{Binding OpenAddPromptDialogCommand}" Header="Neu">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Add24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Command="{Binding OpenEditPromptDialogCommand}" Header="Bearbeiten">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Rename24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem
|
||||
x:Name="favorite"
|
||||
Command="{Binding ChangeFavoritenStatePromptCommand}"
|
||||
Header="Kopieren">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Favorites32.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem Command="{Binding CopyPromptCommand}" Header="Kopieren">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Copy24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Command="{Binding PastePromptCommand}" Header="Einfügen">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Paste24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem Command="{Binding DeletePromptCommand}" Header="Löschen">
|
||||
<MenuItem.Icon>
|
||||
<Image Source="..\..\..\Ressources\Icons\Delete24.png" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</ContextMenu>
|
||||
</dxe:ListBoxEdit.ContextMenu>
|
||||
<dxe:ListBoxEdit.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
PreviewMouseDown="Grid_PreviewMouseDown_1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox
|
||||
Height="21"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Cursor="Arrow"
|
||||
Focusable="False"
|
||||
FontWeight="{Binding FontWeight, UpdateSourceTrigger=PropertyChanged}"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Title, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
|
||||
ToolTipService.ShowDuration="100000">
|
||||
<TextBox.ToolTip>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Label Content="{Binding Path=Title, Mode=OneWay}" FontWeight="Bold" />
|
||||
<TextBox
|
||||
MaxWidth="500"
|
||||
Padding="3,1,0,0"
|
||||
VerticalAlignment="Center"
|
||||
AcceptsReturn="True"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Description}"
|
||||
TextWrapping="Wrap" />
|
||||
</StackPanel>
|
||||
</TextBox.ToolTip>
|
||||
</TextBox>
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
Margin="0"
|
||||
Padding="0"
|
||||
Visibility="{Binding IsInfoVisible, Converter={StaticResource BoolVisibilityConverter}}">
|
||||
<Hyperlink NavigateUri="{Binding OwnsoftRefLink}" RequestNavigate="Hyperlink_RequestNavigate">
|
||||
(i)
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</dxe:ListBoxEdit.ItemTemplate>
|
||||
</dxe:ListBoxEdit>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</view:BeWoView>
|
||||
171
BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml.cs
Normal file
@@ -0,0 +1,171 @@
|
||||
using BeWo.Core;
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.View.Administration;
|
||||
using DevExpress.Mvvm;
|
||||
using DevExpress.Xpf.Accordion;
|
||||
using DevExpress.Xpf.Core.Native;
|
||||
using DevExpress.Xpf.Editors;
|
||||
using DevExpress.XtraEditors.TextEditController.Win32;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
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 BeWo.View.Detail.AI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AiPromptbausteinTreeView.xaml
|
||||
/// </summary>
|
||||
public partial class AiPromptbausteinComplexTreeView : BeWoView
|
||||
{
|
||||
public bool IsDragging = false;
|
||||
|
||||
public AiPromptbausteinComplexTreeView(AiPromptbausteinComplexTreeViewModel viewModel = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
if (viewModel == null )
|
||||
viewModel = new AiPromptbausteinComplexTreeViewModel(BeWoApp.MainControl.WindowService, BS.Shared.AiActionType.ServiceRecordConversation);
|
||||
|
||||
DataContext = ViewModel = viewModel;
|
||||
|
||||
Loaded += (s, e) => ViewModel.ReloadVMList();
|
||||
}
|
||||
|
||||
public AiPromptbausteinComplexTreeViewModel ViewModel { get; set; }
|
||||
|
||||
public override bool IsDirty => ViewModel is object && ViewModel.IsDirty;
|
||||
|
||||
protected override void Save() => ViewModel.SaveVMList();
|
||||
|
||||
private void OnPreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject);
|
||||
|
||||
if (treeViewItem != null)
|
||||
{
|
||||
treeViewItem.Focus();
|
||||
e.Handled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Handled = true;
|
||||
|
||||
if (ViewModel.SelectedFolder == null)
|
||||
return;
|
||||
|
||||
|
||||
_LastTreeViewItem.IsSelected = false;
|
||||
|
||||
treeView.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
static TreeViewItem VisualUpwardSearch(DependencyObject source)
|
||||
{
|
||||
while (source != null && !(source is TreeViewItem))
|
||||
source = VisualTreeHelper.GetParent(source);
|
||||
|
||||
return source as TreeViewItem;
|
||||
}
|
||||
|
||||
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
|
||||
{
|
||||
if (ViewModel is null)
|
||||
return;
|
||||
|
||||
ViewModel.SelectedFolder = treeView.SelectedValue as AiPromptbausteinFolderVM;
|
||||
}
|
||||
|
||||
private void Grid_PreviewMouseDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject);
|
||||
|
||||
if (treeViewItem is null)
|
||||
return;
|
||||
|
||||
if (e.ClickCount == 2)
|
||||
{
|
||||
ViewModel.OpenEditFolderDialogCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private TreeViewItem _LastTreeViewItem;
|
||||
private void treeView_Selected(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_LastTreeViewItem = e.OriginalSource as TreeViewItem;
|
||||
}
|
||||
|
||||
private void treeView_ContextMenuOpening(object sender, ContextMenuEventArgs e)
|
||||
{
|
||||
ViewModel.UpdateFolderCommands();
|
||||
}
|
||||
|
||||
private void ListBox_ContextMenuOpening(object sender, ContextMenuEventArgs e)
|
||||
{
|
||||
ViewModel.UpdatePromptCommands();
|
||||
favorite.Header = (ViewModel.SelectedPrompt?.IsFavorite ?? false) ? "Favorit entfernen" : "Favorit hinzufügen";
|
||||
}
|
||||
|
||||
//private void listBox_Prompts_PreviewMouseUp(object sender, MouseButtonEventArgs e)
|
||||
//{
|
||||
// IsDragging = false;
|
||||
//}
|
||||
|
||||
//private void listBox_Prompts_Drop(object sender, DragEventArgs e)
|
||||
//{
|
||||
// HitTestResult hitTest = VisualTreeHelper.HitTest(listBoxEdit1, e.GetPosition(listBoxEdit1));
|
||||
// ListBoxEditItem item = LayoutHelper.FindParentObject<ListBoxEditItem>((DependencyObject)hitTest.VisualHit);
|
||||
// int insertIndex = ViewModel.SelectedFolder.SubPrompts.VMList.IndexOf((AiPromptbausteinPromptVM)item.Content);
|
||||
// ViewModel.SelectedFolder.SubPrompts.VMList.Remove((AiPromptbausteinPromptVM)e.Data.GetData(typeof(AiPromptbausteinPromptVM)));
|
||||
// if (listBoxEdit1.SelectedIndex > insertIndex)
|
||||
// insertIndex++;
|
||||
// ViewModel.SelectedFolder.SubPrompts.VMList.Insert(insertIndex, (AiPromptbausteinPromptVM)e.Data.GetData(typeof(AiPromptbausteinPromptVM)));
|
||||
//}
|
||||
|
||||
//private void listBox_Prompts_DragOver(object sender, DragEventArgs e)
|
||||
//{
|
||||
// e.Effects = DragDropEffects.Move;
|
||||
//}
|
||||
|
||||
//private void listBox_Prompts_MouseMove(object sender, MouseEventArgs e)
|
||||
//{
|
||||
// if (IsDragging && listBoxEdit1.SelectedItem != null)
|
||||
// {
|
||||
// DragDrop.DoDragDrop(listBoxEdit1, listBoxEdit1.SelectedItem, DragDropEffects.Move);
|
||||
// }
|
||||
//}
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void Grid_PreviewMouseDown_1(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (!ViewModel.OpenEditPromptDialogCommand.CanExecute(null))
|
||||
return;
|
||||
|
||||
if (e.ClickCount == 2)
|
||||
{
|
||||
ViewModel.OpenEditPromptDialogCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
100
BeWo/View/Detail/AI/AiPromptbausteinFolderView.xaml
Normal file
@@ -0,0 +1,100 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.View.Detail.AI.AiPromptbausteinFolderView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:comboboxes="clr-namespace:BeWo.View.Controls.ComboBoxes"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewmodel="clr-namespace:BeWo.ViewModel.View.Administration"
|
||||
Width="auto"
|
||||
Height="auto"
|
||||
d:DataContext="{d:DesignInstance Type=viewmodel:AiPromptbausteinFolderViewModel}"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid
|
||||
MaxWidth="700"
|
||||
Margin="2,0,2,10"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#eeeeee">
|
||||
<Grid Margin="8,4,8,4">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto" MinWidth="80" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="3*" MinWidth="100" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
<RowDefinition Height="auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0">Titel</Label>
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
Text="{Binding ViewModel.Title, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<Label Grid.Row="1" Grid.Column="0">
|
||||
Beschreibung
|
||||
</Label>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
IsEnabled="{Binding IsEditingMode}"
|
||||
MaxLength="1024"
|
||||
Style="{StaticResource TextBoxNoticeLarge}"
|
||||
Text="{Binding ViewModel.Description, UpdateSourceTrigger=PropertyChanged}"
|
||||
TextWrapping="Wrap" />
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Content="Ersteller:" />
|
||||
<comboboxes:ComboBoxEmployeeSearch
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsEnabled="False"
|
||||
SelectedCompactEmployeeDC="{Binding ViewModel.Creator}" />
|
||||
|
||||
<Label Grid.Row="3" Grid.Column="0">Öffentlich</Label>
|
||||
<dxe:CheckEdit
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Margin="3"
|
||||
IsChecked="{Binding ViewModel.IsPublic}"
|
||||
IsEnabled="{Binding IsEditingMode, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="6"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="0,19,0,0"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
Width="100"
|
||||
Command="{Binding CancelCommand}"
|
||||
Visibility="Visible">
|
||||
Abbrechen
|
||||
</Button>
|
||||
<Button
|
||||
Width="100"
|
||||
Command="{Binding AcceptCommand}"
|
||||
Content="{Binding AcceptButtonText}"
|
||||
Visibility="Visible" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
32
BeWo/View/Detail/AI/AiPromptbausteinFolderView.xaml.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.View.Administration;
|
||||
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 BeWo.View.Detail.AI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AiPromptbausteinFolderView.xaml
|
||||
/// </summary>
|
||||
public partial class AiPromptbausteinFolderView : UserControl
|
||||
{
|
||||
public AiPromptbausteinFolderView(AiPromptbausteinFolderViewModel vm)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
DataContext = vm;
|
||||
}
|
||||
}
|
||||
}
|
||||