Compare commits
25 Commits
master
...
BewoRene_f
| Author | SHA1 | Date | |
|---|---|---|---|
| b6c9566cba | |||
| 3e4994c4eb | |||
| f65cb3da72 | |||
| 6497a7ded5 | |||
| 3f9f42b593 | |||
| e2cf258f36 | |||
| 6f0c28a7c7 | |||
| 58aaf05673 | |||
| f3855aaebb | |||
| 3dcfc8cb0e | |||
| 44dfcad633 | |||
| 7da66cfae0 | |||
| 03f8d4af5d | |||
| 64728f231a | |||
| 81a8c8dc27 | |||
| af4e753071 | |||
| a4e9b791c5 | |||
| 4af0180baa | |||
| b2bae1d512 | |||
| d2a20c4d5c | |||
| 8e1471a519 | |||
| 47d8a5996f | |||
| 88e0edcc76 | |||
| 5b30f4ad14 | |||
| 7811c2fb56 |
@@ -1,54 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Type="DevExpress.CodeAnalysis.CodeCleanUp.CodeCleanUpOptions">
|
||||
<Options Language="C#">
|
||||
<Providers>
|
||||
<Item Id="{53ccb10f-f7af-40a6-9472-d05054672052}" />
|
||||
<Item Id="{bb96a982-bed0-4d8f-93a7-1e1ce7493e96}" />
|
||||
<Item Id="{12f6d456-d2ec-407e-aa44-2b74d7c56e9c}" />
|
||||
<Item Id="{ffa114f4-9122-46e4-96c8-655d54c904e6}" />
|
||||
<Item Id="{0e6b7b2c-84e6-4eee-83d1-6149282c8501}">
|
||||
<ApplyOnSave>True</ApplyOnSave>
|
||||
</Item>
|
||||
<Item Id="{03781427-dea7-45b0-9eef-81abe2961a61}" />
|
||||
<Item Id="{ab07124b-0893-4a2d-b6f5-39bfa9f10148}" />
|
||||
<Item Id="{5d712912-91ed-4728-ba16-ac1821b702ca}">
|
||||
<ApplyOnSave>True</ApplyOnSave>
|
||||
</Item>
|
||||
<Item Id="{c47b114f-eeae-46fc-9562-454e8f9196c0}" />
|
||||
<Item Id="{4216ef39-52bd-4e7f-92a7-673406f92bc8}" />
|
||||
<Item Id="{f410df1e-6e44-4854-a3f0-14bb756113f9}">
|
||||
<ApplyOnSave>True</ApplyOnSave>
|
||||
</Item>
|
||||
<Item Id="{d2f76d4e-97a9-4031-a7a2-23f192201426}" />
|
||||
<Item Id="{3824f6f0-fee1-4847-94ff-1efa133ba199}" />
|
||||
<Item Id="{d24bd9c7-7686-4101-9ec1-f61c19af8d2e}" />
|
||||
<Item Id="{f804e36e-414f-409c-9b90-63b7727745a7}">
|
||||
<ApplyOnSave>True</ApplyOnSave>
|
||||
</Item>
|
||||
<Item Id="{163af547-186c-4fa1-9a3e-b9b0a1ceec32}" />
|
||||
<Item Id="{00bb41b3-3de9-458a-93c1-1f126253eab0}" />
|
||||
<Item Id="{8e24f031-d25c-4ddb-86a5-c28f8fc354eb}" />
|
||||
<Item Id="{e950f01e-2b15-4da5-8176-cafe3cc883d9}" />
|
||||
<Item Id="{37bde68f-a39d-4791-adba-8ad7b2952ab0}" />
|
||||
<Item Id="{ef51c8cb-e48a-498f-98b2-eadda592c4c7}" />
|
||||
<Item Id="{20943A7B-2B32-4727-8E9D-61CB5B5F2A0D}" />
|
||||
<Item Id="{528bdd86-5882-4b4c-b717-e0ec33958bd7}" />
|
||||
<Item Id="{40c971cf-ebeb-419d-a559-6183d8d0d6a4}" />
|
||||
<Item Id="{4B42E272-EE39-4E83-924C-B2458D827DE3}" />
|
||||
<Item Id="{73a73e0e-5575-4c34-a97b-a942c6da1f90}" />
|
||||
<Item Id="{f7752b2b-7ba5-43ec-b0f7-7f45c21c1c23}" />
|
||||
<Item Id="{9dab2827-57cc-40e9-a330-a0626261453e}" />
|
||||
<Item Id="{6bf7cfc1-1332-4bec-982e-c2d0968237cd}" />
|
||||
<Item Id="{7e640eab-b585-47a5-afdc-0f110357cebb}" />
|
||||
<Item Id="{44ac74a7-dba7-45aa-b2ca-8094b85cb9c9}" />
|
||||
<Item Id="{2cd1441b-9e0f-4e39-bd8c-8aaa6e2a1728}" />
|
||||
<Item Id="{41388575-074b-49f2-b3bc-9d28b212bd1a}" />
|
||||
<Item Id="{4fa0bfa3-0a7e-471b-9933-3a379bdd5bd7}" />
|
||||
<Item Id="{1f88209e-45e2-40b9-a235-1df251df05dd}" />
|
||||
<Item Id="{086b0e70-893d-4b97-a6cf-d366ddbae573}" />
|
||||
<Item Id="{4771fd98-4357-4780-b479-a7a875fec011}" />
|
||||
<Item Id="{174C98E6-48C4-42D0-BC30-35EDE6377C9B}" />
|
||||
</Providers>
|
||||
<IsNewVersion>True</IsNewVersion>
|
||||
</Options>
|
||||
</Root>
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Type="DevExpress.CodeRush.Formatting.UI.Options.OtherOptionsContainer">
|
||||
<Options Language="C#">
|
||||
<Options>
|
||||
<Item Id="{7b13bb67-6fc9-44dd-87a1-ea1dc649d561}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.PlaceOnNewLineOtherOption">
|
||||
<ElseOnNewLine>True</ElseOnNewLine>
|
||||
<WhileOnNewLine>True</WhileOnNewLine>
|
||||
<CatchOnNewLine>True</CatchOnNewLine>
|
||||
<FinallyOnNewLine>True</FinallyOnNewLine>
|
||||
</Item>
|
||||
<Item Id="{84e7d791-613d-4018-bf31-9a9f43264480}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.XmlDocCommentsOtherOption" />
|
||||
<Item Id="{8921dd1e-bb6c-4fa8-b4d5-58e6edcea04f}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.OtherIndentOption" />
|
||||
</Options>
|
||||
</Options>
|
||||
</Root>
|
||||
@@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Type="DevExpress.CodeRush.Formatting.UI.Options.WrappingOptionsContainer">
|
||||
<Options Language="C#">
|
||||
<Options>
|
||||
<Item Id="{48f3f6c0-b3c2-4567-b071-33af7480c9a3}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.QueryExpressionFormattingOption" />
|
||||
<Item Id="{a2c75ad7-ba6a-49ca-8070-6d9e3c52e3c6}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.BinaryExpressionFormattingOption" />
|
||||
<Item Id="{0e2d0391-24ba-4ed8-aeb4-1b3e9f26be55}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.RelationalExpressionFormattingOption" />
|
||||
<Item Id="{fea50ebc-99c9-4599-9b55-bf2961b9cc95}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.BitwiseExpressionFormattingOption" />
|
||||
<Item Id="{4246b900-cbb3-44f4-b59e-b3055fb4f7bc}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.LogicalExpressionFormattingOption" />
|
||||
<Item Id="{cd721fc1-23fb-4d88-a9f0-42d6b318a32b}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.TernaryExpressionFormattingOption" />
|
||||
<Item Id="{10e904ea-f51d-4c32-9320-1b93fa557564}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.AssignmentExpressionFormattingOption">
|
||||
<WrapAssignment>
|
||||
<Kind>WrapBefore</Kind>
|
||||
</WrapAssignment>
|
||||
</Item>
|
||||
<Item Id="{25746bdc-0a43-4741-a740-20784691314b}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.InvocationArgumentListFormattingOption" />
|
||||
<Item Id="{D5EE2ECB-9FA6-47F7-A11F-007FC45E872D}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.AttributeArgumentsFormattingOption" />
|
||||
<Item Id="{5A186AB9-03A5-4BFE-83B1-B99B3B8408BC}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.DeclarationParameterListFormattingOption" />
|
||||
<Item Id="{8739877d-3674-40ae-90c4-38b2b160e92b}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.ArrayInitializerFormattingOption" />
|
||||
<Item Id="{a940ae15-f98a-4b7d-8357-2214eb421250}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.CollectionInitializerFormattingOption" />
|
||||
<Item Id="{0414181a-3915-4d0c-81d3-3bc7718da90f}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.ObjectInitializerFormattingOption" />
|
||||
<Item Id="{ea60e2ab-d67a-45e8-ab42-36d747c494c}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.ChainedMethodCallsFormattingOption" />
|
||||
<Item Id="{5f4ed422-88b9-4e95-8401-cef404d645d6}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.LambdaExpressionFormattingOption" />
|
||||
<Item Id="{0531de5e-ff20-4043-a67c-eeef76a8f3c3}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.ArrowExpressionFormattingOption" />
|
||||
<Item Id="{08fa5953-cc71-4ded-bd41-ef5d5b690585}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.TypeParameterListFormattingOption" />
|
||||
<Item Id="{dc060d33-cfc0-411e-9508-8d27b84934e8}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.CoalesceExpressionFormattingOption" />
|
||||
<Item Id="{b25d25a0-dd92-45ed-88ef-51953e28222c}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.BaseListWrappingFormattingOption" />
|
||||
<Item Id="{4db5e14f-8f4c-416f-9b59-7e9239f2150e}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.CtorInitWrappingFormattingOption" />
|
||||
<Item Id="{be0c2117-5732-40fd-9b4a-0fe749356e87}" Type="DevExpress.CodeRush.Formatting.UI.Options.Conversion.SwitchExpressionWrappingFormattingOption" />
|
||||
</Options>
|
||||
</Options>
|
||||
</Root>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Type="DevExpress.CodeRush.CodeCompletion.NamingSuggestions.Options.NamingSuggestionsOptions">
|
||||
<Options Language="C#">
|
||||
<Enabled>True</Enabled>
|
||||
</Options>
|
||||
</Root>
|
||||
@@ -1,165 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersOptions">
|
||||
<Options Language="Neutral">
|
||||
<Schemes>
|
||||
<Item Id="{537ce5d1-771a-4e99-9f4a-c409ebd5e213}">
|
||||
<IsActive>False</IsActive>
|
||||
<Rules>
|
||||
<Item Id="{a1310165-0385-4fbf-92d3-71402b646318}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<GroupRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.AndRule">
|
||||
<Rules>
|
||||
<Item Id="{2ebbe39b-ad28-42e6-b6fe-58cbbe1366ea}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.GroupByParentTypeAttributesRule">
|
||||
<AttributeName>InterfaceType</AttributeName>
|
||||
</Item>
|
||||
<Item Id="{e7428898-429e-46c7-84f8-a4eeffbf1bc7}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.GroupByKindRule" />
|
||||
</Rules>
|
||||
</GroupRule>
|
||||
<RuleName>Members in type with InterfaceType</RuleName>
|
||||
</Item>
|
||||
<Item Id="{ebd30c1d-59b5-4a03-9f33-8813a996b952}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{02fdb982-e0dd-4b47-84c3-f44926013188}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{f5649b7d-32eb-4a64-88b4-5de14ed335e4}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{b72b1c09-252f-4d4f-881c-1a4832911d5f}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{eae9a2ed-5135-45c6-9cd1-e75ee9e9ac68}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{7e2e2ef2-8ef3-4f28-825d-ce10da1931e6}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{0430f49d-5690-49a2-b2ef-154bfbf64cd7}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{907fc4a7-efee-4337-af73-d71b996b3923}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{724ebc08-3b98-4c52-91c5-158b7a759d95}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{bcbd84af-ad2b-4353-a834-ece7b6e41d92}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{c49c00d2-9626-428d-8818-e71e68bf07f9}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{335094b6-641c-4832-bfdc-84087f8c7b24}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{1136a603-d516-4f42-a80b-c2bc7baf163b}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{89215376-ecad-435a-a6bf-137f09a41f0d}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{380049a0-9dbf-4d84-9612-20fc0c34dca2}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{36cc0c47-d29c-4e7a-a29b-d73ec1b3910b}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{c87a250e-ef05-4000-9e2c-e5c078ce51ae}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{0fcd1a59-0fc8-4bde-9db7-2d73508b918d}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{050f50d0-7ec6-4610-a820-08f54f1d4c3c}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{6b6953c9-dcb7-4d34-a123-7f390fd24e1e}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{b8f8c881-e919-48b1-8655-602c75ddbfec}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{f591aeca-b50c-47e2-ab24-84fb3a7327c2}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{c9b4252f-60a9-48d3-869e-2c3c23c20aae}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{d6d0a5a4-c770-47f3-8cda-c699e76101d1}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{9b31a53f-4bae-4b97-8356-39a48bd91e9c}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{45e128f7-55bf-4186-b09c-760d2a6477cb}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{1c54e8e0-33dd-4a95-8899-42ba94669156}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{b76710ac-780e-4cad-bd0c-02f7f676db0f}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{48b47296-0fd0-4056-bdc1-b09ae6266d06}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{9d6898f1-002e-4c71-a281-1ec6e78a3003}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{f1959e1c-1062-4a5f-a26d-b66a530b56dc}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{4651e354-b408-4df4-bb8c-0490daddccaa}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{6653a3b6-576e-4f5e-9c6a-a440ee257399}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{dc81be48-841a-48c0-bb6a-e70cb3c26341}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{b8475833-a96e-4e5a-825c-bf3266fcf330}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<DeletedItem Id="{1eb07ab2-16f0-4bf2-a2a6-33b899b861b8}" />
|
||||
</Rules>
|
||||
</Item>
|
||||
<Item Id="{fb41924a-35f9-47ee-8f8c-74cc34c4bf63}">
|
||||
<IsActive>True</IsActive>
|
||||
<Rules>
|
||||
<Item Id="{b98b9ab7-3a4c-4b50-8c32-771f758e4507}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{175afa49-1b02-4335-8697-426564eb966b}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{793c3efa-da34-4af7-9338-b079461a74c8}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{2a66d808-4878-480c-b9b8-8ae03700c1e8}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{3f3676c5-45dd-45df-888a-0f07b1b3707d}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{1b549ff5-3ce2-43ff-93bc-f4da46903b6a}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{761299d1-70d4-44bf-b06b-ccd7c409e448}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{b0120844-0819-42f0-a49b-62c4c7497a99}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{00b09b98-ac03-48d2-b2a0-9c6e1b7ba907}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{612527cd-1b3e-41be-8a3c-fce9731c5798}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{9766d442-e0fb-427f-99b0-405fc57f6d4f}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{f82b02cb-b317-44af-ab65-2a3c90761afe}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{f2379393-c0e5-4bee-a551-6383d0c1f843}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{7c815ce6-5ac8-4c71-a1a9-b7fc8adea37c}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{300ff320-0e96-446c-8de9-3f808dafce55}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{78216f10-5d1c-41eb-a048-bd50ff4224fd}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{f0d58f97-1bb4-4762-95e4-fb7f7b1e184f}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{c17095aa-afa2-4136-8771-c2a7ac591d15}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{b1d169c2-df12-4479-8c61-2af5bbee8a06}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule">
|
||||
<SortingRule Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.MultipleSortingsRule">
|
||||
<Sortings>
|
||||
<Item Id="{c2c647e5-108d-4154-ad61-de7692259d35}" />
|
||||
</Sortings>
|
||||
</SortingRule>
|
||||
</Item>
|
||||
<Item Id="{b02e42bb-4a64-4196-8d23-aca15029a893}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{096ce198-34f5-4265-8a4a-4a4b00c711ac}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{eddf6fb8-a51b-4632-b8fd-20965a20efe2}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{0aa19952-807c-40eb-ab92-6c7a5f3f79b2}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
<Item Id="{e7160382-ae65-4f07-aaac-72e124360b1d}" Type="DevExpress.CodeAnalysis.CodeCleanUp.OrganizeMembers.OrganizeMembersGroupAndSortRule" />
|
||||
</Rules>
|
||||
</Item>
|
||||
</Schemes>
|
||||
<UseMemberSections>False</UseMemberSections>
|
||||
</Options>
|
||||
</Root>
|
||||
1034
.gitignore
vendored
1034
.gitignore
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{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>
|
||||
</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>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugRemote|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\DebugRemote\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<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" />
|
||||
</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" />
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MSTest.TestAdapter" />
|
||||
<PackageReference Include="MSTest.TestFramework" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,53 +0,0 @@
|
||||
using AICore.Facade.LLM;
|
||||
using BeWo.Service.Core;
|
||||
using BS.Shared.Core;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
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()
|
||||
{
|
||||
var logger = ServiceLogger.GetRequestLogger(out string id);
|
||||
|
||||
// Build Payload
|
||||
var payload = new
|
||||
{
|
||||
model = "gemma3:12b",
|
||||
messages = new[] {
|
||||
new {
|
||||
role = "user",
|
||||
message = "why is the sky blue?"
|
||||
}
|
||||
},
|
||||
requestid = id
|
||||
};
|
||||
|
||||
var response = Client.SendAiMessageRequest(payload, out string message, out string model, out int? duration, logger);
|
||||
|
||||
Assert.IsTrue(response?.Success);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
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://ai2.ownsoft.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();
|
||||
var logger = ServiceLogger.GetRequestLogger(out string id);
|
||||
|
||||
// Build Payload
|
||||
var payload = new
|
||||
{
|
||||
model = "llama3:latest",
|
||||
messages = new[] {
|
||||
new {
|
||||
role = "user",
|
||||
message = "Say 'Hi'!"
|
||||
}
|
||||
},
|
||||
customerid = UserRightHelper.GetTenant(),
|
||||
requestid = id
|
||||
};
|
||||
|
||||
var response = client.SendAiMessageRequest(payload, out string message, out string model, out int? duration, logger);
|
||||
|
||||
Assert.IsTrue(response?.Success);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
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);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
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")]
|
||||
@@ -1,63 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,134 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{9BAB16DE-E284-4B57-BD09-763FC5CE521A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BeWo.Styles</RootNamespace>
|
||||
<AssemblyName>BeWo.Styles</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</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="DevExpress.Xpf.Core.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Xpf.Core.v23.2.Extensions, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="PresentationFramework.Aero" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Converters\EnumTranslationConverter.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Include="Colors\Colors.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\ButtonStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\CheckBoxStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\ComboBoxStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\CustomControlsStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\DateEditStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\GroupBoxStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\LabelStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\ListBoxStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\NullItemComboBoxStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\RadioButtonStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\TextBoxStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\TextEditStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ControlStyles\ToggleButtonStyles.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="DataTemplates\ControlTemplates.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="DataTemplates\DataTemplates.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ModernOrangeBlack.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Controls\Controls.csproj">
|
||||
<Project>{d5e53b0f-bf5a-41e8-93e2-0f32845fc729}</Project>
|
||||
<Name>Controls</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,16 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<SolidColorBrush x:Key="TextBoxBorderBrush" Color="#FF86878F" />
|
||||
|
||||
|
||||
<SolidColorBrush x:Key="ControlBackgroundBrush" Color="#FFFDC784" />
|
||||
<SolidColorBrush x:Key="ControlSelectedBackgroundBrush" Color="#FFFFD86C" />
|
||||
<SolidColorBrush x:Key="ControlMouseOverBackgroundBrush" Color="#FFDCA158" />
|
||||
|
||||
<SolidColorBrush x:Key="TabItemHotTextBrush" Color="#FFAB4A07" />
|
||||
|
||||
<LinearGradientBrush x:Key="ApplicationBackground" StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0.38" Color="#FFDADADB" />
|
||||
<GradientStop Offset="0.725" Color="#FFA9B8C2" />
|
||||
<GradientStop Offset="0.91" Color="#FF4E565A" />
|
||||
</LinearGradientBrush>
|
||||
</ResourceDictionary>
|
||||
@@ -1,153 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Base -->
|
||||
<Style x:Key="BaseButton" TargetType="{x:Type Button}">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Height" Value="25" />
|
||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="SnapsToDevicePixels" Value="True" />
|
||||
<Setter Property="Foreground" Value="#FFFFFFFF" />
|
||||
<Setter Property="FontFamily" Value="Microsoft Sans Serif" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="PrimaryButton"
|
||||
BasedOn="{StaticResource BaseButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Button}">
|
||||
<ControlTemplate.Resources>
|
||||
<Storyboard x:Key="Timeline1">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="glow"
|
||||
Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="1" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
<Storyboard x:Key="Timeline2">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="glow"
|
||||
Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</ControlTemplate.Resources>
|
||||
<Border
|
||||
x:Name="border"
|
||||
Padding="0,0,0,0"
|
||||
BorderBrush="#FF000000"
|
||||
BorderThickness="1,1,1,1"
|
||||
CornerRadius="4,4,4,4">
|
||||
<Border.Background>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#FF000000" />
|
||||
<GradientStop Offset="1" Color="#FF262626" />
|
||||
</LinearGradientBrush>
|
||||
</Border.Background>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.5*" />
|
||||
<RowDefinition Height="0.5*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border
|
||||
x:Name="glow"
|
||||
Grid.RowSpan="2"
|
||||
Width="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
CornerRadius="4,4,4,4"
|
||||
Opacity="0">
|
||||
<Border.Background>
|
||||
<RadialGradientBrush>
|
||||
<RadialGradientBrush.RelativeTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1.702" ScaleY="2.243" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="-0.368" Y="-0.152" />
|
||||
</TransformGroup>
|
||||
</RadialGradientBrush.RelativeTransform>
|
||||
<GradientStop Offset="0" Color="#B28DBDFF" />
|
||||
<GradientStop Offset="1" Color="#008DBDFF" />
|
||||
</RadialGradientBrush>
|
||||
</Border.Background>
|
||||
</Border>
|
||||
<Border
|
||||
x:Name="shine"
|
||||
Grid.Row="0"
|
||||
Width="Auto"
|
||||
Margin="0,0,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
CornerRadius="4,4,0,0">
|
||||
<Border.Background>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#99FFFFFF" />
|
||||
<GradientStop Offset="1" Color="#33FFFFFF" />
|
||||
</LinearGradientBrush>
|
||||
</Border.Background>
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Margin="0,0,0,0">
|
||||
<ContentPresenter
|
||||
Width="Auto"
|
||||
Margin="3,0,3,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
</Border>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="shine" Property="Opacity" Value="0.4" />
|
||||
<Setter TargetName="border" Property="Background" Value="#998DBDFF" />
|
||||
<Setter TargetName="glow" Property="Visibility" Value="Hidden" />
|
||||
<Setter TargetName="border" Property="BorderBrush" Value="#FF0C0C0C" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Trigger.EnterActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Timeline1}" />
|
||||
</Trigger.EnterActions>
|
||||
<Trigger.ExitActions>
|
||||
<BeginStoryboard x:Name="Timeline2_BeginStoryboard" Storyboard="{StaticResource Timeline2}" />
|
||||
</Trigger.ExitActions>
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
<Setter TargetName="border" Property="Background" Value="#FF808080" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="HideDisabledButton"
|
||||
BasedOn="{StaticResource PrimaryButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsEnabled}" Value="False">
|
||||
<Setter Property="Visibility" Value="Collapsed" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="HideDisabledButtonSmall"
|
||||
BasedOn="{StaticResource HideDisabledButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Setter Property="Height" Value="21" />
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="PrimaryButtonSmall"
|
||||
BasedOn="{StaticResource PrimaryButton}"
|
||||
TargetType="{x:Type Button}">
|
||||
<Setter Property="Height" Value="21" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,7 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Style x:Key="CheckBoxBase" TargetType="{x:Type CheckBox}">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
<Setter Property="Padding" Value="0" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,161 +0,0 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
|
||||
xmlns:conv="clr-namespace:BeWo.Styles.Converters">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\DataTemplates\ControlTemplates.xaml" />
|
||||
<ResourceDictionary Source="..\ControlStyles\ToggleButtonStyles.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
|
||||
<!-- ComboBox -->
|
||||
<Style x:Key="BaseComboBox" TargetType="ComboBox">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Height" Value="23" />
|
||||
<Setter Property="FocusVisualStyle" Value="{DynamicResource ComboBoxFocusVisual}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
|
||||
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="Padding" Value="1" />
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
|
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
|
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="True" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="PrimaryComboBox"
|
||||
BasedOn="{StaticResource BaseComboBox}"
|
||||
TargetType="ComboBox">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ComboBox}">
|
||||
<Grid SnapsToDevicePixels="true">
|
||||
<Border
|
||||
x:Name="Bd"
|
||||
MaxWidth="{TemplateBinding MaxWidth}"
|
||||
Padding="1"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<Grid Grid.IsSharedSizeScope="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="ComboBoxButton" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
x:Name="SelectedItemBorder"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="2,1,20,1">
|
||||
<ContentPresenter
|
||||
Margin="3,0"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
Content="{TemplateBinding SelectionBoxItem}"
|
||||
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
||||
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Border>
|
||||
<ToggleButton
|
||||
Grid.ColumnSpan="3"
|
||||
IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Style="{StaticResource ComboBoxTransparentButtonStyle}" />
|
||||
</Grid>
|
||||
</Border>
|
||||
<Popup
|
||||
x:Name="PART_Popup"
|
||||
AllowsTransparency="true"
|
||||
Focusable="false"
|
||||
IsOpen="{Binding Path=IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Placement="Bottom"
|
||||
PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
|
||||
<Microsoft_Windows_Themes:SystemDropShadowChrome
|
||||
x:Name="Shdw"
|
||||
MinWidth="{TemplateBinding ActualWidth}"
|
||||
MaxHeight="{TemplateBinding MaxDropDownHeight}"
|
||||
Color="Transparent">
|
||||
<Border
|
||||
x:Name="DropDownBorder"
|
||||
Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
|
||||
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
|
||||
BorderThickness="1">
|
||||
<ScrollViewer>
|
||||
<ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</Microsoft_Windows_Themes:SystemDropShadowChrome>
|
||||
</Popup>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="IsSelectionBoxHighlighted" Value="true" />
|
||||
<Condition Property="IsDropDownOpen" Value="false" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="Foreground" Value="#FF000000" />
|
||||
</MultiTrigger>
|
||||
<Trigger Property="IsSelectionBoxHighlighted" Value="true">
|
||||
<Setter TargetName="SelectedItemBorder" Property="Background" Value="{DynamicResource ControlSelectedBackgroundBrush}" />
|
||||
</Trigger>
|
||||
<Trigger SourceName="PART_Popup" Property="HasDropShadow" Value="true">
|
||||
<Setter TargetName="Shdw" Property="Margin" Value="0,0,5,5" />
|
||||
<Setter TargetName="Shdw" Property="Color" Value="#71000000" />
|
||||
</Trigger>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
<Setter TargetName="DropDownBorder" Property="MinHeight" Value="95" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
|
||||
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsGrouping" Value="true">
|
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEditable" Value="true">
|
||||
<Setter Property="IsTabStop" Value="false" />
|
||||
<Setter Property="Padding" Value="0,1" />
|
||||
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="NoWrapComboBox"
|
||||
BasedOn="{StaticResource PrimaryComboBox}"
|
||||
TargetType="ComboBox">
|
||||
<Setter Property="ItemTemplate">
|
||||
<Setter.Value>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=.}" TextWrapping="NoWrap" />
|
||||
</DataTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<conv:EnumTranslationConverter x:Key="EnumTranslationConverter" />
|
||||
<DataTemplate x:Key="ListItemView">
|
||||
<TextBlock
|
||||
x:Name="textblock"
|
||||
MaxWidth="362"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
||||
Text="{Binding Path=., Converter={StaticResource EnumTranslationConverter}}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
TextWrapping="NoWrap"
|
||||
ToolTip="{Binding Path=Text, RelativeSource={RelativeSource Self}}" />
|
||||
</DataTemplate>
|
||||
<Style
|
||||
x:Key="EnumTranslationComboBox"
|
||||
BasedOn="{StaticResource PrimaryComboBox}"
|
||||
TargetType="ComboBox">
|
||||
<Setter Property="ItemTemplate" Value="{StaticResource ListItemView}" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MaxWidth" Value="400" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />
|
||||
@@ -1,74 +0,0 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
||||
xmlns:dxei="http://schemas.devexpress.com/winfx/2008/xaml/editors/internal"
|
||||
xmlns:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys">
|
||||
<Style
|
||||
x:Key="BaseDateEdit"
|
||||
BasedOn="{StaticResource {x:Type dxe:DateEdit}}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Padding" Value="1" />
|
||||
<Setter Property="Height" Value="23" />
|
||||
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorderBrush}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="PrimaryDateEdit"
|
||||
BasedOn="{StaticResource BaseDateEdit}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Style.Resources>
|
||||
<DataTemplate x:Key="{dxet:ButtonsThemeKey ResourceKey=ToggleButtonInfoTemplate, IsThemeIndependent=True}">
|
||||
<dx:ToggleStateButton
|
||||
x:Name="PART_Item"
|
||||
Margin="2"
|
||||
dxei:SetIsCheckedToButtonInfoBehavior.IsEnabled="True"
|
||||
IsChecked="{Binding Path=IsChecked, Mode=TwoWay}"
|
||||
Style="{StaticResource ComboBoxTransparentButtonStyle}" />
|
||||
<DataTemplate.Triggers>
|
||||
<DataTrigger Binding="{Binding Path=IsDefaultButton}" Value="True">
|
||||
<Setter TargetName="PART_Item" Property="IsChecked" Value="{Binding Path=(dxe:BaseEdit.OwnerEdit).IsPopupOpen, RelativeSource={RelativeSource Self}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding Path=IsDefaultButton}" Value="False">
|
||||
<Setter TargetName="PART_Item" Property="HandleToggle" Value="False" />
|
||||
</DataTrigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</Style.Resources>
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="DateEditDateOnly"
|
||||
BasedOn="{StaticResource PrimaryDateEdit}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Setter Property="MaskType" Value="DateOnlyAdvancingCaret" />
|
||||
<Setter Property="MaskUseAsDisplayFormat" Value="true" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="DateEditDateOnlyShort"
|
||||
BasedOn="{StaticResource DateEditDateOnly}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Setter Property="Mask" Value="d" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="DateEditDateOnlyLong"
|
||||
BasedOn="{StaticResource DateEditDateOnly}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Setter Property="Mask" Value="D" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="DateEditDateTime"
|
||||
BasedOn="{StaticResource PrimaryDateEdit}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Setter Property="MaskType" Value="DateTimeAdvancingCaret" />
|
||||
<Setter Property="MaskUseAsDisplayFormat" Value="true" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="DateEditDateTimeShort"
|
||||
BasedOn="{StaticResource DateEditDateTime}"
|
||||
TargetType="{x:Type dxe:DateEdit}">
|
||||
<Setter Property="Mask" Value="F" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,52 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Style x:Key="BaseGroupBox" TargetType="{x:Type GroupBox}">
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="Padding" Value="3" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="ObjectEditGroupBox"
|
||||
BasedOn="{StaticResource BaseGroupBox}"
|
||||
TargetType="{x:Type GroupBox}">
|
||||
<!-- <Setter Property="BorderBrush" Value="#D5DFE5" />-->
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type GroupBox}">
|
||||
<Grid SnapsToDevicePixels="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Border
|
||||
x:Name="Header"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
MinHeight="20"
|
||||
Padding="3,0,3,0"
|
||||
TextElement.FontFamily="Microsoft Sans Serif"
|
||||
TextElement.FontSize="16"
|
||||
TextElement.Foreground="{StaticResource TabItemHotTextBrush}">
|
||||
<ContentPresenter
|
||||
ContentSource="Header"
|
||||
RecognizesAccessKey="True"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="1"
|
||||
BorderBrush="#FF86878F"
|
||||
BorderThickness="0,0,0,1" />
|
||||
<ContentPresenter
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,19 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Style x:Key="BaseLabel" TargetType="Label">
|
||||
<Setter Property="IsEnabled" Value="True" />
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Padding" Value="3" />
|
||||
<Setter Property="VerticalAlignment" Value="Top" />
|
||||
<Setter Property="TextElement.Foreground" Value="#FF000000" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="Header1" TargetType="Label">
|
||||
<Setter Property="TextElement.FontSize" Value="16" />
|
||||
<Setter Property="TextElement.Foreground" Value="{StaticResource TabItemHotTextBrush}" />
|
||||
<Setter Property="TextElement.FontFamily" Value="Microsoft Sans Serif" />
|
||||
<Setter Property="Padding" Value="3,0,3,0" />
|
||||
<Setter Property="MinHeight" Value="20" />
|
||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||
<Setter Property="Margin" Value="3,-6,3,6" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,27 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- ListBoxItems -->
|
||||
<Style x:Key="PhotoListBoxItem" TargetType="ListBoxItem">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Style.Resources>
|
||||
<SolidColorBrush
|
||||
x:Key="{x:Static SystemColors.HighlightBrushKey}"
|
||||
Opacity="0.4"
|
||||
Color="AliceBlue" />
|
||||
<SolidColorBrush
|
||||
x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
|
||||
Opacity="0.4"
|
||||
Color="AliceBlue" />
|
||||
</Style.Resources>
|
||||
</Style>
|
||||
|
||||
<!-- ListBox -->
|
||||
<Style x:Key="PhotoListBox" TargetType="{x:Type ListBox}">
|
||||
<Setter Property="Foreground" Value="Black" />
|
||||
<Setter Property="Margin" Value="5" />
|
||||
<Setter Property="MinHeight" Value="100" />
|
||||
<Setter Property="MaxHeight" Value="800" />
|
||||
<Setter Property="IsSynchronizedWithCurrentItem" Value="True" />
|
||||
<Setter Property="SelectionMode" Value="Single" />
|
||||
<Setter Property="ItemContainerStyle" Value="{StaticResource PhotoListBoxItem}" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,148 +0,0 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls">
|
||||
|
||||
<!-- NullItemComboBox -->
|
||||
<Style x:Key="PrimaryNullItemComboBox" TargetType="uc:NullItemComboBox">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Height" Value="23" />
|
||||
<Setter Property="FocusVisualStyle" Value="{DynamicResource ComboBoxFocusVisual}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
|
||||
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorderBrush}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="Padding" Value="1" />
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
|
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
|
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="ItemTemplate">
|
||||
<Setter.Value>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Path=.}" TextWrapping="NoWrap" />
|
||||
</DataTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type uc:NullItemComboBox}">
|
||||
<Grid SnapsToDevicePixels="true">
|
||||
<Border
|
||||
x:Name="Bd"
|
||||
Padding="1"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<Grid Grid.IsSharedSizeScope="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="ComboBoxButton" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
x:Name="SelectedItemBorder"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="2,1,20,1">
|
||||
<ContentPresenter
|
||||
Margin="3,0"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
Content="{TemplateBinding SelectionBoxItem}"
|
||||
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
||||
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Border>
|
||||
<ToggleButton
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Style="{DynamicResource ComboBoxTransparentButtonStyle}" />
|
||||
<Label
|
||||
x:Name="label_nullText"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="5,3,20,3"
|
||||
Padding="0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Content="{TemplateBinding NullText}"
|
||||
IsHitTestVisible="False"
|
||||
Visibility="Hidden" />
|
||||
</Grid>
|
||||
</Border>
|
||||
<Popup
|
||||
x:Name="PART_Popup"
|
||||
AllowsTransparency="true"
|
||||
Focusable="false"
|
||||
IsOpen="{Binding Path=IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Placement="Bottom"
|
||||
PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
|
||||
<Microsoft_Windows_Themes:SystemDropShadowChrome
|
||||
x:Name="Shdw"
|
||||
MinWidth="{TemplateBinding ActualWidth}"
|
||||
MaxHeight="{TemplateBinding MaxDropDownHeight}"
|
||||
Color="Transparent">
|
||||
<Border
|
||||
x:Name="DropDownBorder"
|
||||
Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
|
||||
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
|
||||
BorderThickness="1">
|
||||
<ScrollViewer>
|
||||
<ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</Microsoft_Windows_Themes:SystemDropShadowChrome>
|
||||
</Popup>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="IsSelectionBoxHighlighted" Value="true" />
|
||||
<Condition Property="IsDropDownOpen" Value="false" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="Foreground" Value="#FF000000" />
|
||||
</MultiTrigger>
|
||||
<Trigger Property="IsSelectionBoxHighlighted" Value="true">
|
||||
<Setter TargetName="SelectedItemBorder" Property="Background" Value="{DynamicResource ControlSelectedBackgroundBrush}" />
|
||||
</Trigger>
|
||||
<Trigger SourceName="PART_Popup" Property="HasDropShadow" Value="true">
|
||||
<Setter TargetName="Shdw" Property="Margin" Value="0,0,5,5" />
|
||||
<Setter TargetName="Shdw" Property="Color" Value="#71000000" />
|
||||
</Trigger>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
<Setter TargetName="DropDownBorder" Property="MinHeight" Value="95" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
|
||||
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsGrouping" Value="true">
|
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
||||
</Trigger>
|
||||
<Trigger Property="SelectedItem" Value="{x:Null}">
|
||||
<Setter TargetName="label_nullText" Property="Visibility" Value="Visible" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEditable" Value="true">
|
||||
<Setter Property="IsTabStop" Value="false" />
|
||||
<Setter Property="Padding" Value="0,1" />
|
||||
<Setter Property="Template" Value="{DynamicResource ComboBoxEditableTemplate}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="EnumTranslationNullItemComboBox"
|
||||
BasedOn="{StaticResource PrimaryNullItemComboBox}"
|
||||
TargetType="{x:Type uc:NullItemComboBox}">
|
||||
<Setter Property="ItemTemplate" Value="{DynamicResource ListItemView}" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MaxWidth" Value="400" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,7 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<!-- Base -->
|
||||
<Style x:Key="BaseRadioButton" TargetType="RadioButton">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="VerticalAlignment" Value="Top" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,71 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Style x:Key="TextBoxBase" TargetType="{x:Type TextBox}">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Padding" Value="3" />
|
||||
<Setter Property="Height" Value="23" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
</Style>
|
||||
|
||||
<Style
|
||||
x:Key="TextBoxNoticeBase"
|
||||
BasedOn="{StaticResource TextBoxBase}"
|
||||
TargetType="{x:Type TextBox}">
|
||||
<Setter Property="MinHeight" Value="23" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Stretch" />
|
||||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||||
<Setter Property="AcceptsReturn" Value="True" />
|
||||
<Setter Property="VerticalScrollBarVisibility" Value="Auto" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextBoxNotice"
|
||||
BasedOn="{StaticResource TextBoxNoticeBase}"
|
||||
TargetType="{x:Type TextBox}">
|
||||
<Setter Property="MaxHeight" Value="150" />
|
||||
<Setter Property="Height" Value="auto" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextBoxNoticeLarge"
|
||||
BasedOn="{StaticResource TextBoxNoticeBase}"
|
||||
TargetType="{x:Type TextBox}">
|
||||
<Setter Property="MinHeight" Value="58" />
|
||||
<Setter Property="Height" Value="auto" />
|
||||
<Setter Property="MaxHeight" Value="300" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextBoxNoticeExtended"
|
||||
BasedOn="{StaticResource TextBoxNoticeBase}"
|
||||
TargetType="{x:Type TextBox}">
|
||||
<Setter Property="MinHeight" Value="150" />
|
||||
<Setter Property="Height" Value="150" />
|
||||
<Setter Property="MaxHeight" Value="150" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextBoxNoticeSmallExtended"
|
||||
BasedOn="{StaticResource TextBoxNoticeBase}"
|
||||
TargetType="{x:Type TextBox}">
|
||||
<Setter Property="MinHeight" Value="75" />
|
||||
<Setter Property="MaxHeight" Value="75" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ComboBoxEditableTextBox" TargetType="{x:Type TextBox}">
|
||||
<Setter Property="OverridesDefaultStyle" Value="true" />
|
||||
<Setter Property="AllowDrop" Value="true" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type TextBox}">
|
||||
<ScrollViewer
|
||||
x:Name="PART_ContentHost"
|
||||
Background="Transparent"
|
||||
Focusable="false"
|
||||
HorizontalScrollBarVisibility="Hidden"
|
||||
VerticalScrollBarVisibility="Hidden" />
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -1,76 +0,0 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
|
||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
|
||||
|
||||
<!-- Base -->
|
||||
<Style x:Key="BaseTextEdit" TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Margin" Value="3" />
|
||||
<Setter Property="Height" Value="23" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="BaseNumberMaskTextEdit"
|
||||
BasedOn="{StaticResource BaseTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="MaskType" Value="Numeric" />
|
||||
<Setter Property="MaskUseAsDisplayFormat" Value="True" />
|
||||
</Style>
|
||||
|
||||
<!-- Special -->
|
||||
<Style
|
||||
x:Key="TextEditNumber"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="N0" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextEditYear"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="0000" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextEditQm"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="######0.00 qm" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextEditCurrency"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="######0.## $" />
|
||||
<Setter Property="dxe:NumericMaskOptions.AlwaysShowDecimalSeparator" Value="False" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextEditHours"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="########0.## Std" />
|
||||
<Setter Property="dxe:NumericMaskOptions.AlwaysShowDecimalSeparator" Value="False" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextEditDays"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="########0.## Tage" />
|
||||
<Setter Property="dxe:NumericMaskOptions.AlwaysShowDecimalSeparator" Value="False" />
|
||||
</Style>
|
||||
|
||||
<!-- Numbers -->
|
||||
<Style
|
||||
x:Key="TextEditNumberDecimal"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="########0.##" />
|
||||
<Setter Property="dxe:NumericMaskOptions.AlwaysShowDecimalSeparator" Value="False" />
|
||||
</Style>
|
||||
<Style
|
||||
x:Key="TextEditNumberDecimalNullable"
|
||||
BasedOn="{StaticResource BaseNumberMaskTextEdit}"
|
||||
TargetType="{x:Type dxe:TextEdit}">
|
||||
<Setter Property="Mask" Value="#########.##" />
|
||||
<Setter Property="dxe:NumericMaskOptions.AlwaysShowDecimalSeparator" Value="False" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,149 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Style x:Key="ComboBoxTransparentButtonStyle" TargetType="{x:Type ToggleButton}">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="Width" Value="Auto" />
|
||||
<Setter Property="Height" Value="Auto" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Focusable" Value="false" />
|
||||
<Setter Property="ClickMode" Value="Press" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
||||
<ControlTemplate.Resources>
|
||||
<Storyboard x:Key="Timeline1">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="glow"
|
||||
Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="1" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="border"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"
|
||||
To="1.3"
|
||||
Duration="0:0:0.2" />
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="border"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"
|
||||
To="1.3"
|
||||
Duration="0:0:0.2" />
|
||||
</Storyboard>
|
||||
<Storyboard x:Key="Timeline2">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="glow"
|
||||
Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="border"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)"
|
||||
Duration="0:0:0.2" />
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="border"
|
||||
Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)"
|
||||
Duration="0:0:0.2" />
|
||||
</Storyboard>
|
||||
</ControlTemplate.Resources>
|
||||
<Grid SnapsToDevicePixels="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
x:Name="border"
|
||||
Grid.Column="1"
|
||||
Width="{DynamicResource {x:Static SystemParameters.ScrollWidthKey}}"
|
||||
Margin="0,0,0,0"
|
||||
Padding="0,0,0,0"
|
||||
BorderBrush="#FF000000"
|
||||
BorderThickness="1,1,1,1"
|
||||
CornerRadius="4,4,4,4">
|
||||
<Border.Background>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#FF000000" />
|
||||
<GradientStop Offset="1" Color="#FF262626" />
|
||||
</LinearGradientBrush>
|
||||
</Border.Background>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.5*" />
|
||||
<RowDefinition Height="0.5*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border
|
||||
x:Name="glow"
|
||||
Grid.RowSpan="2"
|
||||
Width="Auto"
|
||||
HorizontalAlignment="Stretch"
|
||||
CornerRadius="3,3,3,3"
|
||||
Opacity="0">
|
||||
<Border.Background>
|
||||
<RadialGradientBrush>
|
||||
<RadialGradientBrush.RelativeTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1.702" ScaleY="2.243" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="0" />
|
||||
<TranslateTransform X="-0.368" Y="-0.152" />
|
||||
</TransformGroup>
|
||||
</RadialGradientBrush.RelativeTransform>
|
||||
<GradientStop Offset="0" Color="#B28DBDFF" />
|
||||
<GradientStop Offset="1" Color="#008DBDFF" />
|
||||
</RadialGradientBrush>
|
||||
</Border.Background>
|
||||
</Border>
|
||||
<Border
|
||||
x:Name="shine"
|
||||
Grid.Row="0"
|
||||
Width="Auto"
|
||||
Margin="0,0,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
CornerRadius="3,3,0,0">
|
||||
<Border.Background>
|
||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#99FFFFFF" />
|
||||
<GradientStop Offset="1" Color="#33FFFFFF" />
|
||||
</LinearGradientBrush>
|
||||
</Border.Background>
|
||||
</Border>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="Webdings"
|
||||
FontSize="9"
|
||||
Text="6"
|
||||
TextWrapping="Wrap">
|
||||
<TextBlock.Foreground>
|
||||
<SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ControlColorKey}}" />
|
||||
</TextBlock.Foreground>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- <ToggleButton x:Name="Chrome" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" Style="{StaticResource ComboBoxReadonlyToggleButton}" Grid.ColumnSpan="2" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>-->
|
||||
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter TargetName="shine" Property="Opacity" Value="0.4" />
|
||||
<Setter TargetName="border" Property="Background" Value="#99FFA500" />
|
||||
<Setter TargetName="glow" Property="Visibility" Value="Hidden" />
|
||||
<Setter TargetName="border" Property="BorderBrush" Value="#FF0C0C0C" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Trigger.EnterActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Timeline1}" />
|
||||
</Trigger.EnterActions>
|
||||
<Trigger.ExitActions>
|
||||
<BeginStoryboard x:Name="Timeline2_BeginStoryboard" Storyboard="{StaticResource Timeline2}" />
|
||||
</Trigger.ExitActions>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,37 +0,0 @@
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Styles.Converters
|
||||
{
|
||||
public class EnumTranslationConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is Enum e)
|
||||
{
|
||||
if (EnumTranslations.Wohnhilfe2Translation.TryGetValue(e, out string v))
|
||||
{
|
||||
return v;
|
||||
}
|
||||
// RE:
|
||||
// EnumTranslationConverter, aber betrachtet nicht alle?
|
||||
// Brauche hier eig nur EnumTranslations.Gkv2Translation
|
||||
if (EnumTranslations.AllTranslations.TryGetValue(e, out string vv))
|
||||
{
|
||||
return vv;
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
|
||||
<Style x:Key="ComboBoxFocusVisual">
|
||||
<Setter Property="Control.Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate>
|
||||
<Rectangle
|
||||
Margin="4,4,21,4"
|
||||
SnapsToDevicePixels="true"
|
||||
Stroke="Black"
|
||||
StrokeDashArray="1 2"
|
||||
StrokeThickness="1" />
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- Control Templates -->
|
||||
<ControlTemplate x:Key="ComboBoxEditableTemplate" TargetType="{x:Type ComboBox}">
|
||||
<Grid SnapsToDevicePixels="true">
|
||||
<Border
|
||||
x:Name="Bd"
|
||||
Padding="1"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<Grid Grid.IsSharedSizeScope="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="ComboBoxButton" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBox
|
||||
x:Name="PART_EditableTextBox"
|
||||
Grid.Column="1"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
IsReadOnly="{Binding Path=IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Style="{DynamicResource ComboBoxEditableTextBox}" />
|
||||
<ToggleButton
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Background="{x:Null}"
|
||||
IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Style="{DynamicResource ComboBoxTransparentButtonStyle}" />
|
||||
</Grid>
|
||||
</Border>
|
||||
<Popup
|
||||
x:Name="PART_Popup"
|
||||
AllowsTransparency="true"
|
||||
Focusable="false"
|
||||
IsOpen="{Binding Path=IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Placement="Bottom"
|
||||
PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
|
||||
<Microsoft_Windows_Themes:SystemDropShadowChrome
|
||||
x:Name="Shdw"
|
||||
MinWidth="{TemplateBinding ActualWidth}"
|
||||
MaxHeight="{TemplateBinding MaxDropDownHeight}"
|
||||
Color="Transparent">
|
||||
<Border
|
||||
x:Name="DropDownBorder"
|
||||
Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
|
||||
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
|
||||
BorderThickness="1">
|
||||
<ScrollViewer>
|
||||
<ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</Microsoft_Windows_Themes:SystemDropShadowChrome>
|
||||
</Popup>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
<Setter TargetName="DropDownBorder" Property="MinHeight" Value="95" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
|
||||
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsGrouping" Value="true">
|
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
||||
</Trigger>
|
||||
<Trigger SourceName="PART_Popup" Property="HasDropShadow" Value="true">
|
||||
<Setter TargetName="Shdw" Property="Margin" Value="0,0,5,5" />
|
||||
<Setter TargetName="Shdw" Property="Color" Value="#71000000" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</ResourceDictionary>
|
||||
@@ -1,4 +0,0 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:conv="clr-namespace:BeWo.Styles.Converters" />
|
||||
@@ -1,41 +0,0 @@
|
||||
<ResourceDictionary
|
||||
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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<ResourceDictionary Source="Colors\Colors.xaml" />
|
||||
|
||||
<ResourceDictionary Source="DataTemplates\ControlTemplates.xaml" />
|
||||
<ResourceDictionary Source="DataTemplates\DataTemplates.xaml" />
|
||||
|
||||
<ResourceDictionary Source="ControlStyles\ButtonStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\CheckBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\ComboBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\CustomControlsStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\DateEditStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\GroupBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\LabelStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\ListBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\RadioButtonStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\TextBoxStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\TextEditStyles.xaml" />
|
||||
<ResourceDictionary Source="ControlStyles\ToggleButtonStyles.xaml" />
|
||||
|
||||
<!-- Benötigt TextBoxStyles + ToggleButtonStyles -->
|
||||
<ResourceDictionary Source="ControlStyles\NullItemComboBoxStyles.xaml" />
|
||||
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<!-- Default Styles -->
|
||||
<Style BasedOn="{StaticResource HideDisabledButton}" TargetType="Button" />
|
||||
<Style BasedOn="{StaticResource CheckBoxBase}" TargetType="CheckBox" />
|
||||
<Style BasedOn="{StaticResource NoWrapComboBox}" TargetType="ComboBox" />
|
||||
<Style BasedOn="{StaticResource PrimaryDateEdit}" TargetType="dxe:DateEdit" />
|
||||
<Style BasedOn="{StaticResource BaseLabel}" TargetType="Label" />
|
||||
<Style BasedOn="{StaticResource PrimaryNullItemComboBox}" TargetType="controls:NullItemComboBox" />
|
||||
<Style BasedOn="{StaticResource BaseRadioButton}" TargetType="RadioButton" />
|
||||
<Style BasedOn="{StaticResource TextBoxBase}" TargetType="TextBox" />
|
||||
<Style BasedOn="{StaticResource BaseTextEdit}" TargetType="dxe:TextEdit" />
|
||||
</ResourceDictionary>
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("BeWo.Styles")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("BeWo.Styles")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2025")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("9bab16de-e284-4b57-bd09-763fc5ce521a")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
157
BeWo.sln
157
BeWo.sln
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.12.35707.178
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30523.141
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{E7543C39-A44C-40C9-82C9-E7FAA2D9A852}"
|
||||
EndProject
|
||||
@@ -333,7 +333,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPZLeverkusen", "ReportImp\
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Weitblick-ambulantBeWo", "ReportImp\Weitblick-ambulantBeWo\Weitblick-ambulantBeWo.csproj", "{2E99BA67-61A2-47BD-8412-6ECBC126D83E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KommMitBewo", "ReportImp\KomMitBewo\KommMitBewo.csproj", "{1A585E99-09AB-4924-8FB9-9C9D1FE48044}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KomMitBewo", "ReportImp\KomMitBewo\KomMitBewo.csproj", "{1A585E99-09AB-4924-8FB9-9C9D1FE48044}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "skmRheydt", "ReportImp\skmRheydt\skmRheydt.csproj", "{B9C896DD-8C7D-4F37-B826-203D2E83D650}"
|
||||
EndProject
|
||||
@@ -377,6 +377,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaritasAhlen", "ReportImp\C
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TabulaRasa", "ReportImp\TabulaRasa\TabulaRasa.csproj", "{8E7F125B-32E9-4D59-A47A-C0994A980CD3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPZLeverkusen2", "SPZLeverkusen2\SPZLeverkusen2.csproj", "{74040CE0-1D24-4F47-91B9-7F166EADBC61}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatController", "..\Chat\ChatController\ChatController.csproj", "{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PraxisPusteblume", "ReportImp\PraxisPusteblume\PraxisPusteblume.csproj", "{A6E699B3-8399-4B8D-90F1-119B021F3D44}"
|
||||
@@ -439,6 +441,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkmLeverkusen", "ReportImp\
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EmpathieFachassistenz", "ReportImp\EmpathieFachassistenz\EmpathieFachassistenz.csproj", "{F618F17B-5905-4D09-A976-733011945A9B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LebenUndWohnenChristianWilke", "ReportImp\LebenUndWohnenChristianWilke\LebenUndWohnenChristianWilke.csproj", "{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaritasverbandDuerenJuelichEV", "ReportImp\CaritasverbandDuerenJuelichEV\CaritasverbandDuerenJuelichEV.csproj", "{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KoelnerBeWoSelbstbestimmtLeben", "ReportImp\KoelnerBeWoSelbstbestimmtLeben\KoelnerBeWoSelbstbestimmtLeben.csproj", "{FE240F9F-CC85-4F7D-9080-BEEBE76B0735}"
|
||||
@@ -503,6 +507,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutismusLeben", "ReportImp\
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LeWoAachen", "ReportImp\LeWoAachen\LeWoAachen.csproj", "{C9CDE69B-D3A1-4BF7-B988-1A4ACF2D664A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ToprakGmbH", "ReportImp\ToprakGmbH\ToprakGmbH.csproj", "{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AlzeyTeilhabe", "ReportImp\AlzeyTeilhabe\AlzeyTeilhabe.csproj", "{D173B437-EAD2-4535-B59D-76737600E058}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChristopherusHausFamilienhilfe", "ReportImp\ChristopherusHausFamilienhilfe\ChristopherusHausFamilienhilfe.csproj", "{B104F622-7BE6-4DFE-9E20-32915507860D}"
|
||||
@@ -595,14 +601,11 @@ 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
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoLauncher", "BeWoLauncher\BeWoLauncher.csproj", "{E3BA193A-A64F-4CE6-91BE-F54E551797BE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerUtils", "Server\Components\ServerUtils\ServerUtils.csproj", "{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedLauncher", "SharedLauncher\SharedLauncher.csproj", "{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AICore", "Server\Components\AICore\AICore.csproj", "{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DownloadServer", "DownloadServer\DownloadServer.csproj", "{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -3007,6 +3010,22 @@ Global
|
||||
{8E7F125B-32E9-4D59-A47A-C0994A980CD3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{8E7F125B-32E9-4D59-A47A-C0994A980CD3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8E7F125B-32E9-4D59-A47A-C0994A980CD3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
@@ -3503,6 +3522,22 @@ Global
|
||||
{F618F17B-5905-4D09-A976-733011945A9B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{F618F17B-5905-4D09-A976-733011945A9B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F618F17B-5905-4D09-A976-733011945A9B}.Release|x86.Build.0 = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
@@ -4015,6 +4050,22 @@ Global
|
||||
{C9CDE69B-D3A1-4BF7-B988-1A4ACF2D664A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{C9CDE69B-D3A1-4BF7-B988-1A4ACF2D664A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C9CDE69B-D3A1-4BF7-B988-1A4ACF2D664A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D173B437-EAD2-4535-B59D-76737600E058}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{D173B437-EAD2-4535-B59D-76737600E058}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{D173B437-EAD2-4535-B59D-76737600E058}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
@@ -4751,38 +4802,54 @@ 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
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EFE05C79-E0DD-4311-8B90-A8DA7EBDF36F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|.NET.Build.0 = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|.NET.Build.0 = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -4967,6 +5034,7 @@ Global
|
||||
{888961E7-A394-4F3B-A667-09EA2F80ED4B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{96A3E6E3-3F9B-4CAB-B306-3F23DE6A40F9} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{8E7F125B-32E9-4D59-A47A-C0994A980CD3} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{74040CE0-1D24-4F47-91B9-7F166EADBC61} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{8A83C4DC-A0B1-4A51-AE1D-366D7A05B298} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
|
||||
{A6E699B3-8399-4B8D-90F1-119B021F3D44} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{E590CC37-E2A4-488F-BBA2-C70042BD488D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
@@ -4998,6 +5066,7 @@ Global
|
||||
{56602D65-47F7-4175-A065-A044FE7F6C81} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{E30D35E8-9B15-4345-B8B7-422415A659DA} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{F618F17B-5905-4D09-A976-733011945A9B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{48324B9E-4EC0-47B9-BBA7-6FD61384D25A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{86E14AC3-CD3F-4E63-8154-26DFA2E6ABEB} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{FE240F9F-CC85-4F7D-9080-BEEBE76B0735} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{976CC5EF-26C9-4415-84C6-33A450222F04} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
@@ -5030,6 +5099,7 @@ Global
|
||||
{CEA6A3D2-DDD4-4699-89AE-FEF7908C46D5} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{54419AAB-93DB-482F-B304-035D001081DD} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{C9CDE69B-D3A1-4BF7-B988-1A4ACF2D664A} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{12BC3B31-7499-44EC-B7B9-E3CEB2D9997B} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{D173B437-EAD2-4535-B59D-76737600E058} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{B104F622-7BE6-4DFE-9E20-32915507860D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
{39876291-220B-412E-8ADE-B7A24621656D} = {D8A691C5-146D-4613-86CC-438F02FE9106}
|
||||
@@ -5076,9 +5146,8 @@ 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}
|
||||
{E3BA193A-A64F-4CE6-91BE-F54E551797BE} = {E7543C39-A44C-40C9-82C9-E7FAA2D9A852}
|
||||
{18019E8C-C6DA-4B1B-9C2B-908BC14911AB} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.AI.Controls.VoiceToTextButtonControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Name="root">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
x:Name="ButtonOpenTranskriptionView"
|
||||
Margin="0"
|
||||
Click="ButtonOpenTranskriptionView_Click">
|
||||
<Image
|
||||
Width="22"
|
||||
Height="22"
|
||||
Margin="0,0,0,0"
|
||||
Source="/BeWoPlaner;component/Ressources/Icons/KI/Icon_Mikro_Weiss+Orange.png" />
|
||||
|
||||
</Button>
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
</UserControl>
|
||||
@@ -1,134 +0,0 @@
|
||||
using BeWo.AI.View;
|
||||
using BeWo.Services;
|
||||
using BeWo.ViewModel.ListViewModel;
|
||||
using BS.Shared.Translation;
|
||||
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.AI.Controls
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für VoiceToTextButtonControl.xaml
|
||||
/// </summary>
|
||||
public partial class VoiceToTextButtonControl : UserControl
|
||||
{
|
||||
public static readonly DependencyProperty TargetTextBoxProperty =
|
||||
DependencyProperty.Register(
|
||||
nameof(TargetTextBox),
|
||||
typeof(TextBox),
|
||||
typeof(VoiceToTextButtonControl));
|
||||
|
||||
public VoiceToTextButtonControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
if (!HasRightToUseAIVoice)
|
||||
{
|
||||
root.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public TextBox TargetTextBox
|
||||
{
|
||||
get => (TextBox)GetValue(TargetTextBoxProperty);
|
||||
set => SetValue(TargetTextBoxProperty, value);
|
||||
}
|
||||
|
||||
public static bool HasRightToUseAIVoice
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!BeWoApp.AppSettings.ShowAIVoice || String.IsNullOrEmpty(BeWoApp.LoggedOnEmployeeOwnChatCode) || !BeWoApp.HasLoggedOnUserRight(BS.Shared.UserRightType.AiVoiceView))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtonOpenTranskriptionView_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OpenTranskriptionView();
|
||||
}
|
||||
|
||||
public void OpenTranskriptionView()
|
||||
{
|
||||
|
||||
var view = new AiTranskriptionView();
|
||||
|
||||
view.InitView();
|
||||
|
||||
var serviceRecordList = DataContext as ServiceRecordListVM;
|
||||
|
||||
if (serviceRecordList is null)
|
||||
throw new NotImplementedException("Can't find DataContext");
|
||||
|
||||
var settings = serviceRecordList.AiUserSetting;
|
||||
|
||||
if (settings is null)
|
||||
throw new NotImplementedException("Can't find DataContext (settings)");
|
||||
|
||||
view.DataContext = settings;
|
||||
|
||||
var factory = new BeWoWindowFactory();
|
||||
var beWoWindow = factory.GetAnimatedBeWoWindow(Translator.Translate("BeWoPlaner"), view, 500, 600);
|
||||
|
||||
view.ApplyClicked += (s, e) =>
|
||||
{
|
||||
if (TargetTextBox != null)
|
||||
{
|
||||
InsertTextAtSelection(view.GetText());
|
||||
}
|
||||
|
||||
beWoWindow.Close();
|
||||
};
|
||||
|
||||
view.CancelClicked += (s, e) =>
|
||||
{
|
||||
if (!String.IsNullOrEmpty(view.GetText()))
|
||||
{
|
||||
if (MessageBox.Show("Sind Sie sicher, dass Sie abbrechnen und den Text verwerfen möchten?", "Abbrechen", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
|
||||
{
|
||||
beWoWindow.Close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
beWoWindow.Close();
|
||||
}
|
||||
};
|
||||
|
||||
beWoWindow.Closed += (s, e) =>
|
||||
{
|
||||
settings.AutoStartRecording = settings.DataContract.AutoStartRecording;
|
||||
};
|
||||
|
||||
beWoWindow.ShowDialog();
|
||||
}
|
||||
|
||||
private void InsertTextAtSelection(string neuerText)
|
||||
{
|
||||
int start = TargetTextBox.SelectionStart;
|
||||
int length = TargetTextBox.SelectionLength;
|
||||
|
||||
TargetTextBox.Text =
|
||||
TargetTextBox.Text.Remove(start, length)
|
||||
.Insert(start, neuerText);
|
||||
|
||||
TargetTextBox.CaretIndex = start + neuerText.Length;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,287 +0,0 @@
|
||||
<view:BeWoView
|
||||
x:Class="BeWo.AI.View.AiTranskriptionView"
|
||||
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"
|
||||
d:DesignHeight="400"
|
||||
d:DesignWidth="500"
|
||||
Focusable="True"
|
||||
Loaded="BeWoView_Loaded"
|
||||
mc:Ignorable="d">
|
||||
<Grid Margin="0" Background="{DynamicResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
Height="Auto"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Vertical">
|
||||
<Button
|
||||
x:Name="ButtonStart"
|
||||
Grid.Row="1"
|
||||
Width="270"
|
||||
Height="50"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Click="ButtonStartStop_Click">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="170" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image
|
||||
Width="32"
|
||||
Height="32"
|
||||
Margin="0,0,10,0"
|
||||
Source="/BeWoPlaner;component/Ressources/Icons/KI/Icon_Mikro_Weiss+Orange.png" />
|
||||
<TextBlock
|
||||
x:Name="ButtonText"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Center"
|
||||
Text="{t:Translate Aufnahme initiieren}" />
|
||||
<Viewbox
|
||||
x:Name="VBPlay"
|
||||
Grid.Column="2"
|
||||
Width="40"
|
||||
Height="40"
|
||||
Visibility="Visible">
|
||||
<Grid Width="100" Height="100">
|
||||
<Ellipse
|
||||
Width="80"
|
||||
Height="80"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="Transparent"
|
||||
Stroke="White"
|
||||
StrokeThickness="6" />
|
||||
|
||||
<Path Data="M 40,30 L 40,70 L 70,50 Z" Fill="White" />
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
<Viewbox
|
||||
x:Name="VBStop"
|
||||
Grid.Column="2"
|
||||
Width="40"
|
||||
Height="40"
|
||||
Visibility="Hidden">
|
||||
<Grid Width="100" Height="100">
|
||||
<Ellipse
|
||||
Width="80"
|
||||
Height="80"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="Transparent"
|
||||
StrokeThickness="6">
|
||||
<Ellipse.Stroke>
|
||||
<LinearGradientBrush x:Name="RingGradient" StartPoint="0,0" EndPoint="1,0">
|
||||
|
||||
<LinearGradientBrush.RelativeTransform>
|
||||
<RotateTransform x:Name="GradientRotate" CenterX="0.5" CenterY="0.5" />
|
||||
</LinearGradientBrush.RelativeTransform>
|
||||
|
||||
<GradientStop Offset="0" Color="Red" />
|
||||
<GradientStop Offset="1" Color="#00FF0000" />
|
||||
</LinearGradientBrush>
|
||||
</Ellipse.Stroke>
|
||||
|
||||
<Ellipse.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<BeginStoryboard>
|
||||
<Storyboard RepeatBehavior="Forever">
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="GradientRotate"
|
||||
Storyboard.TargetProperty="Angle"
|
||||
From="0"
|
||||
To="360"
|
||||
Duration="0:0:2" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger>
|
||||
</Ellipse.Triggers>
|
||||
</Ellipse>
|
||||
|
||||
<Rectangle
|
||||
Width="33"
|
||||
Height="33"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="Red" />
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
</Grid>
|
||||
</Button>
|
||||
<CheckBox
|
||||
Margin="3"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="#FF000000"
|
||||
IsChecked="{Binding AutoStartRecording}">
|
||||
Aufnahme zukünftig automatisch initiieren
|
||||
</CheckBox>
|
||||
<Label
|
||||
x:Name="lblStatus"
|
||||
Height="23"
|
||||
HorizontalAlignment="Center" />
|
||||
<StackPanel
|
||||
x:Name="PanelAnimation"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal"
|
||||
Visibility="Hidden">
|
||||
|
||||
<StackPanel.Resources>
|
||||
<Storyboard x:Key="DotAnimation" RepeatBehavior="Forever">
|
||||
<DoubleAnimation
|
||||
AutoReverse="True"
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
From="0.3"
|
||||
To="1"
|
||||
Duration="0:0:0.6" />
|
||||
</Storyboard>
|
||||
</StackPanel.Resources>
|
||||
|
||||
<!-- Punkt 1 -->
|
||||
<Ellipse
|
||||
Width="8"
|
||||
Height="8"
|
||||
Margin="3"
|
||||
Fill="#007ACC">
|
||||
<Ellipse.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<BeginStoryboard Storyboard="{StaticResource DotAnimation}" />
|
||||
</EventTrigger>
|
||||
</Ellipse.Triggers>
|
||||
</Ellipse>
|
||||
|
||||
<!-- Punkt 2 -->
|
||||
<Ellipse
|
||||
Width="8"
|
||||
Height="8"
|
||||
Margin="3"
|
||||
Fill="#007ACC"
|
||||
Opacity="0.3">
|
||||
<Ellipse.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<BeginStoryboard>
|
||||
<Storyboard RepeatBehavior="Forever">
|
||||
<DoubleAnimation
|
||||
AutoReverse="True"
|
||||
BeginTime="0:0:0.2"
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
From="0.3"
|
||||
To="1"
|
||||
Duration="0:0:0.6" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger>
|
||||
</Ellipse.Triggers>
|
||||
</Ellipse>
|
||||
|
||||
<!-- Punkt 3 -->
|
||||
<Ellipse
|
||||
Width="8"
|
||||
Height="8"
|
||||
Margin="3"
|
||||
Fill="#007ACC"
|
||||
Opacity="0.3">
|
||||
<Ellipse.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<BeginStoryboard>
|
||||
<Storyboard RepeatBehavior="Forever">
|
||||
<DoubleAnimation
|
||||
AutoReverse="True"
|
||||
BeginTime="0:0:0.4"
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
From="0.3"
|
||||
To="1"
|
||||
Duration="0:0:0.6" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger>
|
||||
</Ellipse.Triggers>
|
||||
</Ellipse>
|
||||
|
||||
</StackPanel>
|
||||
<StackPanel
|
||||
x:Name="PanelAiButtons"
|
||||
HorizontalAlignment="Right"
|
||||
Orientation="Horizontal"
|
||||
Visibility="Collapsed">
|
||||
<StackPanel.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="/BeWoPlaner;component/Styles/ModernOrangeBlack.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</StackPanel.Resources>
|
||||
|
||||
<Button
|
||||
x:Name="btn_AiPromptbaustein"
|
||||
Padding="0"
|
||||
Command="{Binding OpenAiPromptSelectionCommand}"
|
||||
Content="{StaticResource AiDesignsIconKIFunktionWeissGruen}"
|
||||
Style="{StaticResource PrimaryButton}" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
||||
<TextBox
|
||||
x:Name="TextBoxErgebnis"
|
||||
Grid.Row="1"
|
||||
Margin="3"
|
||||
AcceptsReturn="True"
|
||||
AcceptsTab="True"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
Style="{x:Null}"
|
||||
TextWrapping="Wrap"
|
||||
VerticalScrollBarVisibility="Auto" />
|
||||
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="2"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<TextBlock Margin="3" FontSize="10">
|
||||
Dieses System verwendet KI.<LineBreak />
|
||||
KI-generierte Inhalte sind zu prüfen.</TextBlock>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="2"
|
||||
Height="Auto"
|
||||
Margin="5,10,10,10"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
x:Name="btnApply"
|
||||
Height="25"
|
||||
Margin="0,0,3,0"
|
||||
Click="ButtonApply_Click"
|
||||
Content="{t:Translate Text übernehmen}" />
|
||||
<Button
|
||||
x:Name="btnClose"
|
||||
Height="25"
|
||||
Margin="0,0,3,0"
|
||||
Click="ButtonClose_Click"
|
||||
Content=" Abbrechen " />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</view:BeWoView>
|
||||
@@ -1,322 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Threading;
|
||||
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 BeWo.ViewModel.View.AI;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using BS.Shared.Translation;
|
||||
using DevExpress.Mvvm;
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.Xpf.Editors;
|
||||
using DevExpress.Xpf.Grid;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
|
||||
namespace BeWo.AI.View
|
||||
{
|
||||
public partial class AiTranskriptionView : BeWoView
|
||||
{
|
||||
public event EventHandler ApplyClicked;
|
||||
public event EventHandler CancelClicked;
|
||||
|
||||
|
||||
bool timerActive = false;
|
||||
AiVoiceDataDC currentVoiceData = null;
|
||||
public ICommand OpenAiPromptSelectionCommand { get; set; }
|
||||
|
||||
public AiTranskriptionView()
|
||||
{
|
||||
InitializeComponent();
|
||||
//InitAiPrompt();
|
||||
|
||||
}
|
||||
|
||||
//private void InitAiPrompt()
|
||||
//{
|
||||
// var vm_doku = new AiPromptbausteinSelectionComplexViewModel(AiActionType.ServiceRecordDocumentation);
|
||||
|
||||
// vm_doku.PromptAccepted += PromptAccepted;
|
||||
|
||||
// OpenAiPromptSelectionCommand = new DelegateCommand(() =>
|
||||
// {
|
||||
// BeWoApp.MainControl.WindowService.Show(vm_doku);
|
||||
// }, () => !string.IsNullOrWhiteSpace(TextBoxErgebnis.Text));
|
||||
//}
|
||||
|
||||
//private void PromptAccepted(object sender, AiPromptbausteinPromptVM prompt)
|
||||
//{
|
||||
// if (prompt is null)
|
||||
// throw new NotImplementedException();
|
||||
|
||||
// // 1. Information aufbereiten
|
||||
// // 1.1 Prompt
|
||||
// var prompt_oid = prompt.DataContract.Oid.Value;
|
||||
// var prompt_version = prompt.DataContract.Version;
|
||||
|
||||
// // 1.2 Hilfeplan
|
||||
// var support_concept = SelectedCustomerNode.SupportConceptTreeNodeDC.SupportConcept;
|
||||
// var support_concept_oid = support_concept.SupportConceptOid;
|
||||
// var support_concept_version = support_concept.SupportConceptVersion;
|
||||
|
||||
// // 1.3 Aktuelles Doku Feld
|
||||
// var doku_feld = TextBoxErgebnis.Text;
|
||||
|
||||
// // 1.4 Sichtbaren Zeiterfassungseinträge
|
||||
// var service_records = CurrentVisibleVMs;
|
||||
// var sr_refs = service_records.Select(x => new BeWoRefDC(x.DataContract.ServiceRecordOid.Value, x.DataContract.ServiceRecordVersion));
|
||||
|
||||
// // 1.5 Costbearer
|
||||
// var costbearer = SelectedCustomerNode.SupportConceptTreeNodeDC.CostBearer;
|
||||
// var cb_oid = costbearer.CostBearerOid.Value;
|
||||
// var cb_ver = costbearer.CostBearerVersion;
|
||||
|
||||
// // Service Aufruf
|
||||
// var req = new AiFunctionDocRequest()
|
||||
// {
|
||||
// AiPromptbausteinPrompt = new BeWoRefDC(prompt_oid, prompt_version),
|
||||
// SupportConcept = new BeWoRefDC(support_concept_oid, support_concept_version),
|
||||
// ServiceRecords = sr_refs,
|
||||
// CostBearer = new BeWoRefDC(cb_oid, cb_ver),
|
||||
// Dokumentation = doku_feld,
|
||||
// };
|
||||
|
||||
// ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.ExecuteAiFunctionServiceRecordDocumentation(req),
|
||||
// callback =>
|
||||
// {
|
||||
// var viewModel = new AiPromptbausteinActionResultViewModel();
|
||||
|
||||
// viewModel.Result = callback.Result;
|
||||
|
||||
// viewModel.Accept_Button_Clicked += (s, e) =>
|
||||
// {
|
||||
// var sb = new StringBuilder();
|
||||
|
||||
// sb.AppendLine("AI Antwort:");
|
||||
// sb.AppendLine(viewModel.Result);
|
||||
|
||||
// sb.AppendLine();
|
||||
// sb.AppendLine("Original:");
|
||||
// sb.AppendLine(AktuellerDokutext);
|
||||
|
||||
// var str = sb.ToString();
|
||||
// var idx = _AiActionHistoryIndex;
|
||||
// var count = _AiActionHistory.Count;
|
||||
|
||||
// if (count - 1 > idx)
|
||||
// {
|
||||
// _AiActionHistory.RemoveRange(idx + 1, count - idx - 1);
|
||||
// }
|
||||
|
||||
// if (AktuellerDokutext != _AiActionHistory[_AiActionHistoryIndex])
|
||||
// {
|
||||
// _AiActionHistory.Add(AktuellerDokutext);
|
||||
// _AiActionHistoryIndex++;
|
||||
// }
|
||||
|
||||
// _AiActionHistory.Add(str);
|
||||
// _AiActionHistoryIndex++;
|
||||
|
||||
// AktuellerDokutext = str;
|
||||
// };
|
||||
// viewModel.Replace_Button_Clicked += (s, e) =>
|
||||
// {
|
||||
// var str = viewModel.Result;
|
||||
// var idx = _AiActionHistoryIndex;
|
||||
// var count = _AiActionHistory.Count;
|
||||
|
||||
// if (count - 1 > idx)
|
||||
// {
|
||||
// _AiActionHistory.RemoveRange(idx + 1, count - idx - 1);
|
||||
// }
|
||||
|
||||
// if (AktuellerDokutext != _AiActionHistory[_AiActionHistoryIndex])
|
||||
// {
|
||||
// _AiActionHistory.Add(AktuellerDokutext);
|
||||
// _AiActionHistoryIndex++;
|
||||
// }
|
||||
|
||||
// _AiActionHistory.Add(str);
|
||||
// _AiActionHistoryIndex++;
|
||||
|
||||
// AktuellerDokutext = str;
|
||||
// };
|
||||
// viewModel.Retry_Button_Clicked += (s, e) =>
|
||||
// {
|
||||
// PromptAccepted(sender, prompt);
|
||||
// };
|
||||
|
||||
// BeWoApp.MainControl.WindowService.Show(viewModel);
|
||||
// }
|
||||
// );
|
||||
//}
|
||||
|
||||
public void InitView()
|
||||
{
|
||||
}
|
||||
|
||||
public string GetText()
|
||||
{
|
||||
return TextBoxErgebnis.Text;
|
||||
}
|
||||
|
||||
private void StartAufnahme()
|
||||
{
|
||||
timerActive = true;
|
||||
//lblStatus.Content = "Um die Aufnahme zu starten, klicken Sie auf den Link, den Sie in ownChat erhalten haben.";
|
||||
StartTimer();
|
||||
|
||||
ButtonText.Text = "Aufnahme abbrechen";
|
||||
currentVoiceData = ServiceFacade.DoOperationsServiceSync(s => s.StartAIVoice());
|
||||
PanelAnimation.Visibility = Visibility.Visible;
|
||||
|
||||
VBPlay.Visibility = Visibility.Hidden;
|
||||
VBStop.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void StopAufnahme()
|
||||
{
|
||||
timerActive = false;
|
||||
|
||||
VBPlay.Visibility = Visibility.Visible;
|
||||
VBStop.Visibility = Visibility.Hidden;
|
||||
}
|
||||
|
||||
|
||||
private void StartTimer()
|
||||
{
|
||||
var sec = BeWoApp.AppSettings.AiVoiceRequestInterval;
|
||||
if (sec <= 0)
|
||||
{
|
||||
sec = 10;
|
||||
}
|
||||
new DispatcherTimer(
|
||||
TimeSpan.FromMilliseconds(sec * 1000),
|
||||
DispatcherPriority.Background,
|
||||
(s1, e1) =>
|
||||
{
|
||||
CheckTranskriptionStatus();
|
||||
if (!timerActive)
|
||||
{
|
||||
((DispatcherTimer)s1).Stop();
|
||||
|
||||
PanelAnimation.Visibility = Visibility.Hidden;
|
||||
ButtonText.Text = "Neue Aufnahme starten";
|
||||
lblStatus.Content = "";
|
||||
}
|
||||
},
|
||||
this.Dispatcher).Start();
|
||||
}
|
||||
|
||||
private void CheckTranskriptionStatus()
|
||||
{
|
||||
currentVoiceData = ServiceFacade.DoOperationsServiceSync(s => s.GetAIVoiceTranscript(currentVoiceData));
|
||||
|
||||
if (!String.IsNullOrEmpty(currentVoiceData.TranskriptionText))
|
||||
{
|
||||
InsertTextAtSelection(currentVoiceData.TranskriptionText);
|
||||
lblStatus.Content = Translator.Translate("Transkription erfolgreich durchgeführt");
|
||||
StopAufnahme();
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(currentVoiceData.Error))
|
||||
{
|
||||
lblStatus.Content = currentVoiceData.Error;
|
||||
StopAufnahme();
|
||||
}
|
||||
else if (!String.IsNullOrEmpty(currentVoiceData.StatusMessage))
|
||||
{
|
||||
lblStatus.Content = currentVoiceData.StatusMessage;
|
||||
}
|
||||
}
|
||||
|
||||
private void InsertTextAtSelection(string neuerText)
|
||||
{
|
||||
int start = TextBoxErgebnis.SelectionStart;
|
||||
int length = TextBoxErgebnis.SelectionLength;
|
||||
|
||||
TextBoxErgebnis.Text =
|
||||
TextBoxErgebnis.Text.Remove(start, length)
|
||||
.Insert(start, neuerText);
|
||||
|
||||
TextBoxErgebnis.CaretIndex = start + neuerText.Length;
|
||||
}
|
||||
|
||||
private void ButtonStartStop_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
if (!timerActive)
|
||||
{
|
||||
StartAufnahme();
|
||||
}
|
||||
else
|
||||
{
|
||||
ButtonText.Text = "Bitte warten...";
|
||||
lblStatus.Content = "Aufnahme wird abgebrochen. Bitte warten...";
|
||||
StopAufnahme();
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtonApply_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Save(() => ApplyClicked?.Invoke(this, EventArgs.Empty));
|
||||
}
|
||||
|
||||
private void ButtonClose_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Save(() => CancelClicked?.Invoke(this, EventArgs.Empty));
|
||||
}
|
||||
|
||||
private void Save(Action finish = null)
|
||||
{
|
||||
var userSettings = DataContext as AiUserSettingVM;
|
||||
|
||||
if (userSettings.IsDirty)
|
||||
{
|
||||
var dc = userSettings.CommitToDataContract();
|
||||
|
||||
ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.UpdateUserSetting(dc),
|
||||
st =>
|
||||
{
|
||||
userSettings.UpdateByDataContract(st);
|
||||
finish();
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
private void BeWoView_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CheckForAutoStartRecording();
|
||||
}
|
||||
|
||||
private void CheckForAutoStartRecording()
|
||||
{
|
||||
var viewmodel = DataContext as AiUserSettingVM;
|
||||
|
||||
if (viewmodel is null)
|
||||
return;
|
||||
|
||||
if (viewmodel.AutoStartRecording)
|
||||
ButtonStartStop_Click(this, new RoutedEventArgs());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,133 +1,92 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.BSLogoControl"
|
||||
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"
|
||||
x:Name="UserControl"
|
||||
Width="800"
|
||||
Height="800"
|
||||
Foreground="AliceBlue">
|
||||
<UserControl.Resources>
|
||||
<SolidColorBrush x:Key="FillBrush" Color="#FFF18A00" />
|
||||
<UserControl 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" x:Class="BeWo.BSLogoControl" x:Name="UserControl" Foreground="AliceBlue" Width="800" Height="800">
|
||||
<UserControl.Resources>
|
||||
<SolidColorBrush x:Key="FillBrush" Color="#FFF18A00" />
|
||||
|
||||
<Style TargetType="{x:Type Ellipse}">
|
||||
<Setter Property="Fill" Value="{Binding Path=Foreground, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" />
|
||||
<Setter Property="Width" Value="20" />
|
||||
<Setter Property="Height" Value="20" />
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<Style TargetType="{x:Type Ellipse}">
|
||||
<Setter Property="Fill" Value="{Binding Path=Foreground, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" />
|
||||
<Setter Property="Width" Value="20" />
|
||||
<Setter Property="Height" Value="20" />
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
<Viewbox
|
||||
MaxWidth="{Binding Path=Width, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
|
||||
MaxHeight="{Binding Path=Height, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
|
||||
Stretch="Fill"
|
||||
StretchDirection="Both">
|
||||
<Canvas Width="800" Height="800">
|
||||
<Canvas
|
||||
Canvas.Left="350"
|
||||
Canvas.Top="350"
|
||||
Width="100"
|
||||
Height="100">
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas
|
||||
Canvas.Left="350"
|
||||
Canvas.Top="350"
|
||||
Width="100"
|
||||
Height="100"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1.6" ScaleY="1.6" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-20" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas
|
||||
Canvas.Left="350"
|
||||
Canvas.Top="350"
|
||||
Width="100"
|
||||
Height="100"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="2.5" ScaleY="2.5" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-42" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas
|
||||
Canvas.Left="350"
|
||||
Canvas.Top="350"
|
||||
Width="100"
|
||||
Height="100"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="3.8" ScaleY="3.8" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-65" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Grid>
|
||||
<Viewbox StretchDirection="Both" Stretch="Fill" MaxWidth="{Binding Path=Width, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" MaxHeight="{Binding Path=Height, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
|
||||
<Canvas Width="800" Height="800">
|
||||
<Canvas Width="100" Height="100" Canvas.Left="350" Canvas.Top="350">
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas Width="100" Height="100" Canvas.Left="350" Canvas.Top="350" RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1.6" ScaleY="1.6" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-20" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas Width="100" Height="100" Canvas.Left="350" Canvas.Top="350" RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="2.5" ScaleY="2.5" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-42" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas Width="100" Height="100" Canvas.Left="350" Canvas.Top="350" RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="3.8" ScaleY="3.8" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-65" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
|
||||
<Canvas
|
||||
Canvas.Left="350"
|
||||
Canvas.Top="350"
|
||||
Width="100"
|
||||
Height="100"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="5.8" ScaleY="5.8" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-88" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas
|
||||
Canvas.Left="350"
|
||||
Canvas.Top="350"
|
||||
Width="100"
|
||||
Height="100"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="9" ScaleY="9" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-110" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas Width="100" Height="100" Canvas.Left="350" Canvas.Top="350" RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="5.8" ScaleY="5.8" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-88" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
<Canvas Width="100" Height="100" Canvas.Left="350" Canvas.Top="350" RenderTransformOrigin="0.5,0.5">
|
||||
<Canvas.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="9" ScaleY="9" />
|
||||
<SkewTransform AngleX="0" AngleY="0" />
|
||||
<RotateTransform Angle="-110" />
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Canvas.RenderTransform>
|
||||
<Ellipse Canvas.Left="40" Canvas.Top="6" />
|
||||
<Ellipse Canvas.Left="10" Canvas.Top="56" />
|
||||
<Ellipse Canvas.Left="70" Canvas.Top="56" />
|
||||
</Canvas>
|
||||
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
</Grid>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
</Grid>
|
||||
|
||||
|
||||
</UserControl>
|
||||
805
BeWo/BeWo.csproj
805
BeWo/BeWo.csproj
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,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\|C:\publish\bewoplaner\|publish\|D:\Projects\beyondsoft\BeWoPlaner\PublishTest\|D:\Projects\beyondsoft\BeWoPlaner\PublishDev\</PublishUrlHistory>
|
||||
<InstallUrlHistory>https://app.ownsoft.de/|https://app.ownsoft.de/test/|https://app.ownsoft.de/dev/|http://app.ownsoft.de/dev/|http://app.beyondsoft.de/dev/</InstallUrlHistory>
|
||||
<PublishUrlHistory>D:\Projects\beyondsoft\BeWoPlaner\Publish\|publish\|D:\Projects\beyondsoft\BeWoPlaner\PublishTest\|D:\Projects\beyondsoft\BeWoPlaner\PublishDev\|D:\Projects\beyondsoft\BeWoPlaner\Publish45\</PublishUrlHistory>
|
||||
<InstallUrlHistory>https://app.ownsoft.de/|https://app.ownsoft.de/dev/|http://app.ownsoft.de/dev/|http://app.beyondsoft.de/dev/|http://app.beyondsoft.de/</InstallUrlHistory>
|
||||
<SupportUrlHistory />
|
||||
<UpdateUrlHistory>https://app.ownsoft.de/|https://app.ownsoft.de/bewoplaner.application/</UpdateUrlHistory>
|
||||
<BootstrapperUrlHistory />
|
||||
@@ -18,7 +18,5 @@
|
||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
||||
<RemoteDebugMachine>
|
||||
</RemoteDebugMachine>
|
||||
<StartArguments>
|
||||
</StartArguments>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
1128
BeWo/BeWoApp.xaml
1128
BeWo/BeWoApp.xaml
File diff suppressed because it is too large
Load Diff
1101
BeWo/BeWoApp.xaml.cs
1101
BeWo/BeWoApp.xaml.cs
File diff suppressed because it is too large
Load Diff
@@ -1,34 +0,0 @@
|
||||
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("5.1.6");
|
||||
var feature = BeWoClientFeature.AI;
|
||||
|
||||
#if !DEBUG
|
||||
stage = BeWoClientReleaseStage.Release;
|
||||
feature = BeWoClientFeature.None;
|
||||
#endif
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,10 @@
|
||||
<Window
|
||||
x:Class="BeWo.ConfirmDemoDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner"
|
||||
Width="360"
|
||||
Height="240"
|
||||
ResizeMode="NoResize"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
WindowStyle="None">
|
||||
|
||||
<Grid Margin="0,0,0,0" Background="{x:Null}">
|
||||
<Border
|
||||
Padding="5,5,5,5"
|
||||
Background="{DynamicResource LoginBackgroundColor}"
|
||||
BorderBrush="Black"
|
||||
BorderThickness="1">
|
||||
<Window x:Class="BeWo.ConfirmDemoDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner" Height="240" Width="360" WindowStartupLocation="CenterScreen" WindowStyle="None" ResizeMode="NoResize" >
|
||||
|
||||
<Grid Background="{x:Null}" Margin="0,0,0,0">
|
||||
<Border BorderThickness="1" Padding="5,5,5,5" BorderBrush="Black" Background="{DynamicResource LoginBackgroundColor}">
|
||||
<Grid Opacity="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -27,63 +17,27 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image
|
||||
Grid.Row="0"
|
||||
Height="45"
|
||||
Margin="7,7,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Source="Ressources\Icons\bewoplaner_logo_small.png" />
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Grid Grid.Row="1" Margin="0,10,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" ></RowDefinition>
|
||||
<RowDefinition Height="Auto" ></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock
|
||||
Margin="3"
|
||||
FontSize="14"
|
||||
TextWrapping="Wrap">
|
||||
WICHTIG! Bitte tragen Sie keine echten Daten bei Ihren Tests ein, da es sich um einen öffentlichen Testzugang handelt, auf den jeder Zugriff hat!
|
||||
</TextBlock>
|
||||
<Button
|
||||
x:Name="CountButton"
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="120"
|
||||
Margin="3,25,3,3"
|
||||
HorizontalAlignment="Right"
|
||||
Click="ButtonBase_OnClick"
|
||||
IsDefault="True">
|
||||
OK
|
||||
</Button>
|
||||
<TextBlock TextWrapping="Wrap" Margin="3" FontSize="14">WICHTIG! Bitte tragen Sie keine echten Daten bei Ihren Tests ein, da es sich um einen öffentlichen Testzugang handelt, auf den jeder Zugriff hat!</TextBlock>
|
||||
<Button x:Name="CountButton" Grid.Row="2" Grid.Column="1" Width="120" Margin="3,25,3,3" IsDefault="True" HorizontalAlignment="Right" Click="ButtonBase_OnClick">OK</Button>
|
||||
<!--<Button Grid.Row="2" Grid.Column ="2" Width="100" Margin="3" IsCancel="True" IsEnabled="False" HorizontalAlignment="Right">Abbrechen</Button>-->
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<Line
|
||||
Grid.ColumnSpan="4"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="70"
|
||||
Y2="70" />
|
||||
<Line
|
||||
x:Name="linkLine"
|
||||
Margin="0,30,0,-30"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="340"
|
||||
Y2="340" />
|
||||
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="585" Y2="70" StrokeThickness="1"></Line>
|
||||
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="340" X2="585" Y2="340" StrokeThickness="1" Margin="0,30,0,-30"></Line>
|
||||
</Grid>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</Window>
|
||||
|
||||
@@ -12,20 +12,10 @@ namespace BeWo
|
||||
public ConfirmDemoDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
if (BeWoApp.Tenant == "7514581436")
|
||||
{
|
||||
CountButton.Content = "OK";
|
||||
CountButton.IsEnabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
CountButton.Content = "Bitte warten (10 sek.)";
|
||||
CountButton.IsEnabled = false;
|
||||
CountButton.Content = "Bitte warten (10 sek.)";
|
||||
CountButton.IsEnabled = false;
|
||||
|
||||
this.Loaded += new RoutedEventHandler(ConfirmDemoDialog_Loaded);
|
||||
}
|
||||
|
||||
this.Loaded += new RoutedEventHandler(ConfirmDemoDialog_Loaded);
|
||||
|
||||
}
|
||||
|
||||
@@ -33,7 +23,7 @@ namespace BeWo
|
||||
{
|
||||
|
||||
int count = 9;
|
||||
|
||||
|
||||
new DispatcherTimer(
|
||||
TimeSpan.FromMilliseconds(1000),
|
||||
DispatcherPriority.Background,
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
using BeWo.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class AddressToStringConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var vm = value as AddressVM;
|
||||
|
||||
if (vm is null)
|
||||
return null;
|
||||
|
||||
return vm.ToSingleLine();
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class BoolEnabledToTabitemBackgroundConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return Application.Current.Resources["TabItemTextBrush"];
|
||||
}
|
||||
|
||||
return (bool)value ? Application.Current.Resources["TabItemTextBrush"] : Application.Current.Resources["TabItemTextBrushDisabled"];
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class BoolToParameterReturnConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return (bool)value ? parameter : null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class BoolVisibilityCollapsedConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return Visibility.Visible;
|
||||
}
|
||||
|
||||
if(value is bool b)
|
||||
{
|
||||
return (bool)value ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
return Visibility.Visible;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,24 +14,18 @@ namespace BeWo.Converter
|
||||
return Visibility.Visible;
|
||||
}
|
||||
|
||||
if(value is bool b)
|
||||
var lMode = true;
|
||||
if (parameter is string s)
|
||||
{
|
||||
bool.TryParse(s, out lMode);
|
||||
}
|
||||
|
||||
if (lMode)
|
||||
{
|
||||
var lMode = true;
|
||||
if (parameter is string s)
|
||||
{
|
||||
bool.TryParse(s, out lMode);
|
||||
}
|
||||
|
||||
if (lMode)
|
||||
{
|
||||
return !(bool)value ? Visibility.Collapsed : Visibility.Visible;
|
||||
}
|
||||
|
||||
return (bool)value ? Visibility.Collapsed : Visibility.Visible;
|
||||
return !(bool)value ? Visibility.Collapsed : Visibility.Visible;
|
||||
}
|
||||
|
||||
// Fange Fälle ab, wo noch nicht mit Command gearbeitet wird
|
||||
return Visibility.Visible;
|
||||
return (bool)value ? Visibility.Collapsed : Visibility.Visible;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
/// <summary>
|
||||
/// https://stackoverflow.com/a/19210037
|
||||
/// </summary>
|
||||
public class BooleanAndVisibilityMultiConverter : IMultiValueConverter
|
||||
{
|
||||
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
foreach (object value in values)
|
||||
{
|
||||
if ((value is bool) && (bool)value == false)
|
||||
{
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
return Visibility.Visible;
|
||||
}
|
||||
|
||||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
/// <summary>
|
||||
/// https://stackoverflow.com/a/19210037
|
||||
/// </summary>
|
||||
public class BooleanOrVisibilityMultiConverter : IMultiValueConverter
|
||||
{
|
||||
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
foreach (object value in values)
|
||||
{
|
||||
if ((value is bool) && (bool)value == true)
|
||||
{
|
||||
return Visibility.Visible;
|
||||
}
|
||||
}
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
|
||||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
@@ -13,29 +10,8 @@ namespace BeWo.Converter
|
||||
{
|
||||
try
|
||||
{
|
||||
int count;
|
||||
|
||||
switch (value)
|
||||
{
|
||||
case int i:
|
||||
count = i;
|
||||
break;
|
||||
case ICollection collection:
|
||||
count = collection.Count;
|
||||
break;
|
||||
case IEnumerable enumerable:
|
||||
count = enumerable.Cast<object>().Count();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
if (parameter is string s && s == "reverse")
|
||||
{
|
||||
return !(count > 0);
|
||||
}
|
||||
|
||||
return count > 0;
|
||||
var count = (int) value;
|
||||
return count > 0;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
@@ -13,29 +11,8 @@ namespace BeWo.Converter
|
||||
{
|
||||
try
|
||||
{
|
||||
int count;
|
||||
|
||||
switch (value)
|
||||
{
|
||||
case int i:
|
||||
count = i;
|
||||
break;
|
||||
case ICollection collection:
|
||||
count = collection.Count;
|
||||
break;
|
||||
case IEnumerable enumerable:
|
||||
count = enumerable.Cast<object>().Count();
|
||||
break;
|
||||
default:
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (parameter is string s && s == "reverse")
|
||||
{
|
||||
return count > 0 ? Visibility.Collapsed : Visibility.Visible;
|
||||
}
|
||||
|
||||
return count > 0 ? Visibility.Visible : Visibility.Collapsed;
|
||||
var count = (int)value;
|
||||
return count > 0 ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class EnumTranslationConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is Enum e)
|
||||
{
|
||||
if(EnumTranslations.Wohnhilfe2Translation.TryGetValue(e, out string v))
|
||||
{
|
||||
return v;
|
||||
}
|
||||
// RE:
|
||||
// EnumTranslationConverter, aber betrachtet nicht alle?
|
||||
// Brauche hier eig nur EnumTranslations.Gkv2Translation
|
||||
if (EnumTranslations.AllTranslations.TryGetValue(e, out string vv))
|
||||
{
|
||||
return vv;
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ namespace BeWo.Converter
|
||||
{
|
||||
var showOnlyArchived = false;
|
||||
var showOnlyOnlyDeleted = false;
|
||||
IList<CustomFilter> customFilters = null;
|
||||
CustomFilter customFilter = null;
|
||||
|
||||
if (values.Length >= 3)
|
||||
{
|
||||
@@ -29,9 +29,9 @@ namespace BeWo.Converter
|
||||
|
||||
if (values.Length >= 4)
|
||||
{
|
||||
if (values[3] is IList<CustomFilter>)
|
||||
if (values[3] is CustomFilter)
|
||||
{
|
||||
customFilters = values[3] as IList<CustomFilter>;
|
||||
customFilter = values[3] as CustomFilter;
|
||||
}
|
||||
|
||||
if (values.Length >= 5)
|
||||
@@ -51,15 +51,14 @@ namespace BeWo.Converter
|
||||
var ret = (values[0] as IEnumerable<IFilterableDC>).Where(
|
||||
dc =>
|
||||
{
|
||||
var filterRelevants = dc.FilterRelevants != null && dc.FilterRelevants.ContainsAll(lFilter);
|
||||
var filterRelevants = dc.FilterRelevants != null && dc.FilterRelevants.ContainsAll(lFilter) && (customFilter == null || customFilter.IsValid(dc));
|
||||
var aktiv = (!showOnlyOnlyDeleted && !showOnlyArchived && dc.ActivationType == ActivationTypeId.Active);
|
||||
var archiviert = ((showOnlyArchived && dc.ActivationType == ActivationTypeId.Archived));
|
||||
var geloescht = ((!showOnlyArchived && showOnlyOnlyDeleted && dc.ActivationType == ActivationTypeId.Deleted));
|
||||
|
||||
var geloeschtOderArchiviert = (showOnlyArchived && dc.ActivationType == ActivationTypeId.Archived || showOnlyOnlyDeleted && dc.ActivationType == ActivationTypeId.Deleted) && filterRelevants;
|
||||
|
||||
var customerFilterValid = (customFilters == null || customFilters.All(f => f.IsValid(dc)));
|
||||
|
||||
var ergebnis = (aktiv || archiviert || geloescht || geloeschtOderArchiviert) && filterRelevants && customerFilterValid;
|
||||
var ergebnis = (aktiv || archiviert || geloescht || geloeschtOderArchiviert) && filterRelevants;
|
||||
|
||||
return ergebnis;
|
||||
});
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
using BS.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class GkvState2StringConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var state = value as GkvState?;
|
||||
|
||||
if (state is null)
|
||||
return null;
|
||||
|
||||
switch (state.Value)
|
||||
{
|
||||
case GkvState.NoSend: return "Erstellt";
|
||||
case GkvState.ErrorSoft: return "Fehler";
|
||||
case GkvState.ErrorFatal: return "Fataler Fehler";
|
||||
case GkvState.Paid: return "Bezahlt";
|
||||
case GkvState.WaitingForDakota: return "Warte auf Übertragung";
|
||||
case GkvState.WaitingForKrankenkasse: return "Warte auf Gkv";
|
||||
case GkvState.WaitingForKrankenkasseTooLong: return "Keine Antwort von Gkv";
|
||||
case GkvState.WaitingForUrbelege: return "Urbelege per Post senden";
|
||||
}
|
||||
|
||||
return state.ToString();
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class NewlineConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value?.ToString()?
|
||||
.Replace("\\r\\n", "\r\n")
|
||||
.Replace("\\n", "\r\n")
|
||||
.Replace("\\r", "\r\n");
|
||||
}
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class Object2ToStringConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is object)
|
||||
return value.ToString();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class RadioBoolToIntConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value?.Equals(int.Parse(parameter.ToString()));
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value?.Equals(true) == true ? int.Parse(parameter.ToString()) : Binding.DoNothing;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class StringEmptyBoolConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is string stringi)
|
||||
{
|
||||
return !string.IsNullOrEmpty(stringi);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
using BeWo.ViewModel;
|
||||
using DevExpress.Mvvm;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class TestDebugConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is null)
|
||||
return null;
|
||||
|
||||
//var t = ((DelegateCommand)value).CanExecute(null);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
using BeWo.ViewModel;
|
||||
using BeWo.ViewModel.Light;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class TooltipTextConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is bool val_bool)
|
||||
{
|
||||
return val_bool ? null : parameter;
|
||||
}
|
||||
|
||||
if (value is GkvAbrechnungLightVM gkv)
|
||||
{
|
||||
if (parameter is string s)
|
||||
{
|
||||
if (s == "Send")
|
||||
{
|
||||
return gkv.SendTooltip;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (value is GkvAbrechnungVM gkv2)
|
||||
{
|
||||
if (parameter is string s)
|
||||
{
|
||||
if (s == "Send")
|
||||
{
|
||||
return gkv2.SendTooltip;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (value is InvoiceBaseLightVM invoice)
|
||||
{
|
||||
return invoice.IsGkvValidError;
|
||||
}
|
||||
|
||||
if (value is InvoiceBaseVM invoice2)
|
||||
{
|
||||
return invoice2.IsGkvValidError;
|
||||
}
|
||||
|
||||
if (value is MandatorVM mandator)
|
||||
{
|
||||
return mandator.CanEditIKLeistungserbringerTooltip;
|
||||
}
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class UserPermission2BoolConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
#if DEBUG
|
||||
if (BeWoApp.IsInDesignMode)
|
||||
return true;
|
||||
#endif
|
||||
|
||||
try
|
||||
{
|
||||
if (value is UserRightType type)
|
||||
{
|
||||
return BeWoApp.HasLoggedOnUserRight(type);
|
||||
}
|
||||
|
||||
if (parameter is UserRightType type2)
|
||||
{
|
||||
return BeWoApp.HasLoggedOnUserRight(type2);
|
||||
}
|
||||
|
||||
if (parameter is string setting && !string.IsNullOrWhiteSpace(setting))
|
||||
{
|
||||
if (setting == SettingsKeys.AllowGkvAbrechnung)
|
||||
return BeWoApp.AppSettings.AllowGkvAbrechnung;
|
||||
|
||||
if (setting == SettingsKeys.ShowGkvBzEinzel)
|
||||
return BeWoApp.Mandator.ShowGkvBzEinzel;
|
||||
|
||||
if (setting == SettingsKeys.ShowGkvBzUrbelege)
|
||||
return BeWoApp.Mandator.ShowGkvBzUrbelege;
|
||||
|
||||
if (setting == SettingsKeys.ShowAI)
|
||||
return BeWoApp.AppSettings.ShowAI;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
if (BeWoApp.IsInDesignMode)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is string val_str && parameter is ValidationType val_type)
|
||||
{
|
||||
return GkvValidator.IsValid(val_type, val_str);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationToBrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value is null)
|
||||
{
|
||||
return Brushes.Black;
|
||||
}
|
||||
|
||||
if(value is bool val_bool)
|
||||
{
|
||||
return val_bool ? Brushes.Black : Brushes.Red;
|
||||
}
|
||||
|
||||
return Brushes.Blue;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class ValidationToTooltipConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (value is bool val_bool && parameter is ValidationType val_type)
|
||||
{
|
||||
return val_bool ? null : GkvValidator.InvalidTooltipTxt(val_type);
|
||||
}
|
||||
|
||||
return "xxx";
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
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 ValueConverterGroup : List<IValueConverter>, IValueConverter
|
||||
{
|
||||
#region IValueConverter Members
|
||||
|
||||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
return this.Aggregate(value, (current, converter) => converter.Convert(current, targetType, parameter, culture));
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Core
|
||||
{
|
||||
public static class BeWoUserUtils
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -60,11 +60,6 @@ using Control = System.Windows.Controls.Control;
|
||||
using Utils = BS.Shared.Core.Utils;
|
||||
using Brush = System.Windows.Media.Brush;
|
||||
using BeWo.View.Detail.Zeiterfassung;
|
||||
using DevExpress.Xpf.Scheduling;
|
||||
using CommandBarStyle = DevExpress.Xpf.DocumentViewer.CommandBarStyle;
|
||||
using ImageSource = System.Windows.Media.ImageSource;
|
||||
using BS.Shared.Translation;
|
||||
using BeWo.View.Windows;
|
||||
|
||||
namespace BeWo.Core
|
||||
{
|
||||
@@ -122,12 +117,7 @@ namespace BeWo.Core
|
||||
|
||||
public static void NavigateToReportUriWithDocumentPreviewControl(string navigateUriString, string title, DocumentPreviewControl dp, Action callback)
|
||||
{
|
||||
List<ReportTemplateDC> reportTemplates = null;
|
||||
if (!navigateUriString.Contains("&template="))
|
||||
{
|
||||
reportTemplates = ServiceFacade.DoOperationsServiceSync(x => x.GetReportTemplates(navigateUriString));
|
||||
}
|
||||
|
||||
var reportTemplates = ServiceFacade.DoOperationsServiceSync(x => x.GetReportTemplates(navigateUriString));
|
||||
|
||||
if (reportTemplates?.Count > 1)
|
||||
{
|
||||
@@ -259,7 +249,7 @@ namespace BeWo.Core
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
BeWoApp.ShowErrorMessage(e);
|
||||
BeWoApp.ShowError(null, e, true);
|
||||
BeWoApp.MainControl.EndWaiting();
|
||||
}
|
||||
},
|
||||
@@ -286,7 +276,7 @@ namespace BeWo.Core
|
||||
return navigateUri.Split('?')[0] + "?" + uriValues;
|
||||
}
|
||||
|
||||
public static string RefreshNavigateUriString(string navigateUri)
|
||||
private static string RefreshNavigateUriString(string navigateUri)
|
||||
{
|
||||
if (navigateUri.Contains("tenant"))
|
||||
navigateUri = RemoveAuthenticationInfoFromUri(navigateUri);
|
||||
@@ -1664,7 +1654,7 @@ namespace BeWo.Core
|
||||
System.Diagnostics.Process.Start(mailCmd);
|
||||
}
|
||||
|
||||
public static bool ValidateServiceRecordVM(ServiceRecordVM vm, SupportConceptStatisticsDC statistics, FlatSupportConceptTreeNodeDC node, bool withoutClient, CompactEmployeeDC selectedEmployee, List<long> employeeOids, List<long> cb2ScOids, int groupIndex)
|
||||
public static bool ValidateServiceRecordVM(ServiceRecordVM vm, SupportConceptStatisticsDC statistics, FlatSupportConceptTreeNodeDC node, bool withoutClient, CompactEmployeeDC selectedEmployee, List<long> employeeOids, List<long> cb2ScOids)
|
||||
{
|
||||
var lValid = true;
|
||||
|
||||
@@ -1673,35 +1663,12 @@ namespace BeWo.Core
|
||||
MessageBox.Show("Bitte wählen Sie eine Leistung aus. Sollten keine Leistungen für die gewählte Kategorie verfügbar sein, müssen diese zunächst in der Verwaltung angelegt werden.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
return false;
|
||||
}
|
||||
if(vm.GoalTree != null && vm.GoalTree.Count > 0 && groupIndex == 1/* && (cb2ScOids == null || cb2ScOids.Count < 2)*/)
|
||||
if(vm.GoalTree != null && vm.GoalTree.Count > 0 && (cb2ScOids == null || cb2ScOids.Count < 2))
|
||||
{
|
||||
//Nur für abrechenbare Leistungen
|
||||
if (vm.SelectedGoals.Count == 0)
|
||||
if(vm.SelectedGoals.Count == 0 && MessageBox.Show("Es wurde kein Ziel zugeordnet. Sind Sie sicher, dass Sie speichern möchten?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
|
||||
{
|
||||
if (BeWoApp.AppSettings.IsServiceRecordGoalMandatory && vm.ServiceDescription.ProzentAbrechnung.HasValue && vm.ServiceDescription.ProzentAbrechnung >= 100 && vm.ServiceDescription.Category.IsBillable)
|
||||
{
|
||||
MessageBox.Show(Translator.Translate("Sie müssen mindestens ein Ziel auswählen, bevor Sie speichern können."), "Speichern", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
return false;
|
||||
}
|
||||
else if (MessageBox.Show("Es wurde kein Ziel zugeordnet. Sind Sie sicher, dass Sie speichern möchten?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (BeWoApp.AppSettings.IsServiceRecordRatingMandatory)
|
||||
{
|
||||
foreach (var goal in vm.SelectedGoals)
|
||||
{
|
||||
if (!goal.RatingTypeOid.HasValue)
|
||||
{
|
||||
MessageBox.Show(String.Format("Das Ziel '{0}' wurde nicht bewertet.\nSpeichern nicht möglich.", goal.DisplayName), "Speichern", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CompactSupportConceptDC scDc = null;
|
||||
@@ -1787,10 +1754,10 @@ namespace BeWo.Core
|
||||
case ServiceRecordValidationResult.ServiceRecordOverlapping:
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLS))
|
||||
{
|
||||
MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
lValid = false;
|
||||
}
|
||||
else if (MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ").\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
|
||||
else if (MessageBox.Show($"An dem gewählten Datum '{vm.StartDate.ToShortDateString()} {vm.StartDate.ToShortTimeString()}' existiert bereits ein Eintrag ({result.Message} bei " + BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName + ").\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
|
||||
{
|
||||
lValid = false;
|
||||
exitLoop = true;
|
||||
@@ -1813,7 +1780,7 @@ namespace BeWo.Core
|
||||
var klient = "diesen Hilfeplan";
|
||||
if (!string.IsNullOrEmpty(result.CustomerName))
|
||||
{
|
||||
klient = BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
|
||||
klient = BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
|
||||
}
|
||||
|
||||
var msg = string.Format("Die für {2} genehmigten FLS ({0:N}) werden mit diesem Eintrag ({1:N}) überschritten.", result.ApprovedHours, result.HoursNew, klient);
|
||||
@@ -1833,7 +1800,7 @@ namespace BeWo.Core
|
||||
var klient2 = "diesen Hilfeplan";
|
||||
if (!string.IsNullOrEmpty(result.CustomerName))
|
||||
{
|
||||
klient2 = BS.Shared.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
|
||||
klient2 = BS.SharedLauncher.Translation.Translator.Translate("Klient/in") + " " + result.CustomerName;
|
||||
}
|
||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.BookServiceRecordAfterSettlementInvoice))
|
||||
{
|
||||
@@ -1930,7 +1897,7 @@ namespace BeWo.Core
|
||||
else
|
||||
{
|
||||
var msg = vm.GroupOid != null
|
||||
? "ACHTUNG, wenn Sie fortfahren, löschen Sie die gesamte Gruppenbuchung.\nWenn Sie nur einzelne " + BS.Shared.Translation.Translator.Translate("Klienten") + " aus der Gruppe entfernen möchten,\neditieren Sie die Gruppe und entfernen den Klienten aus der Liste aller Hilfepläne.\nSind Sie sicher, dass Sie den gesamten Gruppeneintrag löschen möchten?"
|
||||
? "ACHTUNG, wenn Sie fortfahren, löschen Sie die gesamte Gruppenbuchung.\nWenn Sie nur einzelne " + BS.SharedLauncher.Translation.Translator.Translate("Klienten") + " aus der Gruppe entfernen möchten,\neditieren Sie die Gruppe und entfernen den Klienten aus der Liste aller Hilfepläne.\nSind Sie sicher, dass Sie den gesamten Gruppeneintrag löschen möchten?"
|
||||
: "Sind Sie sicher, dass Sie den gewählten Eintrag löschen möchten?";
|
||||
|
||||
if (MessageBox.Show(msg, "Eintrag löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) !=
|
||||
@@ -1943,113 +1910,13 @@ namespace BeWo.Core
|
||||
return lValid;
|
||||
}
|
||||
|
||||
public static bool ValidateSupportConceptVM(SupportConceptVM vm)
|
||||
{
|
||||
var lValid = true;
|
||||
var dc = vm.CommitToDataContract();
|
||||
var r = ServiceFacade.DoOperationsServiceSync(o => o.ValidateSupportConcept(dc));
|
||||
|
||||
if (r.Count > 0)
|
||||
{
|
||||
bool allowSave = true;
|
||||
|
||||
StringBuilder msg = new StringBuilder();
|
||||
|
||||
foreach (var result in r)
|
||||
{
|
||||
if (msg.Length > 0)
|
||||
{
|
||||
msg.AppendLine();
|
||||
}
|
||||
msg.AppendLine(result.Message);
|
||||
|
||||
if (!result.AllowSave)
|
||||
{
|
||||
allowSave = false;
|
||||
}
|
||||
}
|
||||
|
||||
msg.AppendLine();
|
||||
|
||||
if (allowSave)
|
||||
{
|
||||
msg.Append(String.Format("Sind Sie sicher, dass Sie den Hilfeplan speichern möchten?", vm));
|
||||
|
||||
if (MessageBox.Show(msg.ToString(), "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Warning).Equals(MessageBoxResult.No))
|
||||
{
|
||||
lValid = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Append("Der Hilfeplan kann leider nicht gespeichert werden.");
|
||||
|
||||
MessageBox.Show(msg.ToString(), "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
lValid = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return lValid;
|
||||
}
|
||||
|
||||
public static bool ValidateSupportConceptDeletion(CompactSupportConceptDC dc)
|
||||
{
|
||||
var lValid = true;
|
||||
|
||||
var r = ServiceFacade.DoOperationsServiceSync(o => o.ValidateSupportConceptDeletion(dc.SupportConceptOid));
|
||||
|
||||
bool allowSave = true;
|
||||
|
||||
StringBuilder msg = new StringBuilder();
|
||||
|
||||
foreach (var result in r)
|
||||
{
|
||||
if (msg.Length > 0)
|
||||
{
|
||||
msg.AppendLine();
|
||||
}
|
||||
msg.AppendLine(result.Message);
|
||||
|
||||
if (!result.AllowSave)
|
||||
{
|
||||
allowSave = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (msg.Length > 0)
|
||||
{
|
||||
msg.AppendLine();
|
||||
}
|
||||
|
||||
if (allowSave)
|
||||
{
|
||||
msg.Append(String.Format("Sind Sie sicher, dass Sie den gewählten Hilfeplan {0} {1} löschen möchten?", dc.CustomerName, dc));
|
||||
|
||||
if (MessageBox.Show(msg.ToString(), "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation).Equals(MessageBoxResult.No))
|
||||
{
|
||||
lValid = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.Append("Der gewählte Hilfeplan kann leider nicht gelöscht werden.");
|
||||
|
||||
MessageBox.Show(msg.ToString(), "Löschen nicht möglich", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
lValid = false;
|
||||
}
|
||||
|
||||
|
||||
return lValid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Erzeugt einen Report mit Hilfe des ReportServices und zeigt ihn in einem BeWoWindow
|
||||
/// </summary>
|
||||
/// <param name="title">Titel des Fensters</param>
|
||||
/// <param name="variablen">Dictionary mit Variablen für das ReportObject</param>
|
||||
/// <param name="reportType">Der Typ des Reports (z.B. KalenderMonatsformatReport)</param>
|
||||
public static void ShowReport(string title, Dictionary<string, object> variablen, ReportEnum reportType)
|
||||
/// <summary>
|
||||
/// Erzeugt einen Report mit Hilfe des ReportServices und zeigt ihn in einem BeWoWindow
|
||||
/// </summary>
|
||||
/// <param name="title">Titel des Fensters</param>
|
||||
/// <param name="variablen">Dictionary mit Variablen für das ReportObject</param>
|
||||
/// <param name="reportType">Der Typ des Reports (z.B. KalenderMonatsformatReport)</param>
|
||||
public static void ShowReport(string title, Dictionary<string, object> variablen, ReportEnum reportType)
|
||||
{
|
||||
switch (reportType)
|
||||
{
|
||||
@@ -2229,43 +2096,6 @@ namespace BeWo.Core
|
||||
|
||||
newView.ShowDialog();
|
||||
}
|
||||
public static void CreateAbsenceTime(DateTime start, DateTime end, List<CompactCustomerDC> customer, List<CompactEmployeeDC> employees, string notice, Appointment appointment, Action<List<AbsenceTimeDC>> schedulerCallback)
|
||||
{
|
||||
BeWo.Scheduling.View.AbsenceTimesCreationView newView = new Scheduling.View.AbsenceTimesCreationView(start, end, customer, employees, notice, appointment, schedulerCallback);
|
||||
|
||||
newView.ShowDialog();
|
||||
}
|
||||
|
||||
// Zeiterfassungseintrag aus dem neuen Kalendermodul erstellen
|
||||
public static void CreateZeiterfassung(DateTime start, DateTime end, List<CompactCustomerDC> customer, List<CompactEmployeeDC> employees, String notice, AppointmentItem appointment, Action schedulerCallback)
|
||||
{
|
||||
ChatDokumentationsView newView;
|
||||
|
||||
if(customer.Count == 0)
|
||||
{
|
||||
// Normale Buchung
|
||||
newView = new ChatDokumentationsView(notice, null, null, start, end, schedulerCallback, appointment);
|
||||
}
|
||||
else if(customer.Count == 1 && employees.Count < 2)
|
||||
{
|
||||
var compactKlient = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomerDC(customer[0].CustomerOid));
|
||||
|
||||
// Normale Buchung
|
||||
newView = new ChatDokumentationsView(notice, compactKlient, employees.Count == 1 ? employees[0] : null, start, end, schedulerCallback, appointment);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(employees.Count == 0)
|
||||
{
|
||||
employees.Add(BeWoApp.CompactLoggedOnEmployee);
|
||||
}
|
||||
|
||||
// Gruppenbuchungen
|
||||
newView = new ChatDokumentationsView(appointment, notice, start, end, customer, employees, schedulerCallback);
|
||||
}
|
||||
|
||||
newView.ShowDialog();
|
||||
}
|
||||
|
||||
public static void CreateZeiterfassung(DateTime start, DateTime end, List<CompactCustomerDC> customer, List<CompactEmployeeDC> employees, String notice)
|
||||
{
|
||||
@@ -2306,15 +2136,12 @@ namespace BeWo.Core
|
||||
var tenant = BeWoApp.Tenant;
|
||||
|
||||
#if DEBUG
|
||||
tenant = "2509786400";
|
||||
#endif
|
||||
tenant = "5473568546";
|
||||
#endif
|
||||
|
||||
|
||||
BeWoApp.GetChatServerUrlAsync(serverUrl =>
|
||||
{
|
||||
var url = $"{serverUrl}/api/ownchat/sync/schedule/{BeWoApp.Mandator.Apikey}/{tenant}";
|
||||
|
||||
var client = new RestClient(url);
|
||||
var client = new RestClient($"{serverUrl}/api/ownchat/sync/schedule/{BeWoApp.Mandator.Apikey}/{tenant}");
|
||||
var request = new RestRequest();
|
||||
|
||||
client.ExecuteAsync(request, null);
|
||||
@@ -2364,7 +2191,7 @@ namespace BeWo.Core
|
||||
return Utils.CheckSchedulerRights(storage.CustomerList, storage.ResourceList, storage.EmployeeList.ToList(), storage.Originator, pIsNew, pCheckType, BeWoApp.LoggedOnUser, teamMemberCustomerOids, ignoreViewEditCreateAllRights);
|
||||
}
|
||||
|
||||
public static void EditServiceRecord(ServiceRecordDC dc, DispatcherObject p, Action<List<ServiceRecordDC>> callback)
|
||||
public static void EditServiceRecord(ServiceRecordDC dc, DispatcherObject p)
|
||||
{
|
||||
|
||||
var record = ServiceFacade.DoOperationsServiceSync(s => s.GetServiceRecordById(dc.ServiceRecordOid.Value));
|
||||
@@ -2393,10 +2220,10 @@ namespace BeWo.Core
|
||||
|
||||
var vm = new ServiceRecordVM(record, vmList.PrototypeVM.Category2Services, vmList.PrototypeVM.AllGoalCategories, vmList.PrototypeVM.AllGoals);
|
||||
|
||||
EditServiceRecord(vmList, vm, callback);
|
||||
EditServiceRecord(vmList, vm);
|
||||
}));
|
||||
}
|
||||
public static void EditServiceRecord(ServiceRecordListVM listvm, ServiceRecordVM vm, Action<List<ServiceRecordDC>> savedCallback)
|
||||
public static void EditServiceRecord(ServiceRecordListVM listvm, ServiceRecordVM vm)
|
||||
{
|
||||
if (vm == null)
|
||||
{
|
||||
@@ -2464,13 +2291,8 @@ namespace BeWo.Core
|
||||
result = ((ServiceRecordGroupEditView)serviceRecordEditView).CloseAndDoSaveCheck();
|
||||
}
|
||||
}
|
||||
|
||||
beWoWindow.Close();
|
||||
|
||||
if (savedCallback != null && result == ServiceRecordDialogResult.ClosedWithSaving)
|
||||
{
|
||||
savedCallback(null);
|
||||
}
|
||||
beWoWindow.Close();
|
||||
}));
|
||||
serviceRecordEditView.CommandBindings.Add(
|
||||
new CommandBinding(
|
||||
@@ -2497,19 +2319,7 @@ namespace BeWo.Core
|
||||
return;
|
||||
}
|
||||
|
||||
if (savedCallback != null && serviceRecordEditView is ServiceRecordGroupEditView)
|
||||
{
|
||||
((ServiceRecordGroupEditView)serviceRecordEditView).SaveWithCallback(savedCallback);
|
||||
}
|
||||
else
|
||||
{
|
||||
serviceRecordEditView.SaveData();
|
||||
if (savedCallback != null)
|
||||
{
|
||||
savedCallback(null);
|
||||
}
|
||||
}
|
||||
|
||||
serviceRecordEditView.SaveData();
|
||||
}
|
||||
beWoWindow.Close();
|
||||
}));
|
||||
|
||||
@@ -5,7 +5,6 @@ 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,31 +293,5 @@ namespace BeWo.Core
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void ScrollToTop(ListBox listBox, DispatcherPriority priority = DispatcherPriority.Loaded)
|
||||
{
|
||||
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, DispatcherPriority priority = DispatcherPriority.Loaded)
|
||||
{
|
||||
listBox.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
if (VisualTreeHelper.GetChildrenCount(listBox) > 0)
|
||||
{
|
||||
Border border = (Border)VisualTreeHelper.GetChild(listBox, 0);
|
||||
ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
|
||||
scrollViewer.ScrollToBottom();
|
||||
}
|
||||
}, priority);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using BS.Shared;
|
||||
using DevExpress.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static DevExpress.Mvvm.Native.Either;
|
||||
|
||||
namespace BeWo.Core.Commands
|
||||
{
|
||||
public static class CommandFactory
|
||||
{
|
||||
public static DelegateCommand GetAiViewCommand(Action openView, UserRightType? userRightType, Func<bool> additionalCheckup = null, bool? useCommandManager = null)
|
||||
{
|
||||
bool canExecute() =>
|
||||
(BeWoApp.AppSettings?.ShowAI ?? false) &&
|
||||
(userRightType is null || BeWoApp.HasLoggedOnUserRight(userRightType.Value)) &&
|
||||
(additionalCheckup is null || additionalCheckup());
|
||||
|
||||
return new DelegateCommand(openView, () => CheckupSafe(canExecute), useCommandManager);
|
||||
}
|
||||
|
||||
private static bool CheckupSafe(Func<bool> predicate)
|
||||
{
|
||||
try
|
||||
{
|
||||
return predicate();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
using BeWo.View.Navigation.Filter;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.Xpf.Accordion;
|
||||
using DevExpress.Xpf.Scheduling;
|
||||
using DevExpress.XtraScheduler;
|
||||
|
||||
namespace BeWo.Core.Config
|
||||
@@ -12,8 +9,6 @@ namespace BeWo.Core.Config
|
||||
public class AppSettings
|
||||
{
|
||||
private bool mIsServiceRecordNoticeMandatory = true;
|
||||
private bool mIsServiceRecordGoalMandatory = false;
|
||||
private bool mIsServiceRecordRatingMandatory = false;
|
||||
|
||||
private bool mIsPasswordSecurityActiv = false;
|
||||
|
||||
@@ -30,9 +25,8 @@ namespace BeWo.Core.Config
|
||||
private CustomerFilterEnum _CustomerFilterCustomers = CustomerFilterEnum.All;
|
||||
|
||||
private bool _showExpiredSupportConcepts = true;
|
||||
private bool _showServiceRecordGridControl = true;
|
||||
private bool _filterGroupServiceCategories = false;
|
||||
private bool mOpenReportInNewWindow = false;
|
||||
private bool _showServiceRecordGridControl;
|
||||
private bool _filterGroupServiceCategories = true;
|
||||
|
||||
private WindowStateType mWindowStateType = WindowStateType.Default;
|
||||
|
||||
@@ -46,14 +40,8 @@ namespace BeWo.Core.Config
|
||||
|
||||
private int mLastKassenSortOrder = 1;
|
||||
|
||||
private int mLastBewilligungSortOrder = 0;
|
||||
|
||||
private ZeiterfassungsDauer mLetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten;
|
||||
|
||||
private FLSAnalysisConfigDC _DefaultFlsAnalysisConfig = null;
|
||||
|
||||
private int mAiVoiceRequestInterval = 5;
|
||||
|
||||
public enum WindowStateType
|
||||
{
|
||||
Default,
|
||||
@@ -74,19 +62,6 @@ namespace BeWo.Core.Config
|
||||
set { mIsServiceRecordNoticeMandatory = value; }
|
||||
}
|
||||
|
||||
public bool IsServiceRecordGoalMandatory
|
||||
{
|
||||
get { return mIsServiceRecordGoalMandatory; }
|
||||
|
||||
set { mIsServiceRecordGoalMandatory = value; }
|
||||
}
|
||||
|
||||
public bool IsServiceRecordRatingMandatory
|
||||
{
|
||||
get { return mIsServiceRecordRatingMandatory; }
|
||||
|
||||
set { mIsServiceRecordRatingMandatory = value; }
|
||||
}
|
||||
public bool IsPasswordSecurityActiv
|
||||
{
|
||||
get { return mIsPasswordSecurityActiv; }
|
||||
@@ -140,14 +115,11 @@ namespace BeWo.Core.Config
|
||||
public int LastSelectedStundenkontoIntervall { get; set; }
|
||||
|
||||
public int AnzTageZeiterfassErfolgt { get; set; }
|
||||
public int AnzTageUnterschriftErfolgt { get; set; }
|
||||
|
||||
public int ZeiterfassungsSchwellwert { get; set; }
|
||||
|
||||
public bool HideServiceRecordInsertedByAndInsertedOn { get; set; }
|
||||
|
||||
public bool ShowAlwaysHoursInEmployeeView { get; set; }
|
||||
|
||||
public bool ShowAdvisedAttendedFlag { get; set; }
|
||||
|
||||
public CustomerFilterEnum CustomerFilterInZeiterfassung
|
||||
@@ -379,38 +351,10 @@ namespace BeWo.Core.Config
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int LastBewilligungSortOrder
|
||||
{
|
||||
get { return mLastBewilligungSortOrder; }
|
||||
|
||||
set
|
||||
{
|
||||
if (mLastBewilligungSortOrder != value)
|
||||
{
|
||||
mLastBewilligungSortOrder = value;
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public int AiVoiceRequestInterval
|
||||
{
|
||||
get { return mAiVoiceRequestInterval; }
|
||||
|
||||
set
|
||||
{
|
||||
if (mAiVoiceRequestInterval != value)
|
||||
{
|
||||
mAiVoiceRequestInterval = value;
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int ServiceRecordAllowChangeHours
|
||||
{
|
||||
get { return mServiceRecordAllowChangeHours; }
|
||||
@@ -460,7 +404,7 @@ namespace BeWo.Core.Config
|
||||
public bool IsWohnheimAllowed { get; set; }
|
||||
|
||||
public bool ShowOwnChat { get; set; }
|
||||
public bool ShowAIVoice { get; set; }
|
||||
|
||||
public bool ShowOwnChatSettings { get; set; }
|
||||
|
||||
public bool IsMedicationAllowed { get; set; }
|
||||
@@ -476,30 +420,22 @@ namespace BeWo.Core.Config
|
||||
public bool ShowPivotGrid { get; set; }
|
||||
|
||||
public string ExpandedAdministrationItems { get; set; }
|
||||
public string SelectedAdministrationItem { get; set; }
|
||||
|
||||
public bool ShowUrlaubsplanung { get; set; }
|
||||
public bool DontShowSpitzabrechnung { get; set; }
|
||||
public bool ShowDienstplanung { get; set; }
|
||||
|
||||
public bool ShowWorktime { get; set; }
|
||||
|
||||
public DateTime? StartStundenkonto { get; set; }
|
||||
public bool Arbeitszeiterfassung { get; set; }
|
||||
public bool EnableArbeitszeiterfassung { get; set; }
|
||||
public bool EnableAutomaticPauses { get; set; }
|
||||
public bool EnableRestTimeWarning { get; set; }
|
||||
public int MaxWorkTimeHoursBeforeWarning { get; set; }
|
||||
|
||||
public int AnzTageArbeitszeiterfassungErfolgt { get; set; }
|
||||
|
||||
public int DienstplanungStandardZeilenAnzahl { get; set; }
|
||||
|
||||
public bool ShowInfoButtonInCalender{ get; set; }
|
||||
|
||||
public bool AllowStorno { get; set; }
|
||||
|
||||
public bool AllowXRechnung { get; set; }
|
||||
|
||||
public bool UseDistanceApi { get; set; }
|
||||
|
||||
public bool ShowEmployeeSignature { get; set; }
|
||||
@@ -508,28 +444,10 @@ namespace BeWo.Core.Config
|
||||
|
||||
public bool ShowHilfeplanStatistikReport { get; set; }
|
||||
|
||||
public bool ShowAI { get; set; }
|
||||
|
||||
public bool ShowAIInternal { get; set; }
|
||||
|
||||
public bool AllowGkvAbrechnung { get; set; }
|
||||
|
||||
public bool ModuleAiEnabled { get; set; }
|
||||
public bool ModuleAiSettingsEnabled { get; set; }
|
||||
|
||||
public bool ShowWohnhilfe { get; set; }
|
||||
|
||||
public bool ShowVorlagen { get; set; }
|
||||
public bool ShowMitarbeiterSchwerbehindertenInfos { get; set; }
|
||||
public bool ShowImportAbschlagszahlungen { get; set; }
|
||||
|
||||
public bool ShowPersehImport { get; set; }
|
||||
|
||||
public bool HidePrintQBPopup { get; set; }
|
||||
|
||||
|
||||
public bool DontUpdateApprovalPeriodDates { get; set; }
|
||||
|
||||
private SchedulerViewType _SchedulerViewType;
|
||||
public SchedulerViewType SchedulerViewType
|
||||
{
|
||||
@@ -544,20 +462,6 @@ namespace BeWo.Core.Config
|
||||
}
|
||||
}
|
||||
|
||||
private ViewType _SchedulingViewType;
|
||||
public ViewType SchedulingViewType
|
||||
{
|
||||
get => _SchedulingViewType;
|
||||
set
|
||||
{
|
||||
if(_SchedulingViewType != value)
|
||||
{
|
||||
_SchedulingViewType = value;
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int _SchedulerTimelineViewDayCount;
|
||||
public int SchedulerTimelineViewDayCount
|
||||
{
|
||||
@@ -594,44 +498,5 @@ namespace BeWo.Core.Config
|
||||
|
||||
set { _filterGroupServiceCategories = value; }
|
||||
}
|
||||
|
||||
private bool _ShowServicesOverviewHalfOrWholeMonth;
|
||||
public bool ShowServicesOverviewHalfOrWholeMonth
|
||||
{
|
||||
get => _ShowServicesOverviewHalfOrWholeMonth;
|
||||
set
|
||||
{
|
||||
if(_ShowServicesOverviewHalfOrWholeMonth != value)
|
||||
{
|
||||
_ShowServicesOverviewHalfOrWholeMonth = value;
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool OpenReportInNewWindow
|
||||
{
|
||||
get { return mOpenReportInNewWindow; }
|
||||
|
||||
set
|
||||
{
|
||||
if (mOpenReportInNewWindow != value)
|
||||
{
|
||||
mOpenReportInNewWindow = value;
|
||||
IsDirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public FLSAnalysisConfigDC DefaultFlsAnalysisConfig
|
||||
{
|
||||
get { return _DefaultFlsAnalysisConfig; }
|
||||
set
|
||||
{
|
||||
_DefaultFlsAnalysisConfig = value;
|
||||
IsDirty = true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,7 +54,7 @@ namespace BeWo.Core
|
||||
try
|
||||
{
|
||||
if (!WirdDateiUeberwacht(dwi.FileName))
|
||||
{
|
||||
{
|
||||
ueberwachteDateien.Add(dwi);
|
||||
}
|
||||
if (watcher == null)
|
||||
@@ -62,20 +62,11 @@ namespace BeWo.Core
|
||||
FileInfo fi = new FileInfo(dwi.FileName);
|
||||
watcher = new FileSystemWatcher(fi.DirectoryName);
|
||||
|
||||
watcher.NotifyFilter = NotifyFilters.Size | NotifyFilters.LastWrite | NotifyFilters.CreationTime;
|
||||
//watcher.NotifyFilter = NotifyFilters.Attributes
|
||||
// | NotifyFilters.CreationTime
|
||||
// | NotifyFilters.DirectoryName
|
||||
// | NotifyFilters.FileName
|
||||
// | NotifyFilters.LastAccess
|
||||
// | NotifyFilters.LastWrite
|
||||
// | NotifyFilters.Security
|
||||
// | NotifyFilters.Size;
|
||||
|
||||
|
||||
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
|
||||
| NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Attributes;
|
||||
|
||||
watcher.Changed += new FileSystemEventHandler(OnChanged);
|
||||
watcher.EnableRaisingEvents = true;
|
||||
watcher.IncludeSubdirectories = false;
|
||||
|
||||
}
|
||||
|
||||
@@ -202,7 +193,7 @@ namespace BeWo.Core
|
||||
{
|
||||
try
|
||||
{
|
||||
string file = "Möchten Sie das vorhandene Dokument überschreiben? Wenn Sie auf 'Behalten' klicken, wird eine neuer Datensatz für das aktuelle Dokument angelegt.";
|
||||
string file = "Möchten Sie das alte Dokument löschen?";
|
||||
int i = 3;
|
||||
|
||||
var dialog = new UploadDialog(file, i);
|
||||
@@ -229,10 +220,10 @@ namespace BeWo.Core
|
||||
{
|
||||
if (dwi.FileAttachmentOid.HasValue)
|
||||
{
|
||||
//if (System.Windows.MessageBox.Show("ACHTUNG: Das Löschen von Dateien kann nicht rückgängig gemacht werden!\nWollen Sie das Dokument '" + dwi.FileName + "' wirklich löschen?", "Löschen bestätigen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
|
||||
//{
|
||||
// return;
|
||||
//}
|
||||
if (System.Windows.MessageBox.Show("ACHTUNG: Das Löschen von Dateien kann nicht rückgängig gemacht werden!\nWollen Sie das Dokument '" + dwi.FileName + "' wirklich löschen?", "Löschen bestätigen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.DeleteFileAttachment(dwi.FileAttachmentOid.Value, dwi.FileAttachmentVersion.Value));
|
||||
}
|
||||
}
|
||||
@@ -247,16 +238,8 @@ namespace BeWo.Core
|
||||
{
|
||||
foreach (var file in ueberwachteDateien)
|
||||
{
|
||||
|
||||
LoescheTempDatei(file.FileName);
|
||||
}
|
||||
ueberwachteDateien.Clear();
|
||||
if (watcher != null)
|
||||
{
|
||||
watcher.EnableRaisingEvents = false;
|
||||
watcher.Dispose();
|
||||
watcher = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Core.EventArg
|
||||
{
|
||||
public class TextAcceptedEventArgs : EventArgs
|
||||
{
|
||||
public string Text { get; }
|
||||
|
||||
public TextAcceptedEventArgs(string text)
|
||||
{
|
||||
Text = text;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -347,8 +347,7 @@ namespace BeWo.Core.Service
|
||||
}
|
||||
if (ve == null)
|
||||
{
|
||||
return new ValueListEntryDC {TypeDescription = "<Gelöscht>", ValueListEntryOid = oid };
|
||||
//return new ValueListEntryDC { TypeDescription = "<Gelöscht>" };
|
||||
return new ValueListEntryDC {TypeDescription = "<Gelöscht>"};
|
||||
}
|
||||
return ve;
|
||||
}
|
||||
@@ -591,70 +590,5 @@ namespace BeWo.Core.Service
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Für neuen SchedulingView hinzugefügt
|
||||
private List<CompactCustomerDC> _FilteredCustomers;
|
||||
public void GetAllActiveCustomersCompactForEmployee(long employeeOid, bool forceReload, Action<List<CompactCustomerDC>> callback)
|
||||
{
|
||||
if(_FilteredCustomers is null || forceReload)
|
||||
{
|
||||
ServiceFacade.DoEmployeeServiceAsync(s => s.GetActiveCompactCustomersForEmployee(employeeOid), customers =>
|
||||
{
|
||||
customers.Sort((x, y) => $"{x.LastName}, {x.FirstName}".CompareTo($"{y.LastName}, {y.FirstName}"));
|
||||
_FilteredCustomers = customers;
|
||||
callback(customers);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
callback(_FilteredCustomers);
|
||||
}
|
||||
}
|
||||
|
||||
private List<long> _TeamRelatedCustomerOids;
|
||||
|
||||
public void GetTeamRelatedCustomerOidsForEmployee(long employeeOid, bool forceReload, Action<List<long>> callback)
|
||||
{
|
||||
if(_TeamRelatedCustomerOids is null || forceReload)
|
||||
{
|
||||
ServiceFacade.DoEmployeeServiceAsync(s => s.LoadTeamsRelatedCustomerOids(employeeOid), customerOids =>
|
||||
{
|
||||
_TeamRelatedCustomerOids = customerOids;
|
||||
callback?.Invoke(_TeamRelatedCustomerOids);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
callback?.Invoke(_TeamRelatedCustomerOids);
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearFilteredCustomers()
|
||||
{
|
||||
_FilteredCustomers = null;
|
||||
}
|
||||
|
||||
private List<CompactEmployeeDC> _FilteredEmployees;
|
||||
public void GetAllActiveCompactEmployeesForEmployee(long employeeOid, bool forceReload, Action<List<CompactEmployeeDC>> callback)
|
||||
{
|
||||
if(_FilteredEmployees is null || forceReload)
|
||||
{
|
||||
ServiceFacade.DoEmployeeServiceAsync(s => s.GetActiveCompactEmployeesForEmployee(employeeOid), employees =>
|
||||
{
|
||||
employees.Sort((x, y) => $"{x.LastName}, {x.FirstName}".CompareTo($"{y.LastName}, {y.FirstName}"));
|
||||
_FilteredEmployees = employees;
|
||||
callback(employees);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
callback(_FilteredEmployees);
|
||||
}
|
||||
}
|
||||
public void ClearFilteredEmployees()
|
||||
{
|
||||
_FilteredEmployees = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -197,23 +197,15 @@ namespace BeWo.Core.Service
|
||||
var goalCategoryDict = new Dictionary<long, SupportConceptGoalDC>();
|
||||
var goalList = new List<SupportConceptGoalDC>();
|
||||
|
||||
foreach (var goalCategory in sortedCategories)
|
||||
{
|
||||
foreach (var goalCategory in sortedCategories)
|
||||
{
|
||||
var treeItem = new SupportConceptGoalDC
|
||||
{
|
||||
GoalEntryDC = goalCategory.DataContract,
|
||||
IsExpanded = true
|
||||
};
|
||||
|
||||
if (!goalCategoryDict.ContainsKey(goalCategory.DataContract.ValueListEntryOid.Value))
|
||||
{
|
||||
goalCategoryDict.Add(goalCategory.DataContract.ValueListEntryOid.Value, treeItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
int test = 0;
|
||||
}
|
||||
|
||||
goalCategoryDict.Add(goalCategory.DataContract.ValueListEntryOid.Value, treeItem);
|
||||
|
||||
goalList.Add(treeItem);
|
||||
}
|
||||
|
||||
@@ -25,8 +25,8 @@ namespace BeWo.Core.Service
|
||||
goal.CatalogItem = catalogItem;
|
||||
}
|
||||
}
|
||||
var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.OrderedDisplayName).ToList();
|
||||
var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.OrderedDisplayName).ToList();
|
||||
var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.DisplayName).ToList();
|
||||
var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.DisplayName).ToList();
|
||||
var goalCategoryDict = new Dictionary<long, SupportConceptGoalDC>();
|
||||
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@ using System.Diagnostics;
|
||||
|
||||
namespace BeWo.Core
|
||||
{
|
||||
#pragma warning disable CS0108 // Rethrow to preserve stack details
|
||||
[DebuggerDisplay("{GoalEntryVM.Abbreviation}: {GoalEntryVM.Description}")]
|
||||
[DebuggerDisplay("{GoalEntryVM.Abbreviation}: {GoalEntryVM.Description}")]
|
||||
public class SupportConceptGoalTreeItem : SupportConceptGoalDC
|
||||
{
|
||||
private ValueListEntryVM _GoalEntryVM;
|
||||
@@ -98,6 +97,5 @@ namespace BeWo.Core
|
||||
}
|
||||
|
||||
public ValueListEntryType GoalType => GoalEntryDC?.Type ?? GoalEntryVM.Type;
|
||||
}
|
||||
#pragma warning restore CS0108 // Rethrow to preserve stack details
|
||||
}
|
||||
}
|
||||
@@ -1,178 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace BeWo
|
||||
{
|
||||
public enum DebugConfigMode
|
||||
{
|
||||
SimpleAutoLogin,
|
||||
FeatureCustomerWohnhilfe,
|
||||
FeatureWohnheimWohneinheit,
|
||||
FeatureAuswertungenQuittierungsbelege,
|
||||
FeatureDakota,
|
||||
FeatureXRechnung,
|
||||
FeatureAiModule
|
||||
}
|
||||
|
||||
public class DebugConfig
|
||||
{
|
||||
private static readonly string config_file_name = "DebugConfig.txt";
|
||||
|
||||
public static DebugConfig CurrentConfig { get; } = LoadCurrentDebugConfig();
|
||||
|
||||
/// <summary>
|
||||
/// Wird verwendet, wenn keine DebugConfig geladen wurde oder DefaultProfilename empty ist
|
||||
/// </summary>
|
||||
public static string ServerUrl { get; set; }
|
||||
//= "https://app5.bewoplaner.de/service";
|
||||
= "http://localhost:3777/Host";
|
||||
// = "http://178.63.79.124/service";
|
||||
|
||||
public DebugConfigMode DebugConfigMode { get; set; }
|
||||
|
||||
public string DefaultLoginUsername { get; set; }
|
||||
public string DefaultLoginPassword { get; set; }
|
||||
public string DefaultProfilename { get; set; }
|
||||
|
||||
public bool AutoLogin { get; set; }
|
||||
public UIContext? SelectView { get; set; }
|
||||
/// <summary>
|
||||
/// Beschreibt den Index der jeweils gewählten View (UIContext)
|
||||
///
|
||||
/// Z.b.:
|
||||
/// Customer:
|
||||
/// - Details: 0
|
||||
/// - ...: 1
|
||||
/// - ...: 2
|
||||
/// - ...: 3
|
||||
/// - VermittlungArbeit: 4
|
||||
/// - Wohnhilfe: 5
|
||||
/// </summary>
|
||||
public int? SelectIndex { get; set; }
|
||||
public bool EnableAutoRemoteDebugging { get; set; }
|
||||
public bool EnableAllUserRightsInDebug { get; set; } = false;
|
||||
|
||||
public bool EnableDeveloperView { get; set; } = false;
|
||||
|
||||
public static DebugConfig SimpleAutoLogin => new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.SimpleAutoLogin,
|
||||
AutoLogin = !Environment.MachineName.Equals("OWNSOFT-JETTEN")
|
||||
};
|
||||
|
||||
private static DebugConfig LoadCurrentDebugConfig()
|
||||
{
|
||||
#if DEBUG
|
||||
try
|
||||
{
|
||||
var path = AppDomain.CurrentDomain.BaseDirectory;
|
||||
var project_path = Directory.GetParent(path).Parent.Parent.FullName;
|
||||
var config_path = Path.Combine(project_path, config_file_name);
|
||||
|
||||
if (!File.Exists(config_path))
|
||||
return null;
|
||||
|
||||
var current_config = File.ReadAllText(config_path);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(current_config))
|
||||
return null;
|
||||
|
||||
var name2config = GetName2Config();
|
||||
|
||||
if (name2config.TryGetValue(current_config, out DebugConfig current))
|
||||
{
|
||||
return current;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
private static Dictionary<string, DebugConfig> GetName2Config()
|
||||
{
|
||||
var name2config = new Dictionary<string, DebugConfig>();
|
||||
|
||||
name2config.Add("SimpleAutoLogin",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.SimpleAutoLogin,
|
||||
AutoLogin = true
|
||||
});
|
||||
|
||||
name2config.Add("FeatureCustomerWohnhilfe",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureCustomerWohnhilfe,
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Customer,
|
||||
SelectIndex = 5
|
||||
});
|
||||
|
||||
name2config.Add("FeatureWohnheimWohneinheit",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureWohnheimWohneinheit,
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Wohnheim
|
||||
});
|
||||
|
||||
name2config.Add("FeatureAuswertungenQuittierungsbelege",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureAuswertungenQuittierungsbelege,
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Report
|
||||
});
|
||||
|
||||
name2config.Add("FeatureDakota",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureDakota,
|
||||
AutoLogin = true,
|
||||
//SelectView = UIContext.Organisation,
|
||||
//SelectIndex = 8,
|
||||
//DefaultLoginUsername = "admin",
|
||||
//DefaultLoginPassword = "bewobewo",
|
||||
//DefaultProfilename = "5000000000",
|
||||
EnableAutoRemoteDebugging = true
|
||||
});
|
||||
|
||||
name2config.Add("FeatureAiModule",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureAiModule,
|
||||
AutoLogin = true,
|
||||
//SelectView = UIContext.Administration,
|
||||
//SelectIndex = 8,
|
||||
//DefaultLoginUsername = "m1",
|
||||
//DefaultLoginPassword = "bewobewo",
|
||||
//DefaultProfilename = "5000000000",
|
||||
EnableAutoRemoteDebugging = true,
|
||||
EnableDeveloperView = true
|
||||
});
|
||||
|
||||
name2config.Add("FeatureXRechnung",
|
||||
new DebugConfig()
|
||||
{
|
||||
DebugConfigMode = DebugConfigMode.FeatureXRechnung,
|
||||
AutoLogin = true,
|
||||
SelectView = UIContext.Finance,
|
||||
SelectIndex = 7,
|
||||
//DefaultLoginUsername = "m1",
|
||||
//DefaultLoginPassword = "bewobewo",
|
||||
//DefaultProfilename = "5000000000",
|
||||
EnableAutoRemoteDebugging = true
|
||||
});
|
||||
|
||||
return name2config;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
1931
BeWo/EmployeeServiceImp.cs
Normal file
1931
BeWo/EmployeeServiceImp.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,18 +1,10 @@
|
||||
<Window
|
||||
x:Class="BeWo.EnterTenantDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner"
|
||||
Width="320"
|
||||
Height="240"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
WindowStyle="ToolWindow">
|
||||
|
||||
<Grid Margin="0,0,0,0" Background="{x:Null}">
|
||||
<Border
|
||||
Padding="5,5,5,5"
|
||||
Background="{DynamicResource LoginBackgroundColor}"
|
||||
BorderThickness="0">
|
||||
<Window x:Class="BeWo.EnterTenantDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner" Height="240" Width="320" WindowStartupLocation="CenterScreen" WindowStyle="ToolWindow">
|
||||
|
||||
<Grid Background="{x:Null}" Margin="0,0,0,0">
|
||||
<Border BorderThickness="0" Padding="5,5,5,5" Background="{DynamicResource LoginBackgroundColor}">
|
||||
<Grid Opacity="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -25,13 +17,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image
|
||||
Grid.Row="0"
|
||||
Height="45"
|
||||
Margin="7,7,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Source="Ressources\Icons\bewoplaner_logo_small.png" />
|
||||
<Image Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -39,70 +25,24 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" ></RowDefinition>
|
||||
<RowDefinition Height="Auto" ></RowDefinition>
|
||||
<RowDefinition Height="Auto" ></RowDefinition>
|
||||
<RowDefinition Height="Auto" ></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="3"
|
||||
TextWrapping="Wrap">
|
||||
Bitte geben Sie Ihre 10-stellige Kundennummer ein:
|
||||
</TextBlock>
|
||||
<TextBox
|
||||
x:Name="txtTenant"
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="3" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Width="100"
|
||||
Margin="3"
|
||||
Click="ButtonBase_OnClick"
|
||||
IsDefault="True">
|
||||
OK
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Width="100"
|
||||
Margin="3"
|
||||
IsCancel="True">
|
||||
Abbrechen
|
||||
</Button>
|
||||
<CheckBox
|
||||
Grid.Row="3"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="3"
|
||||
Checked="ToggleButton_OnChecked"
|
||||
Unchecked="ToggleButton_OnUnchecked">
|
||||
Demo Zugang nutzen
|
||||
</CheckBox>
|
||||
<TextBlock Grid.ColumnSpan="3" TextWrapping="Wrap" Margin="3">Bitte geben Sie Ihre 10-stellige Kundennummer ein:</TextBlock>
|
||||
<TextBox x:Name="txtTenant" Grid.ColumnSpan="3" Grid.Row="1" Margin="3"></TextBox>
|
||||
<Button Grid.Row="2" Grid.Column ="1" Width="100" Margin="3" IsDefault="True" Click="ButtonBase_OnClick">OK</Button>
|
||||
<Button Grid.Row="2" Grid.Column ="2" Width="100" Margin="3" IsCancel="True" >Abbrechen</Button>
|
||||
<CheckBox Grid.ColumnSpan="3" Grid.Row="3" Margin="3" Checked="ToggleButton_OnChecked" Unchecked="ToggleButton_OnUnchecked">Demo Zugang nutzen</CheckBox>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Line
|
||||
Grid.ColumnSpan="4"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="70"
|
||||
Y2="70" />
|
||||
<Line
|
||||
x:Name="linkLine"
|
||||
Margin="0,30,0,-30"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="340"
|
||||
Y2="340" />
|
||||
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="585" Y2="70" StrokeThickness="1"></Line>
|
||||
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="340" X2="585" Y2="340" StrokeThickness="1" Margin="0,30,0,-30"></Line>
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</Window>
|
||||
|
||||
38
BeWo/Loader.cs
Normal file
38
BeWo/Loader.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.SharedLauncher.Information;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Pipes;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
|
||||
namespace BeWo
|
||||
{
|
||||
public static class Loader
|
||||
{
|
||||
public static bool Loaded { get; set; }
|
||||
|
||||
static Loader()
|
||||
{
|
||||
Loaded = false;
|
||||
}
|
||||
|
||||
public static void Load()
|
||||
{
|
||||
BeWoApp.UserName = SessionInformation.Login.Username;
|
||||
BeWoApp.UserPassword = SessionInformation.Login.Password;
|
||||
BeWoApp.ServerName = SessionInformation.Connection.Servername;
|
||||
BeWoApp.Tenant = SessionInformation.Login.Tenant;
|
||||
BeWoApp.ServerAddress = SessionInformation.Connection.CoreServerAddress;
|
||||
BeWoApp.ShortVersion = SessionInformation.Session.Version;
|
||||
BeWoApp.Version = "Version " + SessionInformation.Session.Version;
|
||||
|
||||
BeWoApp.LoggedOnUser = ServiceFacade.DoUserServiceSync(s => s.LoadUserByNameAndPassword(BeWoApp.UserName, BeWoApp.UserPassword));
|
||||
BeWoApp.Mandator = ServiceFacade.DoOperationsServiceSync(s => s.GetMandator());
|
||||
|
||||
Loaded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,14 @@
|
||||
<Page
|
||||
x:Class="BeWo.LockedPage"
|
||||
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:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Title="LockedPage"
|
||||
Width="Auto"
|
||||
Background="{StaticResource LoginBackground}"
|
||||
Focusable="True"
|
||||
SnapsToDevicePixels="False"
|
||||
mc:Ignorable="d">
|
||||
<Page x:Class="BeWo.LockedPage"
|
||||
Title="LockedPage"
|
||||
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:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
mc:Ignorable="d" Width="Auto" Background="{StaticResource LoginBackground}" SnapsToDevicePixels="False" Focusable="True">
|
||||
<Page.Resources>
|
||||
<Storyboard x:Key="OnLoaded1">
|
||||
<DoubleAnimationUsingKeyFrames
|
||||
BeginTime="00:00:00"
|
||||
Storyboard.TargetName="GridLogin"
|
||||
Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="GridLogin" Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:01" Value="1" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
@@ -29,14 +21,7 @@
|
||||
</Page.Triggers>
|
||||
<Grid>
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
<Grid
|
||||
x:Name="GridLogin"
|
||||
Width="600"
|
||||
Height="400"
|
||||
Margin="0,0,0,0"
|
||||
Background="{x:Null}"
|
||||
RenderTransformOrigin="0.5,0.5"
|
||||
Visibility="Visible">
|
||||
<Grid Background="{x:Null}" Height="400" Width="600" Visibility="Visible" x:Name="GridLogin" RenderTransformOrigin="0.5,0.5" Margin="0,0,0,0">
|
||||
<Grid.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
@@ -45,12 +30,7 @@
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Grid.RenderTransform>
|
||||
<Border
|
||||
Padding="5,5,5,5"
|
||||
Background="{DynamicResource LoginBackgroundColor}"
|
||||
BorderBrush="#FF606060"
|
||||
BorderThickness="2,2,2,2"
|
||||
CornerRadius="7,7,7,7">
|
||||
<Border CornerRadius="7,7,7,7" BorderThickness="2,2,2,2" Padding="5,5,5,5" BorderBrush="#FF606060" Background="{DynamicResource LoginBackgroundColor}">
|
||||
<Grid Opacity="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100" />
|
||||
@@ -64,142 +44,31 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image
|
||||
Grid.Row="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Height="45"
|
||||
Margin="7,7,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Source="Ressources\Icons\bewoplaner_logo_small.png" />
|
||||
<Label
|
||||
x:Name="LblVersion"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Margin="5,7,3,0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Top"
|
||||
Content="Version x.x.x"
|
||||
FontSize="10"
|
||||
Foreground="#FF818181" />
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
MaxWidth="330"
|
||||
Margin="0,100,0,0">
|
||||
<Label
|
||||
x:Name="lblGesperrt"
|
||||
Margin="0,30,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Content="Gesperrt"
|
||||
FontSize="12"
|
||||
FontWeight="Bold"
|
||||
Foreground="#FF000000" />
|
||||
<TextBlock
|
||||
FontSize="12"
|
||||
Foreground="#FF000000"
|
||||
Text="Bitte melden Sie sich an, um den BeWoPlaner zu entsperren."
|
||||
TextWrapping="Wrap" />
|
||||
<Image Grid.Row="0" Grid.ColumnSpan="4" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="45" Margin="7,7,0,0"/>
|
||||
<Label VerticalAlignment="Top" HorizontalAlignment="Right" Content="Version x.x.x" Foreground="#FF818181" Margin="5,7,3,0" Grid.Row="0" Grid.ColumnSpan="4" Grid.Column="0" FontSize="10" x:Name="LblVersion" />
|
||||
<StackPanel Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,100,0,0" MaxWidth="330">
|
||||
<Label x:Name="lblGesperrt" Content="Gesperrt" Foreground="#FF000000" FontSize="12" FontWeight="Bold" Margin="0,30,0,0" HorizontalAlignment="Center" />
|
||||
<TextBlock Text="Bitte melden Sie sich an, um den BeWoPlaner zu entsperren." TextWrapping="Wrap" Foreground="#FF000000" FontSize="12" />
|
||||
</StackPanel>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Background="#00000000"
|
||||
Content="{markup:Translate Benutzername:}"
|
||||
Foreground="#FF000000" />
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Background="#00000000"
|
||||
Content="Passwort:"
|
||||
Foreground="#FF000000" />
|
||||
<TextBox
|
||||
x:Name="TextBoxUsername"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Height="24"
|
||||
Margin="10,10,20,10"
|
||||
HorizontalAlignment="Stretch"
|
||||
SnapsToDevicePixels="True"
|
||||
TabIndex="0"
|
||||
Text="" />
|
||||
<PasswordBox
|
||||
x:Name="PasswordBoxPassword"
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Height="24"
|
||||
Margin="10,0,20,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Password=""
|
||||
TabIndex="1" />
|
||||
<Button
|
||||
x:Name="ButtonLogin"
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Height="30"
|
||||
Margin="10,30,20,50"
|
||||
HorizontalAlignment="Stretch"
|
||||
Content="Anmelden"
|
||||
Foreground="White"
|
||||
IsDefault="True"
|
||||
TabIndex="2" />
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="5,0,0,3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom"
|
||||
Content="Copyright 2010 | ownSoft GmbH"
|
||||
FontSize="10"
|
||||
Foreground="#FF818181" />
|
||||
<TextBlock
|
||||
Grid.Row="3"
|
||||
Grid.Column="3"
|
||||
Margin="0,0,12,10"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
FontSize="10">
|
||||
<Hyperlink
|
||||
Foreground="#FF818181"
|
||||
NavigateUri="https://www.ownsoft.de/"
|
||||
TargetName="newWindow">
|
||||
www.ownsoft.de
|
||||
</Hyperlink>
|
||||
<Label Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" Content="{markup:Translate Benutzername:}" Foreground="#FF000000" Background="#00000000" />
|
||||
<Label Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Left" Content="Passwort:" Foreground="#FF000000" Background="#00000000" />
|
||||
<TextBox TabIndex="0" SnapsToDevicePixels="True" Grid.Column="2" Grid.Row="1" Margin="10,10,20,10" Height="24" x:Name="TextBoxUsername" HorizontalAlignment="Stretch" Text="" />
|
||||
<PasswordBox Margin="10,0,20,0" Height="24" Grid.Column="2" Grid.Row="2" x:Name="PasswordBoxPassword" Password="" HorizontalAlignment="Stretch" TabIndex="1" />
|
||||
<Button Margin="10,30,20,50" Height="30" x:Name="ButtonLogin" Grid.Column="2" Grid.Row="3" HorizontalAlignment="Stretch" Content="Anmelden" IsDefault="True" Foreground="White" TabIndex="2" />
|
||||
<Label VerticalAlignment="Bottom" HorizontalAlignment="Left" Content="Copyright 2010 | ownSoft GmbH" Foreground="#FF818181" Margin="5,0,0,3" Grid.Row="3" Grid.ColumnSpan="3" Grid.Column="0" FontSize="10" />
|
||||
<TextBlock Grid.Row="3" Grid.Column="3" HorizontalAlignment="Right" VerticalAlignment="Bottom" FontSize="10" Margin="0,0,12,10">
|
||||
<Hyperlink TargetName="newWindow" Foreground="#FF818181" NavigateUri="https://www.ownsoft.de/">www.ownsoft.de</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Line
|
||||
Grid.ColumnSpan="4"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="70"
|
||||
Y2="70" />
|
||||
<Line
|
||||
Grid.ColumnSpan="4"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="370"
|
||||
Y2="370" />
|
||||
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="585" Y2="70" StrokeThickness="1"></Line>
|
||||
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="370" X2="585" Y2="370" StrokeThickness="1"></Line>
|
||||
</Grid>
|
||||
<Rectangle
|
||||
Width="600"
|
||||
Height="400"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Rectangle Width="600" Height="400" RenderTransformOrigin="0.5,0.5">
|
||||
<Rectangle.OpacityMask>
|
||||
<LinearGradientBrush StartPoint="0.5,0.418" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#00000000" />
|
||||
<GradientStop Offset="1" Color="#4CFFFFFF" />
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0.418">
|
||||
<GradientStop Color="#00000000" Offset="0" />
|
||||
<GradientStop Color="#4CFFFFFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.OpacityMask>
|
||||
<Rectangle.RenderTransform>
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace BeWo
|
||||
Loaded += LockedPage_Loaded;
|
||||
|
||||
LblVersion.Content = BeWoApp.Version;
|
||||
lblGesperrt.Content = $"Gesperrt von " + BS.Shared.Translation.Translator.Translate("BenutzerSingular") + " " + BeWoApp.LoggedOnUser.Employee.FirstName + " " + BeWoApp.LoggedOnUser.Employee.LastName;
|
||||
lblGesperrt.Content = $"Gesperrt von " + BS.SharedLauncher.Translation.Translator.Translate("BenutzerSingular") + " " + BeWoApp.LoggedOnUser.Employee.FirstName + " " + BeWoApp.LoggedOnUser.Employee.LastName;
|
||||
}
|
||||
|
||||
private void LockedPage_Loaded(object sender, RoutedEventArgs e)
|
||||
|
||||
@@ -1,25 +1,15 @@
|
||||
<UserControl
|
||||
x:Class="BeWo.LoginControl"
|
||||
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:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Width="Auto"
|
||||
d:DesignHeight="600"
|
||||
d:DesignWidth="800"
|
||||
Background="{StaticResource LoginBackground}"
|
||||
mc:Ignorable="d">
|
||||
<Grid Name="grid_root">
|
||||
<UserControl x:Class="BeWo.LoginControl"
|
||||
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:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
mc:Ignorable="d"
|
||||
Width="Auto" Background="{StaticResource LoginBackground}"
|
||||
d:DesignHeight="600" d:DesignWidth="800">
|
||||
<Grid Name="grid_root" >
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
<Grid
|
||||
x:Name="gridLogin"
|
||||
Width="600"
|
||||
Height="400"
|
||||
Margin="0,0,0,0"
|
||||
Background="{x:Null}"
|
||||
RenderTransformOrigin="0.5,0.5"
|
||||
Visibility="Visible">
|
||||
<Grid Background="{x:Null}" Height="400" Width="600" Visibility="Visible" x:Name="gridLogin" RenderTransformOrigin="0.5,0.5" Margin="0,0,0,0">
|
||||
<Grid.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="1" ScaleY="1" />
|
||||
@@ -28,13 +18,7 @@
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Grid.RenderTransform>
|
||||
<Border
|
||||
Padding="5,5,5,5"
|
||||
Background="{DynamicResource LoginBackgroundColor}"
|
||||
BorderBrush="#FF606060"
|
||||
BorderThickness="2,2,2,2"
|
||||
CornerRadius="7,7,7,7"
|
||||
KeyDown="UIElement_OnKeyDown">
|
||||
<Border CornerRadius="7,7,7,7" BorderThickness="2,2,2,2" Padding="5,5,5,5" BorderBrush="#FF606060" Background="{DynamicResource LoginBackgroundColor}" KeyDown="UIElement_OnKeyDown">
|
||||
<Grid Opacity="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100" />
|
||||
@@ -50,369 +34,152 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Image
|
||||
Grid.Row="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Height="44"
|
||||
Margin="7,7,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Source="Ressources\Icons\bewoplaner_logo_small.png" />
|
||||
<Label
|
||||
x:Name="lblVersion"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Margin="5,7,3,0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Top"
|
||||
Content="Version x.x.x"
|
||||
FontSize="10"
|
||||
Foreground="#FF818181" />
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="0,80,0,0">
|
||||
<Label
|
||||
Margin="0,30,0,0"
|
||||
Content="Herzlich willkommen beim BeWoPlaner!"
|
||||
FontSize="12"
|
||||
FontWeight="Bold"
|
||||
Foreground="#FF000000" />
|
||||
<Label
|
||||
Content="{markup:Translate Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.}"
|
||||
FontSize="12"
|
||||
Foreground="#FF000000" />
|
||||
<Image Grid.Row="0" Grid.ColumnSpan="4" HorizontalAlignment="Left" VerticalAlignment="Top" Source="Ressources\Icons\bewoplaner_logo_small.png" Height="44" Margin="7,7,0,0"/>
|
||||
<Label VerticalAlignment="Top" HorizontalAlignment="Right" Content="Version x.x.x" Foreground="#FF818181" Margin="5,7,3,0" Grid.Row="0" Grid.ColumnSpan="4"
|
||||
Grid.Column="0" FontSize="10" x:Name="lblVersion" />
|
||||
<StackPanel Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,80,0,0">
|
||||
<Label Content="Herzlich willkommen beim BeWoPlaner!" Foreground="#FF000000" FontSize="12" FontWeight="Bold" Margin="0,30,0,0" />
|
||||
<Label Content="{markup:Translate Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.}" Foreground="#FF000000" FontSize="12" />
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Label
|
||||
x:Name="lblPin"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Center"
|
||||
Background="#00000000"
|
||||
Content="PIN:"
|
||||
Foreground="#FF000000"
|
||||
Visibility="Collapsed" />
|
||||
<TextBox
|
||||
x:Name="PINTextBox"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Height="24"
|
||||
Margin="10,0,20,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
SnapsToDevicePixels="True"
|
||||
Visibility="Collapsed" />
|
||||
<Label x:Name="lblPin" Content="PIN:" Grid.Column="1" Grid.Row="1" Foreground="#FF000000" Background="#00000000" VerticalAlignment="Center" Visibility="Collapsed"/>
|
||||
<TextBox x:Name="PINTextBox" Grid.Column="2" Grid.Row="1" Margin="10,0,20,0" Height="24" SnapsToDevicePixels="True" HorizontalAlignment="Stretch" Visibility="Collapsed"/>
|
||||
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Background="#00000000"
|
||||
Content="{markup:Translate Benutzername:}"
|
||||
Foreground="#FF000000" />
|
||||
<Label
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Background="#00000000"
|
||||
Content="Passwort:"
|
||||
Foreground="#FF000000" />
|
||||
<Label Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Right" Content="{markup:Translate Benutzername:}" Foreground="#FF000000" Background="#00000000" />
|
||||
<Label Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" HorizontalAlignment="Left" Content="Passwort:" Foreground="#FF000000" Background="#00000000" />
|
||||
|
||||
<TextBox
|
||||
x:Name="TextBox_Username"
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Height="24"
|
||||
Margin="10,10,20,10"
|
||||
HorizontalAlignment="Stretch"
|
||||
GotFocus="TextBox_Username_OnGotFocus"
|
||||
SnapsToDevicePixels="True"
|
||||
TabIndex="0"
|
||||
Text="" />
|
||||
<TextBox TabIndex="0" SnapsToDevicePixels="True" Grid.Column="2" Grid.Row="2" Margin="10,10,20,10" Height="24" x:Name="TextBox_Username" HorizontalAlignment="Stretch" Text="" GotFocus="TextBox_Username_OnGotFocus" />
|
||||
|
||||
<PasswordBox
|
||||
x:Name="PasswordBox_Password"
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Height="24"
|
||||
Margin="10,0,20,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
GotFocus="PasswordBox_Password_OnGotFocus"
|
||||
Password=""
|
||||
TabIndex="1" />
|
||||
<PasswordBox Margin="10,0,20,0" Height="24" Grid.Column="2" Grid.Row="3" x:Name="PasswordBox_Password" Password="" HorizontalAlignment="Stretch" GotFocus="PasswordBox_Password_OnGotFocus" TabIndex="1"/>
|
||||
|
||||
|
||||
<Label x:Name="profileLabel" Grid.Column="1" Grid.Row="5" Content="Profil:" Foreground="#FF000000" FontSize="12" Visibility="Collapsed" VerticalAlignment="Center"/>
|
||||
|
||||
<Label
|
||||
x:Name="profileLabel"
|
||||
Grid.Row="5"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Center"
|
||||
Content="Profil:"
|
||||
FontSize="12"
|
||||
Foreground="#FF000000"
|
||||
Visibility="Collapsed" />
|
||||
|
||||
<StackPanel
|
||||
x:Name="profileStackPanel"
|
||||
Grid.Row="5"
|
||||
Grid.Column="2"
|
||||
Margin="0,10,20,0"
|
||||
Orientation="Horizontal"
|
||||
Visibility="Collapsed">
|
||||
<ComboBox
|
||||
x:Name="profileSelectionComboBox"
|
||||
Width="175"
|
||||
Height="24"
|
||||
Margin="10,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
ItemsSource="{Binding Path=ProfileList}"
|
||||
SelectedIndex="0" />
|
||||
<Button
|
||||
Width="23"
|
||||
Height="23"
|
||||
Margin="3,0,0,0"
|
||||
Click="button_addProfile_Click"
|
||||
Content="@"
|
||||
FontFamily="Webdings"
|
||||
FontSize="14"
|
||||
ToolTip="Profile bearbeiten" />
|
||||
<StackPanel x:Name="profileStackPanel" Grid.Row="5" Grid.Column="2" Orientation="Horizontal" Margin="0,10,20,0" Visibility="Collapsed" >
|
||||
<ComboBox HorizontalAlignment="Left" x:Name="profileSelectionComboBox" Width="175" Height="24" ItemsSource="{Binding Path=ProfileList}" SelectedIndex="0" Margin="10,0,0,0" />
|
||||
<Button Click="button_addProfile_Click" Content="@" FontFamily="Webdings" FontSize="14" Height="23" Width="23" Margin="3,0,0,0" ToolTip="Profile bearbeiten"/>
|
||||
</StackPanel>
|
||||
<Label
|
||||
x:Name="proxyLabel"
|
||||
Grid.Row="6"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Center"
|
||||
Content="Proxy:"
|
||||
FontSize="12"
|
||||
Foreground="#FF000000"
|
||||
Visibility="Collapsed" />
|
||||
<Label x:Name="proxyLabel" Grid.Column="1" Grid.Row="6" Content="Proxy:" Foreground="#FF000000" FontSize="12" Visibility="Collapsed" VerticalAlignment="Center"/>
|
||||
|
||||
<StackPanel
|
||||
x:Name="proxyStackPanel"
|
||||
Grid.Row="6"
|
||||
Grid.Column="2"
|
||||
Margin="0,5,20,0"
|
||||
Orientation="Horizontal"
|
||||
Visibility="Collapsed">
|
||||
<TextBox
|
||||
x:Name="proxyTextBox"
|
||||
Width="175"
|
||||
Height="24"
|
||||
Margin="10,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
IsReadOnly="True" />
|
||||
<Button
|
||||
Width="23"
|
||||
Height="23"
|
||||
Margin="3,0,0,0"
|
||||
Click="button_configureProxy_Click"
|
||||
Content="@"
|
||||
FontFamily="Webdings"
|
||||
FontSize="14"
|
||||
ToolTip="Proxy bearbeiten" />
|
||||
<StackPanel x:Name="proxyStackPanel" Grid.Row="6" Grid.Column="2" Orientation="Horizontal" Margin="0,5,20,0" Visibility="Collapsed">
|
||||
<TextBox HorizontalAlignment="Left" x:Name="proxyTextBox" Width="175" Height="24" Margin="10,0,0,0" IsReadOnly="True"/>
|
||||
<Button Click="button_configureProxy_Click" Content="@" FontFamily="Webdings" FontSize="14" Height="23" Width="23" Margin="3,0,0,0" ToolTip="Proxy bearbeiten"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<ToggleButton x:Name="showProfileSelectionBtn" Click="ShowProfileStackPanel" HorizontalAlignment="Right" Content="Erweitert" Grid.Row="4" Grid.Column="2" Margin="0,5,20,0" Foreground="#FF818181">
|
||||
<ToggleButton.Template>
|
||||
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="18"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<ContentPresenter x:Name="ButtonContent"/>
|
||||
<Path Grid.Column="1"
|
||||
x:Name="Down_Arrow"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Data="M 0 0 L 4 4 L 8 0 L 4 2 Z" Margin="0,3,0,0"
|
||||
/>
|
||||
<Path Grid.Column="1"
|
||||
x:Name="Down_Arrow2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Data="M 0 0 L 4 4 L 8 0 L 4 2 Z" Margin="0,-3,0,0"
|
||||
/>
|
||||
|
||||
<Path Grid.Column="1"
|
||||
x:Name="Up_Arrow"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Data="M 0 4 L 4 0 L 8 4 L 4 2 Z" Margin="0,-3,0,0"
|
||||
/>
|
||||
<Path Grid.Column="1"
|
||||
x:Name="Up_Arrow2"
|
||||
Visibility="Collapsed"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Data="M 0 4 L 4 0 L 8 4 L 4 2 Z" Margin="0,3,0,0"
|
||||
/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="Fill" Value="#FF333333" TargetName="Down_Arrow"/>
|
||||
<Setter Property="Fill" Value="#FF333333" TargetName="Down_Arrow2"/>
|
||||
<Setter Property="Fill" Value="#FF333333" TargetName="Up_Arrow"/>
|
||||
<Setter Property="Fill" Value="#FF333333" TargetName="Up_Arrow2"/>
|
||||
<Setter Property="TextBlock.Foreground" Value="#FF333333" TargetName="ButtonContent"/>
|
||||
</Trigger>
|
||||
|
||||
<Trigger Property="IsChecked" Value="true">
|
||||
<Setter Property="Visibility" Value="Collapsed" TargetName="Down_Arrow"/>
|
||||
<Setter Property="Visibility" Value="Collapsed" TargetName="Down_Arrow2"/>
|
||||
<Setter Property="Visibility" Value="Visible" TargetName="Up_Arrow"/>
|
||||
<Setter Property="Visibility" Value="Visible" TargetName="Up_Arrow2"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</ToggleButton.Template>
|
||||
<ToggleButton.Triggers>
|
||||
<EventTrigger RoutedEvent="Button.Click">
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="gridLogin"
|
||||
Storyboard.TargetProperty="Height"
|
||||
From="{Binding HeightFrom, UpdateSourceTrigger=PropertyChanged}" To="{Binding HeightTo, UpdateSourceTrigger=PropertyChanged}" Duration="0:0:0.1"
|
||||
AutoReverse="False" Completed="AnimationComplete" />
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="linkLine"
|
||||
Storyboard.TargetProperty="Y1"
|
||||
From="{Binding LineYCoordFrom, UpdateSourceTrigger=PropertyChanged}" To="{Binding LineYCoordTo, UpdateSourceTrigger=PropertyChanged}" Duration="0:0:0.1"
|
||||
AutoReverse="False" Completed="Animation2Complete" />
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="linkLine"
|
||||
Storyboard.TargetProperty="Y2"
|
||||
From="{Binding LineYCoordFrom, UpdateSourceTrigger=PropertyChanged}" To="{Binding LineYCoordTo, UpdateSourceTrigger=PropertyChanged}" Duration="0:0:0.1"
|
||||
AutoReverse="False" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger>
|
||||
</ToggleButton.Triggers>
|
||||
</ToggleButton>
|
||||
|
||||
|
||||
<ToggleButton
|
||||
x:Name="showProfileSelectionBtn"
|
||||
Grid.Row="4"
|
||||
Grid.Column="2"
|
||||
Margin="0,5,20,0"
|
||||
HorizontalAlignment="Right"
|
||||
Click="ShowProfileStackPanel"
|
||||
Content="Erweitert"
|
||||
Foreground="#FF818181">
|
||||
<ToggleButton.Template>
|
||||
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="18" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ContentPresenter x:Name="ButtonContent" />
|
||||
<Path
|
||||
x:Name="Down_Arrow"
|
||||
Grid.Column="1"
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Data="M 0 0 L 4 4 L 8 0 L 4 2 Z"
|
||||
Fill="{TemplateBinding Foreground}" />
|
||||
<Path
|
||||
x:Name="Down_Arrow2"
|
||||
Grid.Column="1"
|
||||
Margin="0,-3,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Data="M 0 0 L 4 4 L 8 0 L 4 2 Z"
|
||||
Fill="{TemplateBinding Foreground}" />
|
||||
|
||||
<Path
|
||||
x:Name="Up_Arrow"
|
||||
Grid.Column="1"
|
||||
Margin="0,-3,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Data="M 0 4 L 4 0 L 8 4 L 4 2 Z"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Visibility="Collapsed" />
|
||||
<Path
|
||||
x:Name="Up_Arrow2"
|
||||
Grid.Column="1"
|
||||
Margin="0,3,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Data="M 0 4 L 4 0 L 8 4 L 4 2 Z"
|
||||
Fill="{TemplateBinding Foreground}"
|
||||
Visibility="Collapsed" />
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter TargetName="Down_Arrow" Property="Fill" Value="#FF333333" />
|
||||
<Setter TargetName="Down_Arrow2" Property="Fill" Value="#FF333333" />
|
||||
<Setter TargetName="Up_Arrow" Property="Fill" Value="#FF333333" />
|
||||
<Setter TargetName="Up_Arrow2" Property="Fill" Value="#FF333333" />
|
||||
<Setter TargetName="ButtonContent" Property="TextBlock.Foreground" Value="#FF333333" />
|
||||
</Trigger>
|
||||
|
||||
<Trigger Property="IsChecked" Value="true">
|
||||
<Setter TargetName="Down_Arrow" Property="Visibility" Value="Collapsed" />
|
||||
<Setter TargetName="Down_Arrow2" Property="Visibility" Value="Collapsed" />
|
||||
<Setter TargetName="Up_Arrow" Property="Visibility" Value="Visible" />
|
||||
<Setter TargetName="Up_Arrow2" Property="Visibility" Value="Visible" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</ToggleButton.Template>
|
||||
<ToggleButton.Triggers>
|
||||
<EventTrigger RoutedEvent="Button.Click">
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation
|
||||
AutoReverse="False"
|
||||
Completed="AnimationComplete"
|
||||
Storyboard.TargetName="gridLogin"
|
||||
Storyboard.TargetProperty="Height"
|
||||
From="{Binding HeightFrom, UpdateSourceTrigger=PropertyChanged}"
|
||||
To="{Binding HeightTo, UpdateSourceTrigger=PropertyChanged}"
|
||||
Duration="0:0:0.1" />
|
||||
<DoubleAnimation
|
||||
AutoReverse="False"
|
||||
Completed="Animation2Complete"
|
||||
Storyboard.TargetName="linkLine"
|
||||
Storyboard.TargetProperty="Y1"
|
||||
From="{Binding LineYCoordFrom, UpdateSourceTrigger=PropertyChanged}"
|
||||
To="{Binding LineYCoordTo, UpdateSourceTrigger=PropertyChanged}"
|
||||
Duration="0:0:0.1" />
|
||||
<DoubleAnimation
|
||||
AutoReverse="False"
|
||||
Storyboard.TargetName="linkLine"
|
||||
Storyboard.TargetProperty="Y2"
|
||||
From="{Binding LineYCoordFrom, UpdateSourceTrigger=PropertyChanged}"
|
||||
To="{Binding LineYCoordTo, UpdateSourceTrigger=PropertyChanged}"
|
||||
Duration="0:0:0.1" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger>
|
||||
</ToggleButton.Triggers>
|
||||
</ToggleButton>
|
||||
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="7"
|
||||
Grid.Column="2"
|
||||
Margin="10,30,20,50"
|
||||
HorizontalAlignment="Stretch"
|
||||
Orientation="Vertical">
|
||||
<Button
|
||||
x:Name="button_login"
|
||||
Height="30"
|
||||
Margin="3"
|
||||
HorizontalAlignment="Stretch"
|
||||
Click="button_login_Click"
|
||||
Content="Anmelden"
|
||||
Foreground="White"
|
||||
IsDefault="True" />
|
||||
<TextBlock
|
||||
Margin="3"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource MainGroupBoxForegroundBrush}"
|
||||
Visibility="Collapsed">
|
||||
<Hyperlink NavigateUri="#" RequestNavigate="PasswortVergessenLinkOnRequestNavigate">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="10"
|
||||
Text="Passwort vergessen" />
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
<TextBlock
|
||||
x:Name="txtCopyright"
|
||||
Grid.Row="7"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="10,5,0,5"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom"
|
||||
FontSize="10"
|
||||
Foreground="#FF818181"
|
||||
Text="Copyright 2022 | ownSoft GmbH" />
|
||||
|
||||
<TextBlock
|
||||
Grid.Row="7"
|
||||
Grid.Column="3"
|
||||
Margin="0,5,12,5"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
FontSize="10">
|
||||
<Hyperlink
|
||||
x:Name="hyperlink"
|
||||
Foreground="#FF818181"
|
||||
NavigateUri="https://www.ownsoft.de"
|
||||
RequestNavigate="Hyperlink_OnRequestNavigate"
|
||||
TargetName="newWindow">
|
||||
www.ownsoft.de
|
||||
</Hyperlink>
|
||||
<StackPanel Margin="10,30,20,50" Grid.Column="2" Grid.Row="7" Orientation="Vertical" HorizontalAlignment="Stretch">
|
||||
<Button Height="30" x:Name="button_login" HorizontalAlignment="Stretch" Content="Anmelden" Click="button_login_Click" IsDefault="True" Foreground="White" Margin="3" />
|
||||
<TextBlock VerticalAlignment="Center" Visibility="Collapsed" HorizontalAlignment="Center" Foreground="{DynamicResource MainGroupBoxForegroundBrush}" Margin="3">
|
||||
<Hyperlink RequestNavigate="PasswortVergessenLinkOnRequestNavigate" NavigateUri="#" >
|
||||
<TextBlock Text="Passwort vergessen" HorizontalAlignment="Center" FontSize="10" VerticalAlignment="Center" />
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
<TextBlock x:Name="txtCopyright" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3" HorizontalAlignment="Left" VerticalAlignment="Bottom" FontSize="10" Margin="10,5,0,5" Text="Copyright 2022 | ownSoft GmbH" Foreground="#FF818181"/>
|
||||
|
||||
<TextBlock Grid.Row="7" Grid.Column="3" HorizontalAlignment="Right" VerticalAlignment="Bottom" FontSize="10" Margin="0,5,12,5">
|
||||
<Hyperlink x:Name="hyperlink" TargetName="newWindow" Foreground="#FF818181" NavigateUri="https://www.ownsoft.de" RequestNavigate="Hyperlink_OnRequestNavigate">www.ownsoft.de</Hyperlink>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Line
|
||||
Grid.ColumnSpan="4"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="70"
|
||||
Y2="70" />
|
||||
<Line
|
||||
x:Name="linkLine"
|
||||
Margin="0,30,0,-30"
|
||||
Stroke="#FFADADAD"
|
||||
StrokeThickness="1"
|
||||
X1="14"
|
||||
X2="585"
|
||||
Y1="340"
|
||||
Y2="340" />
|
||||
<Line Grid.ColumnSpan="4" Stroke="#FFADADAD" X1="14" Y1="70" X2="585" Y2="70" StrokeThickness="1"></Line>
|
||||
<Line x:Name="linkLine" Stroke="#FFADADAD" X1="14" Y1="340" X2="585" Y2="340" StrokeThickness="1" Margin="0,30,0,-30"></Line>
|
||||
|
||||
</Grid>
|
||||
<Rectangle
|
||||
Width="600"
|
||||
Height="400"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Rectangle Width="600" Height="400" RenderTransformOrigin="0.5,0.5">
|
||||
<Rectangle.OpacityMask>
|
||||
<LinearGradientBrush StartPoint="0.5,0.418" EndPoint="0.5,1">
|
||||
<GradientStop Offset="0" Color="#00000000" />
|
||||
<GradientStop Offset="1" Color="#4CFFFFFF" />
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0.418">
|
||||
<GradientStop Color="#00000000" Offset="0" />
|
||||
<GradientStop Color="#4CFFFFFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.OpacityMask>
|
||||
<Rectangle.RenderTransform>
|
||||
@@ -428,6 +195,8 @@
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
</StackPanel>
|
||||
<Border x:Name="profileEditPopUp" />
|
||||
<Border x:Name="profileEditPopUp" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,20 +1,6 @@
|
||||
<Page
|
||||
x:Class="BeWo.LogoPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:BeWo="clr-namespace:BeWo"
|
||||
x:Name="Page"
|
||||
Width="640"
|
||||
Height="480"
|
||||
FlowDirection="LeftToRight"
|
||||
WindowHeight="480"
|
||||
WindowTitle="Page"
|
||||
WindowWidth="640">
|
||||
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="BeWo.LogoPage" x:Name="Page" WindowTitle="Page" FlowDirection="LeftToRight" Width="640" Height="480" WindowWidth="640" WindowHeight="480" xmlns:BeWo="clr-namespace:BeWo">
|
||||
|
||||
<Grid
|
||||
x:Name="LayoutRoot"
|
||||
Width="300"
|
||||
Height="300">
|
||||
<BeWo:BSLogoControl Width="400" Height="400" />
|
||||
</Grid>
|
||||
<Grid x:Name="LayoutRoot" Width="300" Height="300">
|
||||
<BeWo:BSLogoControl Width="400" Height="400" />
|
||||
</Grid>
|
||||
</Page>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,9 @@
|
||||
<Window
|
||||
x:Class="BeWo.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner"
|
||||
Width="1024"
|
||||
Height="768"
|
||||
BorderThickness="1"
|
||||
Closing="MainWindow_OnClosing"
|
||||
SizeChanged="Window_SizeChanged"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
WindowState="Maximized">
|
||||
<Window x:Class="BeWo.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="BeWoPlaner" Height="768" Width="1024" WindowStartupLocation="CenterScreen" WindowState="Maximized"
|
||||
BorderThickness="1" Closing="MainWindow_OnClosing" SourceInitialized="Window_SourceInitialized">
|
||||
<Grid x:Name="rootGrid">
|
||||
<ComboBox Width="100" />
|
||||
|
||||
</Grid>
|
||||
</Window>
|
||||
|
||||
@@ -4,8 +4,7 @@ using System.Threading;
|
||||
using System.Windows;
|
||||
using BeWo.Core.Config;
|
||||
using BeWo.MultiLanguage;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared.Translation;
|
||||
using BS.SharedLauncher.Translation;
|
||||
using DevExpress.Xpf.Core;
|
||||
|
||||
namespace BeWo
|
||||
@@ -20,7 +19,48 @@ namespace BeWo
|
||||
InitializeComponent();
|
||||
|
||||
ApplicationThemeHelper.ApplicationThemeName = "Office2010Black";
|
||||
ShowLoginControl();
|
||||
|
||||
if (Loader.Loaded)
|
||||
ShowNewWay();
|
||||
else
|
||||
ShowOldWay(false);
|
||||
//throw new Exception("Loader failed");
|
||||
}
|
||||
|
||||
private void ShowNewWay()
|
||||
{
|
||||
Translator t = new Translator(new ServiceTranslator());
|
||||
//WebRequest.DefaultWebProxy
|
||||
|
||||
//System.Net.WebRequest.GetSystemWebProxy()
|
||||
rootGrid.Children.Clear();
|
||||
|
||||
MainControl mc = new MainControl();
|
||||
mc.IsMaximized = BeWoApp.AppSettings.WindowState == AppSettings.WindowStateType.Maximised;
|
||||
|
||||
mc.LogoutClicked += new EventHandler(mc_LogoutClicked);
|
||||
rootGrid.Children.Add(mc);
|
||||
}
|
||||
|
||||
private void ShowOldWay(bool skiplogin)
|
||||
{
|
||||
if (skiplogin)
|
||||
{
|
||||
throw new NotImplementedException("47845978233134");
|
||||
|
||||
// Muss hier ggf string anpassen
|
||||
//Loader.Load("tedemo?undemo?pwdemo?ip?sn1?cs?vr1.0.4.1");
|
||||
//ShowNewWay();
|
||||
}
|
||||
else
|
||||
{
|
||||
//WebRequest.DefaultWebProxy
|
||||
|
||||
//System.Net.WebRequest.GetSystemWebProxy()
|
||||
var lc = new LoginControl();
|
||||
rootGrid.Children.Add(lc);
|
||||
lc.LoginSuccessful += lc_LoginSuccessful;
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowLoginControl()
|
||||
@@ -45,7 +85,7 @@ namespace BeWo
|
||||
// dlg.ShowDialog();
|
||||
//}
|
||||
#else
|
||||
if (BeWoApp.Tenant == "demo" || BeWoApp.Tenant == "7514581436")
|
||||
if (BeWoApp.Tenant == "demo")
|
||||
{
|
||||
var dlg = new ConfirmDemoDialog();
|
||||
dlg.ShowDialog();
|
||||
@@ -60,17 +100,18 @@ namespace BeWo
|
||||
mc.LogoutClicked += new EventHandler(mc_LogoutClicked);
|
||||
rootGrid.Children.Add(mc);
|
||||
|
||||
if (BeWoApp.AppSettings.ShowAI)
|
||||
{
|
||||
ServiceFacade.DoAiEnhancedServiceAsnyc(x => x.GetAiConfig(), null, null, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void mc_LogoutClicked(object sender, EventArgs e)
|
||||
{
|
||||
rootGrid.Children.Clear();
|
||||
BeWoApp.MainControl = null;
|
||||
ShowLoginControl();
|
||||
|
||||
if(Loader.Loaded)
|
||||
Application.Current.Shutdown(100);
|
||||
else
|
||||
ShowLoginControl();
|
||||
}
|
||||
|
||||
private void MainWindow_OnClosing(object sender, CancelEventArgs e)
|
||||
@@ -105,17 +146,16 @@ namespace BeWo
|
||||
BeWoApp.MainControl.HomeView.ServiceChatView = null;
|
||||
}
|
||||
|
||||
BeWoApp.CurrentBeWo.DocumentWatcher.LoescheAlleTempDateien();
|
||||
BeWoApp.CurrentBeWo.DocumentWatcher.LoescheTempDateien();
|
||||
|
||||
Application.Current.Shutdown();
|
||||
}
|
||||
|
||||
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
|
||||
{
|
||||
#if DEBUG
|
||||
// Setze den Titel auf die aktuelle Breite und Höhe
|
||||
this.Title = $"BeWoPlaner ({e.NewSize.Width}x{e.NewSize.Height})";
|
||||
#endif
|
||||
private void Window_SourceInitialized(object sender, EventArgs e)
|
||||
{
|
||||
Console.WriteLine("GUI geladen");
|
||||
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
using BS.SharedLauncher.Translation;
|
||||
using System;
|
||||
using System.Windows.Markup;
|
||||
using BS.Shared.Translation;
|
||||
|
||||
namespace BeWo.MultiLanguage.Markup
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared.Translation;
|
||||
using BS.SharedLauncher.Translation;
|
||||
using DevExpress.Xpo.Logger;
|
||||
|
||||
namespace BeWo.MultiLanguage
|
||||
|
||||
@@ -1,20 +1,13 @@
|
||||
<Window
|
||||
x:Class="BeWo.OpenOrSaveDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="OpenOrSaveDialog"
|
||||
Width="300"
|
||||
Height="150"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
ResizeMode="NoResize"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
WindowStyle="None">
|
||||
<Window x:Class="BeWo.OpenOrSaveDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="OpenOrSaveDialog" Height="150" Width="300"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
WindowStyle="None"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent" ResizeMode="NoResize" >
|
||||
<Grid>
|
||||
<GroupBox
|
||||
Header="Download"
|
||||
MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown"
|
||||
Style="{StaticResource MainContentGroupBoxWithoutMaximizeBtnStyle}">
|
||||
<GroupBox Style="{StaticResource MainContentGroupBoxWithoutMaximizeBtnStyle}" Header="Download" MouseLeftButtonDown="UIElement_OnMouseLeftButtonDown">
|
||||
<Grid Background="{DynamicResource ObjectEditBackgroundBrush}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
@@ -25,35 +18,10 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
Grid.ColumnSpan="3"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="#FF202020"
|
||||
Text="{Binding Question}"
|
||||
TextAlignment="Center"
|
||||
TextWrapping="Wrap" />
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Width="85"
|
||||
Margin="0,0,0,5"
|
||||
Command="Open"
|
||||
Content="Öffnen" />
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="85"
|
||||
Margin="0,0,0,5"
|
||||
Command="Save"
|
||||
Content="Speichern" />
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Width="85"
|
||||
Margin="0,0,0,5"
|
||||
Command="Close"
|
||||
Content="Abbrechen" />
|
||||
<TextBlock Text="{Binding Question}" Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center" Foreground="#FF202020"/>
|
||||
<Button Margin="0,0,0,5" Grid.Row="1" Grid.Column="0" Content="Öffnen" Width="85" Command="Open" />
|
||||
<Button Margin="0,0,0,5" Grid.Row="1" Grid.Column="1" Content="Speichern" Width="85" Command="Save" />
|
||||
<Button Margin="0,0,0,5" Grid.Row="1" Grid.Column="2" Content="Abbrechen" Width="85" Command="Close" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
|
||||
2
BeWo/Properties/Resources.Designer.cs
generated
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", "17.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
2
BeWo/Properties/Settings.Designer.cs
generated
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", "17.12.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user