Konflikte gelöst

This commit is contained in:
Lyndon Jetten
2021-01-14 17:03:49 +01:00
28 changed files with 2770 additions and 262 deletions

View File

@@ -310,6 +310,14 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\Suchergebnis.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\TemplatePrintSelection.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Detail\VorlageEditView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -869,6 +877,7 @@
<Compile Include="ViewModel\BudgetVM.cs" />
<Compile Include="ViewModel\DocumentTreeItemVM.cs" />
<Compile Include="ViewModel\DokumentvorlageVM.cs" />
<Compile Include="ViewModel\PrintSelectionVM.cs" />
<Compile Include="ViewModel\QuittierungsbelegsstatusVM.cs" />
<Compile Include="ViewModel\RatingTypeVM.cs" />
<Compile Include="ViewModel\ListViewModel\GoalRatingListVM.cs" />
@@ -900,6 +909,7 @@
<Compile Include="ViewModel\QuittierungsCheckVM.cs" />
<Compile Include="ViewModel\GoalRatingVM.cs" />
<Compile Include="ViewModel\RatingVM.cs" />
<Compile Include="ViewModel\SuchergebnisVM.cs" />
<Compile Include="ViewModel\TokenVM.cs" />
<Compile Include="ViewModel\ListViewModel\ArbeitszeitListVM.cs" />
<Compile Include="ViewModel\ListViewModel\ArbeitszeitEintragListVM.cs" />
@@ -989,6 +999,13 @@
<Compile Include="View\Detail\OwnChatSettingsView.xaml.cs">
<DependentUpon>OwnChatSettingsView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\SuchergebnisMasterMenuItem.cs" />
<Compile Include="View\Detail\Suchergebnis.xaml.cs">
<DependentUpon>Suchergebnis.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\TemplatePrintSelection.xaml.cs">
<DependentUpon>TemplatePrintSelection.xaml</DependentUpon>
</Compile>
<Compile Include="View\Detail\VorlageEditView.xaml.cs">
<DependentUpon>VorlageEditView.xaml</DependentUpon>
</Compile>
@@ -2435,392 +2452,392 @@
<ItemGroup>
<PublishFile Include="Blacklight.Wpf.Controls">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Charts.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Data.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Data.v17.1.Linq">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Office.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.PivotGrid.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Printing.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.RichEdit.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.RichEdit.v17.1.Export">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Sparkline.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Utils.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Accordion.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Charts.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Core.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Docking.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Grid.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Grid.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Layout.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Mvvm.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Printing.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Printing.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Ribbon.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Scheduler.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.LightGray.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2007Black.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2010Black.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2013.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.Xpf.Themes.Office2016White.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraBars.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraCharts.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraEditors.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraNavBar.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraPivotGrid.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraPrinting.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraReports.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraScheduler.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraScheduler.v17.1.Core">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraScheduler.v17.1.Reporting">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="DevExpress.XtraTreeList.v17.1">
<Visible>False</Visible>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
</ItemGroup>

View File

@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -3592,24 +3592,24 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UpdateBeWoFoldersBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateBeWoFolders(System.Collections.Generic.List<BS.Shared.DataContracts.BeWoFolderDC> dcs);
// CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadPackage) von Nachricht "UploadPackage" nicht mit dem Standardwert (UploadDocument) übereinstimmt.
// CODEGEN: Generating message contract since the wrapper name (UploadPackage) of message UploadPackage does not match the default value (UploadDocument)
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UploadDocument", ReplyAction="http://tempuri.org/IStreamingService/UploadDocumentResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UploadDocumentBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BeWo.ServiceProxy.UploadResult UploadDocument(BeWo.ServiceProxy.UploadPackage request);
// CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UpdatePackage) von Nachricht "UpdatePackage" nicht mit dem Standardwert (UpdateDocument) übereinstimmt.
// CODEGEN: Generating message contract since the wrapper name (UpdatePackage) of message UpdatePackage does not match the default value (UpdateDocument)
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UpdateDocument", ReplyAction="http://tempuri.org/IStreamingService/UpdateDocumentResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UpdateDocumentBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BeWo.ServiceProxy.UploadResult UpdateDocument(BeWo.ServiceProxy.UpdatePackage request);
// CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadChatPackage) von Nachricht "UploadChatPackage" nicht mit dem Standardwert (CreateNewSpeziallStreamChatMessagesDC) übereinstimmt.
// CODEGEN: Generating message contract since the wrapper name (UploadChatPackage) of message UploadChatPackage does not match the default value (CreateNewSpeziallStreamChatMessagesDC)
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/CreateNewSpeziallStreamChatMessagesDC", ReplyAction="http://tempuri.org/IStreamingService/CreateNewSpeziallStreamChatMessagesDCRespons" +
"e")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/CreateNewSpeziallStreamChatMessagesDCBeWoFau" +
"ltFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BeWo.ServiceProxy.UploadChatResult CreateNewSpeziallStreamChatMessagesDC(BeWo.ServiceProxy.UploadChatPackage request);
// CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadPackage) von Nachricht "UploadPackage" nicht mit dem Standardwert (UploadImportFile) übereinstimmt.
// CODEGEN: Generating message contract since the wrapper name (UploadPackage) of message UploadPackage does not match the default value (UploadImportFile)
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UploadImportFile", ReplyAction="http://tempuri.org/IStreamingService/UploadImportFileResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IStreamingService/UploadImportFileBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BeWo.ServiceProxy.UploadImportFileResult UploadImportFile(BeWo.ServiceProxy.UploadPackage request);
@@ -4503,6 +4503,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/ValidateSchedulerAppointment", ReplyAction="http://tempuri.org/IResourceService/ValidateSchedulerAppointmentResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/ValidateSchedulerAppointmentBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string ValidateSchedulerAppointment(System.DateTime start, System.DateTime end, System.Collections.Generic.List<long> employees, System.Collections.Generic.List<long> customers, System.Collections.Generic.List<long> resources, long originator, System.Nullable<long> appointmentOid, System.Nullable<System.Guid> recurrenceId, int occurrenceIndex, bool shouldSkipResourceAvailability);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/DeleteMobileTestAppointments", ReplyAction="http://tempuri.org/IResourceService/DeleteMobileTestAppointmentsResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/DeleteMobileTestAppointmentsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteMobileTestAppointments();
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -4793,6 +4797,11 @@ namespace BeWo.ServiceProxy
{
return base.Channel.ValidateSchedulerAppointment(start, end, employees, customers, resources, originator, appointmentOid, recurrenceId, occurrenceIndex, shouldSkipResourceAvailability);
}
public void DeleteMobileTestAppointments()
{
base.Channel.DeleteMobileTestAppointments();
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -5006,12 +5015,21 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertTemplate", ReplyAction="http://tempuri.org/IOperationsService/InsertTemplateResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertTemplateBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertTemplate(BS.Shared.DataContracts.DokumentvorlageDC dc);
BS.Shared.DataContracts.DokumentvorlageDC InsertTemplate(BS.Shared.DataContracts.DokumentvorlageDC dc);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConcept", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForSupportConceptBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomer", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomerResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForCustomer();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetPlatzhalterForEmployee", ReplyAction="http://tempuri.org/IOperationsService/GetPlatzhalterForEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetPlatzhalterForEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForEmployee();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetFolderById", ReplyAction="http://tempuri.org/IOperationsService/GetFolderByIdResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetFolderByIdBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.BeWoFolderDC GetFolderById(long oid);
@@ -5032,6 +5050,28 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteTemplatesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteTemplates(System.Collections.Generic.List<BS.Shared.DataContracts.DokumentvorlageDC> vorlagen);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignature", ReplyAction="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignatureResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/HasConfirmationReceiptSignatureBeWoFaultFau" +
"lt", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
bool HasConfirmationReceiptSignature(System.Collections.Generic.List<long> customerOids, System.Nullable<long> employeeOid, System.Nullable<long> costbearerOid, System.Nullable<long> serviceCategoryOid, BS.Shared.Core.DateTimeSpan timeSpan);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/ReplacePlaceholdersInTemplate", ReplyAction="http://tempuri.org/IOperationsService/ReplacePlaceholdersInTemplateResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/ReplacePlaceholdersInTemplateBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string ReplacePlaceholdersInTemplate(BS.Shared.DataContracts.DokumentvorlageDC template, System.Nullable<long> objectOid, System.Nullable<long> tableOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertFileAttachment", ReplyAction="http://tempuri.org/IOperationsService/InsertFileAttachmentResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertFileAttachmentBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertFileAttachment(BS.Shared.DataContracts.FileAttachmentDC fileAttachmentDC);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/SearchForFiles", ReplyAction="http://tempuri.org/IOperationsService/SearchForFilesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/SearchForFilesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.FileAttachmentDC> SearchForFiles(string nutzereingabe);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetObjectForFilePath", ReplyAction="http://tempuri.org/IOperationsService/GetObjectForFilePathResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetObjectForFilePathBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
string GetObjectForFilePath(BS.Shared.TableID table, System.Nullable<long> oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateIsChatActiveCustomerAPPCodeDC", ReplyAction="http://tempuri.org/IOperationsService/UpdateIsChatActiveCustomerAPPCodeDCResponse" +
"")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateIsChatActiveCustomerAPPCodeDCBeWoFaul" +
@@ -6152,9 +6192,14 @@ namespace BeWo.ServiceProxy
return base.Channel.GetVorlagentabelleDCs();
}
public void InsertTemplate(BS.Shared.DataContracts.DokumentvorlageDC dc)
public BS.Shared.DataContracts.DokumentvorlageDC InsertTemplate(BS.Shared.DataContracts.DokumentvorlageDC dc)
{
base.Channel.InsertTemplate(dc);
return base.Channel.InsertTemplate(dc);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForSupportConcept()
{
return base.Channel.GetPlatzhalterForSupportConcept();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForCustomer()
@@ -6162,6 +6207,11 @@ namespace BeWo.ServiceProxy
return base.Channel.GetPlatzhalterForCustomer();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.PlatzhalterDC> GetPlatzhalterForEmployee()
{
return base.Channel.GetPlatzhalterForEmployee();
}
public BS.Shared.DataContracts.BeWoFolderDC GetFolderById(long oid)
{
return base.Channel.GetFolderById(oid);
@@ -6187,6 +6237,31 @@ namespace BeWo.ServiceProxy
base.Channel.DeleteTemplates(vorlagen);
}
public bool HasConfirmationReceiptSignature(System.Collections.Generic.List<long> customerOids, System.Nullable<long> employeeOid, System.Nullable<long> costbearerOid, System.Nullable<long> serviceCategoryOid, BS.Shared.Core.DateTimeSpan timeSpan)
{
return base.Channel.HasConfirmationReceiptSignature(customerOids, employeeOid, costbearerOid, serviceCategoryOid, timeSpan);
}
public string ReplacePlaceholdersInTemplate(BS.Shared.DataContracts.DokumentvorlageDC template, System.Nullable<long> objectOid, System.Nullable<long> tableOid)
{
return base.Channel.ReplacePlaceholdersInTemplate(template, objectOid, tableOid);
}
public void InsertFileAttachment(BS.Shared.DataContracts.FileAttachmentDC fileAttachmentDC)
{
base.Channel.InsertFileAttachment(fileAttachmentDC);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.FileAttachmentDC> SearchForFiles(string nutzereingabe)
{
return base.Channel.SearchForFiles(nutzereingabe);
}
public string GetObjectForFilePath(BS.Shared.TableID table, System.Nullable<long> oid)
{
return base.Channel.GetObjectForFilePath(table, oid);
}
public void UpdateIsChatActiveCustomerAPPCodeDC(long customerOid, int activeType)
{
base.Channel.UpdateIsChatActiveCustomerAPPCodeDC(customerOid, activeType);

View File

@@ -0,0 +1,30 @@
<localView:BeWoView x:Class="BeWo.View.Detail.Suchergebnis"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<dxg:GridControl Grid.Row="0" Margin="2,3,5,5" x:Name="datagrid_searchresult" SelectionMode="None">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="FileName" AllowEditing="False" Header="Dateiname" Width="auto" />
<dxg:GridColumn FieldName="FilePath" AllowEditing="False" Header="Dateipfad" Width="*" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" x:Name="EnabledForSearchResultView"/>
</dxg:GridControl.View>
</dxg:GridControl>
<WrapPanel Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5">
<Button x:Name="Button_Cancel" Content="Abbrechen" Click="Button_Cancel_Click" Margin="0 0 5 0" />
<Button x:Name="Button_Open" Content="Auswahl öffnen" Click="Button_Open_Click"/>
</WrapPanel>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using BeWo.Controls;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.View.Search;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BeWo.Core.Service;
using BS.Shared;
using BS.Shared.Extensions;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.Shared.Translation;
using DevExpress.Xpf.RichEdit;
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
using System.Linq;
using DevExpress.Xpf.Grid;
using System.Windows.Media.Imaging;
using DevExpress.Utils;
namespace BeWo.View.Detail
{
public partial class Suchergebnis
{
public event Action ButtonOpenClicked;
public event Action ButtonCancelClicked;
public SuchergebnisVM Selected { get; set; }
public Suchergebnis()
{
InitializeComponent();
}
public void InitView(List<SuchergebnisVM> suchergebnisse)
{
datagrid_searchresult.ItemsSource = suchergebnisse;
datagrid_searchresult.SelectedItem = Selected;
}
private void Button_Open_Click(object sender, RoutedEventArgs e)
{
Selected = datagrid_searchresult.SelectedItem as SuchergebnisVM;
if (Selected == null)
{
MessageBox.Show("Sie müssen eine Auswahl treffen.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
ButtonOpenClicked?.Invoke();
}
private void Button_Cancel_Click(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("Wollen Sie wirklich abbrechen?", "BeWoPlaner", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
ButtonCancelClicked?.Invoke();
}
}
}

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.View.Detail
{
public class SuchergebnisMasterMenuItem
{
public SuchergebnisMasterMenuItem()
{
TargetType = typeof(SuchergebnisMasterMenuItem);
}
public int Id { get; set; }
public string Title { get; set; }
public Type TargetType { get; set; }
}
}

View File

@@ -0,0 +1,102 @@
<localView:BeWoView x:Class="BeWo.View.Detail.TemplatePrintSelection"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewControls="clr-namespace:BeWo.View.Controls"
xmlns:localSearchView="clr-namespace:BeWo.View.Search"
xmlns:val="clr-namespace:BeWo.Validation"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxre="http://schemas.devexpress.com/winfx/2008/xaml/richedit"
xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<TabControl>
<TabItem>
<TabItem.Header>
<TextBlock Text="{markup:Translate Ein Element}" TextElement.FontSize="16" TextElement.Foreground="{StaticResource TabItemHotTextBrush}" TextElement.FontFamily="Microsoft Sans Serif" Padding="3"></TextBlock>
</TabItem.Header>
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<WrapPanel HorizontalAlignment="Left" Margin="5" Grid.Row="0">
<CheckBox Content="Dokument abspeichern" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" ></CheckBox>
</WrapPanel>
<WrapPanel HorizontalAlignment="Right" Margin="5" Grid.Row="0">
<Label Margin="0 0 5 0" Content="Auswahl"/>
<ComboBox x:Name="combobox_elementList" Width="150" MaxDropDownHeight="400" ScrollViewer.VerticalScrollBarVisibility="Visible" SelectionChanged="combobox_elementList_SelectionChanged"></ComboBox>
</WrapPanel>
<dxg:TreeListControl x:Name="treelistcontrol_folderStructureForSelection" Grid.Row="1" DefaultSorting="Name" Margin="2,3,5,5" VerticalAlignment="Stretch" Visibility="Collapsed">
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Name" AllowSorting="True"/>
</dxg:TreeListControl.Columns>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="DocumentsTreeView_folderStructureForSelection" ShowColumnHeaders="False" ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False"
FocusedRowChanged="DocumentsTreeView_FocusedRowChanged" PreviewMouseLeftButtonDown="DocumentsTreeView_folderStructureForSelection_PreviewMouseLeftButtonDown"
NodeExpanding="DocumentsTreeView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True"
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid">
</dxg:TreeListView>
</dxg:TreeListControl.View>
</dxg:TreeListControl>
<WrapPanel Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0 50 5 5">
<Button x:Name="Button_Cancel_OnlyOne" Content="Abbrechen" Click="Button_Cancel_Click" Margin="0 0 5 0" />
<Button x:Name="Button_CreateTemplateBasedDocument_OnlyOne" Content="Dokument für Auswahl erstellen" Click="Button_CreateTemplateForSelection_Click" />
</WrapPanel>
</Grid>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{markup:Translate Mehrere Elemente}" TextElement.FontSize="16" TextElement.Foreground="{StaticResource TabItemHotTextBrush}" TextElement.FontFamily="Microsoft Sans Serif" Padding="3"></TextBlock>
</TabItem.Header>
<Grid Margin="0,3,0,0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<dxg:GridControl Grid.Row="0" Margin="2,3,5,5" x:Name="datagrid_enabled_for_template" Grid.Column="1" SelectionMode="None">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Selected" AllowEditing="True" Header="Auswahl" Width="60">
<!--<dxg:GridColumn.CellTemplate>
<DataTemplate>
<dxe:CheckEdit IsEnabled="True" Margin="23 0 0 0" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>-->
</dxg:GridColumn>
<dxg:GridColumn FieldName="LastName" AllowEditing="False" Header="Nachname" Width="*"/>
<dxg:GridColumn FieldName="FirstName" AllowEditing="False" Header="Vorname" Width="*"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" x:Name="EnabledForTemplatesTableView"/>
</dxg:GridControl.View>
</dxg:GridControl>
<WrapPanel Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="5">
<Button x:Name="Button_SelectAll" Click="Button_SelectAll_Click" Content="Alle markieren" Margin="0 0 5 0" />
<Button x:Name="Button_UnselectAll" Click="Button_UnselectAll_Click" Content="Alle abwählen" Margin="0 0 5 0" />
</WrapPanel>
<WrapPanel Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0 50 5 5">
<Button x:Name="Button_Cancel" Content="Abbrechen" Click="Button_Cancel_Click" Margin="0 0 5 0" />
<Button x:Name="Button_CreateTemplateBasedDocument" Content="Dokument für Auswahl erstellen" Click="Button_CreateTemplateBasedDocument_Click" />
<!--<Button x:Name="Button_CreateTemplateBasedDocumentForAll" Content="Dokument für alle erstellen" Click="Button_CreateTemplateBasedDocumentForAll_Click" Margin="5 0 0 0"/>-->
</WrapPanel>
</Grid>
</TabItem>
</TabControl>
</localView:BeWoView>

View File

@@ -0,0 +1,321 @@
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using BeWo.Controls;
using BeWo.Core;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.View.Search;
using BeWo.ViewModel;
using BeWo.ViewModel.ListViewModel;
using BeWo.Core.Service;
using BS.Shared;
using BS.Shared.Extensions;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Services;
using BS.Shared.Translation;
using DevExpress.Xpf.RichEdit;
using SupportConceptService = BeWo.Core.Service.SupportConceptService;
using System.Linq;
using DevExpress.Xpf.Grid;
using System.Windows.Media.Imaging;
using DevExpress.Utils;
namespace BeWo.View.Detail
{
public partial class TemplatePrintSelection
{
public event Action ButtonCreateClicked;
public event Action ButtonCreateForSelectionClicked;
public event Action ButtonCreateForAllClicked;
public event Action ButtonCancelClicked;
public DocumentTreeItemVM selectedFolder = null;
public TemplatePrintSelection()
{
InitializeComponent();
}
public void InitView(long? tabelle)
{
InitializeComponent();
List<PrintSelectionVM> vms = new List<PrintSelectionVM>();
switch (tabelle)
{
case 2: vms = GetEmployee(); break;
case 8: vms = GetCustomers(); break;
case 15: vms = GetSupportConcepts(); break;
}
List<PrintSelectionVM> sortedList = vms.OrderBy(vm => vm.LastName).ToList();
datagrid_enabled_for_template.ItemsSource = sortedList;
combobox_elementList.ItemsSource = sortedList;
datagrid_enabled_for_template.SelectedItem = null;
Focus();
}
private List<PrintSelectionVM> GetEmployee()
{
var DCs = VMFactory.CreateEmployeeList();
List<PrintSelectionVM> list = new List<PrintSelectionVM>();
foreach (var e in DCs)
{
list.Add(new PrintSelectionVM(e.LastName, e.FirstName, 2, e.EmployeeOid));
}
return list;
}
private List<PrintSelectionVM> GetCustomers()
{
var DCs = VMFactory.CreateCustomerList();
List<PrintSelectionVM> list = new List<PrintSelectionVM>();
foreach (var c in DCs)
{
list.Add(new PrintSelectionVM(c.LastName, c.FirstName, 8, c.CustomerOid));
}
return list;
}
private List<PrintSelectionVM> GetSupportConcepts()
{
var DCs = VMFactory.CreateSupportConceptList();
List<PrintSelectionVM> list = new List<PrintSelectionVM>();
foreach (var s in DCs)
{
string[] dateAndTime = s.StartDate.ToString().Split(' ');
list.Add(new PrintSelectionVM(s.LastName + " (" + dateAndTime[0] + ")", s.FirstName, 15, s.SupportConceptOid));
}
return list;
}
private void Button_CreateTemplateBasedDocument_Click(object sender, RoutedEventArgs e)
{
selectedFolder = null;
var selected = GetSelectedElements();
if (selected == null || selected.Count == 0)
{
MessageBox.Show("Es muss mindestens ein Datensatz ausgewählt werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
ButtonCreateClicked?.Invoke();
}
private void Button_CreateTemplateForSelection_Click(object sender, RoutedEventArgs e)
{
var selected = combobox_elementList.SelectedItem as PrintSelectionVM;
if (selected == null)
{
MessageBox.Show("Es muss ein Datensatz ausgewählt werden.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
ButtonCreateForSelectionClicked?.Invoke();
}
//private void Button_CreateTemplateBasedDocumentForAll_Click(object sender, RoutedEventArgs e)
//{
// var selected = datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
// ButtonCreateForAllClicked?.Invoke();
//}
private void Button_Cancel_Click(object sender, RoutedEventArgs e)
{
ButtonCancelClicked?.Invoke();
}
public List<PrintSelectionVM> GetSelectedElements()
{
var t = datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
List<PrintSelectionVM> vms = new List<PrintSelectionVM>();
foreach (var item in t)
{
if(item.Selected)
vms.Add(item);
}
return vms;
}
private void Button_SelectAll_Click(object sender, RoutedEventArgs e)
{
var t = datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
List<PrintSelectionVM> vms = new List<PrintSelectionVM>();
foreach (var item in t)
{
item.Selected = true;
vms.Add(item);
}
//datagrid_enabled_for_template.ItemsSource = null;
datagrid_enabled_for_template.ItemsSource = vms;
}
private void Button_UnselectAll_Click(object sender, RoutedEventArgs e)
{
var t = datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
List<PrintSelectionVM> vms = new List<PrintSelectionVM>();
foreach (var item in t)
{
item.Selected = false;
vms.Add(item);
}
//datagrid_enabled_for_template.ItemsSource = null;
datagrid_enabled_for_template.ItemsSource = vms;
}
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Visible;
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
selectedFolder = null;
treelistcontrol_folderStructureForSelection.Visibility = Visibility.Collapsed;
}
private void combobox_elementList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selection = combobox_elementList.SelectedItem as PrintSelectionVM;
var objectOid = selection.ObjectOid;
TableID tid = TableID.Employee;
switch(selection.Table)
{
case 2: tid = TableID.Employee;break;
case 8: tid = TableID.Customer;break;
case 15: tid = TableID.SupportConcept;break;
}
var folderDCs = VMFactory.CreateFolderList(tid, (long)objectOid);
for (int i = DocumentsTreeView_folderStructureForSelection.Nodes.Count - 1; i >= 0; i--)
DocumentsTreeView_folderStructureForSelection.Nodes.Remove(DocumentsTreeView_folderStructureForSelection.Nodes[i]);
GenerateFolderStructure(tid, null, folderDCs);
}
private void GenerateFolderStructure(TableID table, TreeListNode node, List<BeWoFolderDC> folderDCs)
{
if (node == null)
{
node = new TreeListNode()
{
IsExpandButtonVisible = DefaultBoolean.True,
Tag = false,
Image = LoadFolderImage()
};
}
var content = node.Content as DocumentTreeItemVM;
foreach (var folder in folderDCs)
{
//Falls kein übergeordneter Knoten exisitert
//if(content == null)
//{
// PrintSelectionVM selected = combobox_elementList.SelectedItem as PrintSelectionVM;
// var dc = new DocumentTreeItemDC()
// {
// DocTreeItemOid = 0,
// ParentOid = null,
// Name = "Alle Ordner",
// Table = table
// };
// content = new DocumentTreeItemVM(dc);
// node.Content = content;
// DocumentsTreeView_folderStructureForSelection.Nodes.Add(node);
//}
PrintSelectionVM selected = combobox_elementList.SelectedItem as PrintSelectionVM;
DocumentTreeItemDC folder_dc = new DocumentTreeItemDC()
{
DocTreeItemOid = folder.BeWoFolderOid,
ParentOid = null,
Name = folder.Name,
FilesInFolder = new List<FileAttachmentDC>(),
BeWoFolderDC = folder,
Table = table,
ObjectOid = selected.ObjectOid
};
if (content != null)
folder_dc.ParentOid = content.DocTreeItemOid;
DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(folder_dc);
TreeListNode newNode_folder = new TreeListNode()
{
Content = folder_vm,
IsExpandButtonVisible = DefaultBoolean.True,
Tag = false,
Image = LoadFolderImage()
};
folder_dc.Node = newNode_folder;
if(node.Content == null)
DocumentsTreeView_folderStructureForSelection.Nodes.Add(newNode_folder);
else
node.Nodes.Add(newNode_folder);
if (folder.SubFolders.Count != 0)
{
GenerateFolderStructure(table, newNode_folder, folder.SubFolders);
}
}
}
private BitmapImage LoadFolderImage()
{
return new BitmapImage(new Uri("/Ressources/Icons/Folder.png", UriKind.Relative));
}
private void DocumentsTreeView_FocusedRowChanged(object sender, DevExpress.Xpf.Grid.FocusedRowChangedEventArgs e)
{
//if(DocumentsTreeView_folderStructureForSelection.SelectedRows.Count != 0)
// selectedFolder = DocumentsTreeView_folderStructureForSelection.SelectedRows[0] as DocumentTreeItemVM;
}
private void DocumentsTreeView_NodeExpanding(object sender, DevExpress.Xpf.Grid.TreeList.TreeListNodeAllowEventArgs e)
{
}
private void DocumentsTreeView_folderStructureForSelection_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (DocumentsTreeView_folderStructureForSelection.SelectedRows.Count != 0)
selectedFolder = DocumentsTreeView_folderStructureForSelection.SelectedRows[0] as DocumentTreeItemVM;
}
//public List<PrintSelectionVM> SelectAllElements()
//{
// return datagrid_enabled_for_template.ItemsSource as List<PrintSelectionVM>;
//}
}
}

View File

@@ -36,14 +36,8 @@
<Label Grid.Column="0" Grid.Row="0" Content="Vorlagenname" />
<Label Grid.Column="0" Grid.Row="1" Content="Beschreibung" />
<dxe:TextEdit EditValue="{Binding Mode=TwoWay, Path=DisplayName, UpdateSourceTrigger=PropertyChanged}"
x:Name="TextEdit_Vorlagenname" Grid.Column="1" Grid.Row="0"
Height="23"
Margin="3,0,3,3" EditValueChanged="TextEdit_Vorlagenname_EditValueChanged"/>
<dxe:TextEdit EditValue="{Binding Mode=TwoWay, Path=DisplayName, UpdateSourceTrigger=PropertyChanged}"
x:Name="TextEdit_Beschreibung" Grid.Column="1" Grid.Row="1"
Height="23"
Margin="3,0,3,3" EditValueChanged="TextEdit_Beschreibung_EditValueChanged"/>
<dxe:TextEdit x:Name="TextEdit_Vorlagenname" Grid.Column="1" Grid.Row="0" Height="23" Margin="3,0,3,3" EditValueChanged="TextEdit_Vorlagenname_EditValueChanged"/>
<dxe:TextEdit x:Name="TextEdit_Beschreibung" Grid.Column="1" Grid.Row="1" Height="23" Margin="3,0,3,3" EditValueChanged="TextEdit_Beschreibung_EditValueChanged"/>
</Grid>
<Grid Grid.Row="1" Margin="0,10,0,0">
@@ -58,7 +52,7 @@
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="30" />
<RowDefinition Height="35" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<dxb:BarManager ToolbarGlyphSize="Small" x:Name="barManager" AllowQuickCustomization="False" AllowHotCustomization="False" AllowCustomization="False">
@@ -596,7 +590,7 @@
<WrapPanel HorizontalAlignment="Right" Margin="5" Grid.Row="1">
<Label Margin="0 0 5 0" Content="Platzhalter"/>
<ComboBox x:Name="combobox_templates" Width="150" SelectionChanged="combobox_templates_SelectionChanged" MaxDropDownHeight="200" ScrollViewer.VerticalScrollBarVisibility="Visible"></ComboBox>
<ComboBox x:Name="combobox_templates" Width="150" SelectionChanged="combobox_templates_SelectionChanged" MaxDropDownHeight="300" ScrollViewer.VerticalScrollBarVisibility="Visible"></ComboBox>
</WrapPanel>
<DockPanel Grid.Row="2">

View File

@@ -74,9 +74,11 @@ namespace BeWo.View.Detail
TextEdit_Beschreibung.Text = pVM.Beschreibung;
}
if (pVM.Text != null)
richEditControl1.Text = pVM.Text;
{
richEditControl1.RtfText = pVM.RTFText;
}
List<string> templates = new List<string>();
List<PlatzhalterDC> templates = new List<PlatzhalterDC>();
switch(tabelle)
{
@@ -90,36 +92,71 @@ namespace BeWo.View.Detail
Focus();
}
private List<string> TemplatesForSupportConcepts()
private List<PlatzhalterDC> LoadTemplates(long? tabelle)
{
List<string> templates = new List<string>();
List<PlatzhalterDC> templates = new List<PlatzhalterDC>();
List<PlatzhalterDC> platzhalterDCs = new List<PlatzhalterDC>();
switch (tabelle)
{
case 1: platzhalterDCs = ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForSupportConcept()); break;
case 2: platzhalterDCs = TemplatesForCustomers(); break;
case 3: platzhalterDCs = TemplatesForEmployee(); break;
}
return templates;
}
private List<string> TemplatesForCustomers()
private List<PlatzhalterDC> TemplatesForSupportConcepts()
{
List<string> templates = new List<string>();
var platzhalterDCs = ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForCustomer());
List<PlatzhalterDC> templates = new List<PlatzhalterDC>();
var platzhalterDCs = ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForSupportConcept());
foreach (var item in platzhalterDCs)
{
templates.Add("-" + item.Bezeichnung + "-");
templates.Add(item);
foreach (var item2 in item.Children)
{
templates.Add(item2.Bezeichnung);
templates.Add(item2);
}
}
return templates;
}
private List<string> TemplatesForEmployee()
private List<PlatzhalterDC> TemplatesForCustomers()
{
List<string> templates = new List<string>();
List<PlatzhalterDC> templates = new List<PlatzhalterDC>();
var platzhalterDCs = ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForCustomer());
foreach (var item in platzhalterDCs)
{
templates.Add(item);
foreach (var item2 in item.Children)
{
templates.Add(item2);
}
}
return templates;
}
private List<PlatzhalterDC> TemplatesForEmployee()
{
List<PlatzhalterDC> templates = new List<PlatzhalterDC>();
var platzhalterDCs = ServiceFacade.DoOperationsServiceSync(s => s.GetPlatzhalterForEmployee());
foreach (var item in platzhalterDCs)
{
templates.Add(item);
foreach (var item2 in item.Children)
{
templates.Add(item2);
}
}
return templates;
}
@@ -127,9 +164,14 @@ namespace BeWo.View.Detail
{
if (combobox_templates.SelectedItem == null)
return;
var selected = combobox_templates.SelectedItem;
var selected = combobox_templates.SelectedItem as PlatzhalterDC;
richEditControl1.Text += "[" + selected + "]";
if(selected.ToString().StartsWith("-") && selected.ToString().EndsWith("-"))
{
MessageBox.Show("Bindestriche kennzeichnen eine Vorlagenkategorie. Wählen Sie eine Vorlage ohne Bindestriche.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
richEditControl1.Text += "[" + selected.Platzhalter + "]";
combobox_templates.SelectedItem = null;
}

View File

@@ -6,7 +6,7 @@
xmlns:dxa="http://schemas.devexpress.com/winfx/2008/xaml/accordion"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol" xmlns:controls="clr-namespace:BeWo.View.Controls"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
@@ -86,29 +86,33 @@
<Grid Margin="0,3,0,0" Grid.Row="0" Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
</Grid.ColumnDefinitions>
<dxg:TreeListControl x:Name="documents_treeview_control" Grid.Column="0" DefaultSorting="Name" Margin="2,3,5,5" VerticalAlignment="Stretch">
<StackPanel Grid.Column="0" Margin="2 0 5 0" HorizontalAlignment="Stretch">
<Label Margin="-5 0 0 0" Content="Suchen:"/>
<TextBox x:Name="textbox_searchForFileName" Margin="0 0 0 5" KeyDown="TextBox_KeyDown"></TextBox>
</StackPanel>
<dxg:TreeListControl Grid.Row="1" x:Name="documents_treeview_control" Margin="0 2 5 0" DefaultSorting="Name" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black">
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Name" AllowSorting="True"/>
</dxg:TreeListControl.Columns>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="DocumentsTreeView" PreviewMouseLeftButtonDown="DocumentsTreeView_PreviewMouseLeftButtonDown" ShowColumnHeaders="False" ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False"
FocusedRowChanged="DocumentsTreeView_FocusedRowChanged" LostFocus="DocumentsTreeView_LostFocus"
NodeExpanding="treeListView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True"
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid" ContextMenu="{StaticResource cm}">
FocusedRowChanged="DocumentsTreeView_FocusedRowChanged" LostFocus="DocumentsTreeView_LostFocus"
NodeExpanding="treeListView_NodeExpanding" AllowEditing="False" ShowNodeImages="True" PrintNodeImages="True"
KeyFieldName="{Binding DocumentTreeItemVM.DocTreeItemOid}" ParentFieldName="Binding DocumentTreeItemVM.ParentOid" ContextMenu="{StaticResource cm}">
</dxg:TreeListView>
</dxg:TreeListControl.View>
</dxg:TreeListControl>
<Grid Grid.Column="2" Grid.Row="0">
<Grid Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="auto" />
@@ -133,9 +137,40 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Name="button_uploadDocument" Click="popupedit_file_PopUpClick" Grid.Column="0" Grid.Row="0">Datei hochladen</Button>
<Label Grid.Column="1" Margin="25 1 0 0" FontSize="13">Beschreibung</Label>
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Column="2" Grid.Row="0" />
<Button Name="button_uploadDocument" Click="button_OpenUploadDocument_Click" Grid.Column="0" Grid.Row="0">Datei hochladen</Button>
<controls:PopupNonTopmost Grid.Row="0" Topmost="False" x:Name="popup_UploadFiles" Width="350" StaysOpen="True" Placement="MousePoint">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_uploadDocument" Header="Dokument hochladen" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Center" Content="{markup:Translate Datei}" />
<uc:PopUpEdit IsReadOnly="True" DeleteButtonVisibility="Collapsed"
Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="3" Height="23" x:Name="popupedit_file"
PopUpClick="popupedit_file_PopUpClick_1" Cursor="Arrow" />
<Label Content="Beschreibung" Grid.Row="2" Grid.Column="0" VerticalAlignment="Top" />
<TextBox x:Name="textbox_beschreibung" Grid.Row="2" Grid.Column="1" Height="50" Margin="3" Grid.ColumnSpan="2" />
<Button Grid.Row="4" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Hochladen" x:Name="button_uploadFile" Click="button_uploadDocument_Click" />
<Button Grid.Row="4" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="25"
Margin="3" Content="Abbrechen" x:Name="button_cancelFileUpload" Click="button_cancelFileUpload_Click" />
</Grid>
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<!--<Label Grid.Column="1" Margin="25 1 0 0" FontSize="13">Beschreibung</Label>
<TextBox Name="textbox_fileNotice" Margin="3" Height="23" Grid.Column="2" Grid.Row="0" />-->
<ProgressBar Height="20" Margin="2" Name="progressbar_upload" Grid.Row="1" Grid.ColumnSpan="3" Minimum="0" Maximum="1" />
<Label HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="2" Grid.ColumnSpan="3" Name="text_progress" />
@@ -219,7 +254,7 @@
</Grid.ColumnDefinitions>
<dxg:TreeListControl x:Name="template_treeview_control" Grid.Column="0" DefaultSorting="Name" Margin="2,3,5,5" VerticalAlignment="Stretch">
<dxg:TreeListControl x:Name="template_treeview_control" Grid.Column="0" DefaultSorting="Name" Margin="2,3,5,5" VerticalAlignment="Stretch" dx:ThemeManager.ThemeName="Office2010Black">
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Name" AllowSorting="True"/>
</dxg:TreeListControl.Columns>
@@ -299,23 +334,12 @@
<dxg:GridColumn FieldName="FileName" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="r" FontFamily="Webdings" Click="DeleteButton_Click" Width="20" Height="20" VerticalAlignment="Center" Margin="1"/>
<Button Content="r" FontFamily="Webdings" Click="TemplateDeleteButton_Click" Width="20" Height="20" VerticalAlignment="Center" Margin="1"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Name" AllowEditing="False" Header="Dateiname" Width="*" />
<dxg:GridColumn FieldName="Beschreibung" AllowEditing="False" Header="Beschreibung" Width="*" />
<!--<dxg:GridColumn FieldName="URL" Header="Herunterladen" Width="100" MinWidth="90" x:Name="ColumnDownload">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<Hyperlink TargetName="inexistent" NavigateUri="{Binding Path=Value, Converter={StaticResource DownloadURLConverter}}" RequestNavigate="Hyperlink_OnRequestNavigate">
<TextBlock Text="herunterladen" />
</Hyperlink>
</TextBlock>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>-->
<dxg:GridColumn FieldName="FileEdit" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
@@ -323,6 +347,13 @@
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="PrintFile" Header="" FixedWidth="True" Width="24" ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button Content="🖶" FontSize="14" Click="PrintTemplate_Click" Width="20" Height="20" VerticalAlignment="Center" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="false" ShowGroupPanel="False" ShowGroupedColumns="false" ShowTotalSummary="False" NavigationStyle="Cell" x:Name="TemplateTableView"/>

View File

@@ -37,6 +37,7 @@ using TextBox = System.Windows.Controls.TextBox;
using BS.Shared.DataContracts.Compact;
using BeWo.View.Detail;
using System.Text;
using BS.Shared.Translation;
namespace BeWo.View.Master
{
@@ -754,38 +755,45 @@ namespace BeWo.View.Master
private void popupedit_file_PopUpClick(object sender, RoutedEventArgs pe)
{
var dlg = new OpenFileDialog();
//var dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
try
{
_UploadFileName = dlg.FileName;
//if (dlg.ShowDialog() == DialogResult.OK)
//{
// try
// {
// _UploadFileName = dlg.FileName;
_NormalFileName = dlg.SafeFileName;
_FileNotice = textbox_fileNotice.Text;
button_uploadDocument.IsEnabled = true;
// _NormalFileName = dlg.SafeFileName;
// //_FileNotice = textbox_fileNotice.Text;
// button_uploadDocument.IsEnabled = true;
button_uploadDocument_Click(sender, pe);
// button_uploadDocument_Click(sender, pe);
textbox_fileNotice.Text = "";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
// //textbox_fileNotice.Text = "";
// }
// catch (Exception ex)
// {
// MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
// }
//}
}
private void button_uploadDocument_Click(object sender, RoutedEventArgs pe)
{
if (!String.IsNullOrEmpty(_NormalFileName))
{
if(DocumentsTreeView.SelectedRows.Count == 0)
{
MessageBox.Show("Wählen Sie links einen Ordner aus, in den die Datei hochgeladen werden soll.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
var selectedTreeViewRow = DocumentsTreeView.SelectedRows[0] as DocumentTreeItemVM;
var selectedFolder = selectedTreeViewRow.DataContract.BeWoFolderDC;
long? bewoFolderOid = selectedFolder.BeWoFolderOid;
TableID tableID = selectedFolder.ObjectTid;
long? objectOid = selectedFolder.ObjectOid;
_FileNotice = textbox_beschreibung.Text;
try
{
@@ -813,6 +821,7 @@ namespace BeWo.View.Master
//Warum klappt das nicht??
var vmlist = datagrid_documents.ItemsSource as List<FileAttachmentVM>;
datagrid_documents.ItemsSource = null;
vmlist.Add(newFileVM);
datagrid_documents.ItemsSource = vmlist;
@@ -839,6 +848,10 @@ namespace BeWo.View.Master
upload.Dispose();
}));
popupedit_file.Text = "";
textbox_beschreibung.Text = "";
popup_UploadFiles.IsOpen = false;
}
catch (Exception ex)
@@ -846,6 +859,10 @@ namespace BeWo.View.Master
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
else
{
MessageBox.Show("Wählen Sie eine Datei zum hochladen aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
private void DocumentsTreeView_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
@@ -1138,24 +1155,6 @@ namespace BeWo.View.Master
}
private void Templates_SupportConcepts_Expended(TreeListNode node)
{
if (node.Nodes.Count == 0)
{
}
}
private void Templates_Customers_Expended(TreeListNode node)
{
}
private void Templates_Employee_Expended(TreeListNode node)
{
}
private void TemplateContextMenu_Opened(object sender, RoutedEventArgs e)
{
if (e.OriginalSource is ContextMenu)
@@ -1249,8 +1248,20 @@ namespace BeWo.View.Master
vm.Parent = row.DataContract.BeWoFolderDC.BeWoFolderOid;
var savedTemplate = EditTemplate(vm);
if(savedTemplate != null)
SaveInDatabase(savedTemplate);
if(savedTemplate != null)
{
if(savedTemplate.IsDirty)
{
SaveInDatabase(savedTemplate);
var tableitems = datagrid_templates.ItemsSource as List<DokumentvorlageVM>;
datagrid_templates.ItemsSource = new List<DokumentvorlageVM>();
tableitems.Add(savedTemplate);
datagrid_templates.ItemsSource = tableitems;
}
}
}
}
}
@@ -1259,7 +1270,7 @@ namespace BeWo.View.Master
private DokumentvorlageVM EditTemplate(DokumentvorlageVM vm)
{
var row = TemplateTreeView.SelectedRows[0] as DocumentTreeItemVM;
var folder = ServiceFacade.DoOperationsServiceSync(s => s.GetFolderById((long)row.DocTreeItemOid));
var folder = ServiceFacade.DoOperationsServiceSync(s => s.GetFolderById((long)row.DataContract.BeWoFolderDC.BeWoFolderOid));
long? tabelle = folder.ObjectOid;
var control = new VorlageEditView();
@@ -1297,13 +1308,14 @@ namespace BeWo.View.Master
return control.ViewModel;
}
private void SaveInDatabase(DokumentvorlageVM savedTemplate)
private DokumentvorlageDC SaveInDatabase(DokumentvorlageVM savedTemplate)
{
var dc = savedTemplate.CommitToDataContract();
var textasbytes = Encoding.ASCII.GetBytes(dc.RTFText);
dc.Data = textasbytes;
ServiceFacade.DoOperationsServiceSync(s => s.InsertTemplate(dc));
var updatedDC = ServiceFacade.DoOperationsServiceSync(s => s.InsertTemplate(dc));
return updatedDC;
}
private void EditSelectedTemplateFolder()
@@ -1352,17 +1364,14 @@ namespace BeWo.View.Master
var row = TemplateTreeView.SelectedRows[0] as DocumentTreeItemVM;
var templatesInFolder = datagrid_templates.ItemsSource as List<DokumentvorlageVM>;
List<DokumentvorlageDC> dcs = new List<DokumentvorlageDC>();
if (templatesInFolder == null)
return;
else if(templatesInFolder.Count != 0)
var templatesInFolder = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenInFolder((long)folder.BeWoFolderOid));
if (templatesInFolder != null)
{
foreach (var t in templatesInFolder)
if (templatesInFolder.Count != 0)
{
dcs.Add(t.DataContract);
ServiceFacade.DoOperationsServiceSync(s => s.DeleteTemplates(templatesInFolder));
}
ServiceFacade.DoOperationsServiceSync(s => s.DeleteTemplates(dcs));
}
if (folder.SubFolders.Count != 0)
@@ -1385,7 +1394,11 @@ namespace BeWo.View.Master
var selected = source.SelectedRows[0] as DocumentTreeItemVM;
if (selected == null || selected.Name.Equals("Alle Ordner"))
{
datagrid_templates.ItemsSource = new List<DokumentvorlageVM>();
return;
}
var vmList = new List<DokumentvorlageVM>();
@@ -1393,16 +1406,16 @@ namespace BeWo.View.Master
//var folderDC_Oid = folderDC.BeWoFolderOid;
if (selected.DataContract.BeWoFolderDC == null)
return;
var maybeRightOid = selected.DataContract.BeWoFolderDC.BeWoFolderOid;
//if(folderDC != null)
//{
var folderOid = maybeRightOid;
var folderOid = selected.DataContract.BeWoFolderDC.BeWoFolderOid;
var vorlagenInOrdner = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenInFolder((long)folderOid));
var vorlagenInOrdner = ServiceFacade.DoOperationsServiceSync(s => s.GetDokumentvorlagenInFolder((long)folderOid));
foreach(DokumentvorlageDC dc in vorlagenInOrdner)
{
vmList.Add(new DokumentvorlageVM(dc));
}
datagrid_templates.ItemsSource = vmList;
//}
@@ -1416,7 +1429,397 @@ namespace BeWo.View.Master
var templateVM = datagrid_templates.SelectedItem as DokumentvorlageVM;
EditTemplate(templateVM);
if(templateVM.IsDirty)
SaveInDatabase(templateVM);
{
var dc = SaveInDatabase(templateVM);
templateVM.DataContract = dc;
}
}
private void PrintTemplate_Click(object sender, RoutedEventArgs e)
{
var templateVM = datagrid_templates.SelectedItem as DokumentvorlageVM;
var liste = ServiceFacade.DoOperationsServiceSync(s => s.GetVorlagentabelleDCs());
long vorlagentabelle = 0;
foreach (var item in liste)
{
if(item.VorlagentabelleObjectTid == templateVM.Tabellenzugehoerigkeit)
{
vorlagentabelle = templateVM.Tabellenzugehoerigkeit;
break;
}
}
long? tabellenoid = vorlagentabelle;
var control = new TemplatePrintSelection();
control.InitView(tabellenoid);
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Auswahl für Vorlage treffen" },
Height = this.Height,
Width = 600,
MinWidth = 400,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
List<PrintSelectionVM> printSelectionVMs = new List<PrintSelectionVM>();
control.ButtonCreateClicked += () =>
{
printSelectionVMs = control.GetSelectedElements();
beWoWindow.Close();
};
control.ButtonCreateForSelectionClicked += () =>
{
printSelectionVMs.Add(control.combobox_elementList.SelectedItem as PrintSelectionVM);
beWoWindow.Close();
};
//control.ButtonCreateForAllClicked += () =>
//{
// printSelectionVMs = control.SelectAllElements();
// beWoWindow.Close();
//};
control.ButtonCancelClicked += () =>
{
beWoWindow.Close();
return;
};
beWoWindow.ShowDialog();
if(printSelectionVMs != null && printSelectionVMs.Count > 0)
{
if (printSelectionVMs[0].ObjectOid != null && printSelectionVMs[0].Table != null)
{
List<long> objectOids = new List<long>();
foreach (var p in printSelectionVMs)
{
objectOids.Add((long)p.ObjectOid);
}
string url = GenerateURL((long)templateVM.DataContract.DokumentvorlageOid, objectOids, (long)printSelectionVMs[0].Table);
BeWoUtils.NavigateToReportUri(url, Translator.Translate("Dokument mit ersetzten Platzhaltern"), () => { });
if(control.selectedFolder != null)
{
var objectOid = (control.combobox_elementList.SelectedItem as PrintSelectionVM).ObjectOid;
string text = ServiceFacade.DoOperationsServiceSync(s => s.ReplacePlaceholdersInTemplate(templateVM.DataContract, (long)objectOid, (control.combobox_elementList.SelectedItem as PrintSelectionVM).Table));
templateVM.Data = Encoding.ASCII.GetBytes(text);
UploadTemplateBasedDocument(control.selectedFolder.DataContract.BeWoFolderDC, templateVM.Name, (long)objectOid, templateVM);
}
}
}
}
private void UploadTemplateBasedDocument(BeWoFolderDC folder, string filename, long objectOid, DokumentvorlageVM dokumentvorlage)
{
try
{
FileAttachmentDC file = new FileAttachmentDC()
{
BeWoFolderOid = folder.BeWoFolderOid,
BinaryData = dokumentvorlage.Data,
Description = dokumentvorlage.Beschreibung,
FileAttachmentType = FileAttachmentType.NotSpecified,
FileAttachmentVersion = 1,
FileName = filename,
ObjectOid = objectOid,
ObjectTid = folder.ObjectTid,
InsertedBy = BeWoApp.LoggedOnEmployee.FirstName + BeWoApp.LoggedOnEmployee.LastName,
InsertedOn = DateTime.Now
};
ServiceFacade.DoOperationsServiceSync(s => s.InsertFileAttachment(file));
foreach (var node in DocumentsTreeView.Nodes)
{
UpdateFilesInFolder(file, folder, node);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
private void UpdateFilesInFolder(FileAttachmentDC file, BeWoFolderDC folder, TreeListNode node)
{
var doctreeitem = node.Content as DocumentTreeItemVM;
if(doctreeitem.DataContract.ParentOid != null)
{
if (doctreeitem.DataContract.BeWoFolderDC != null)
{
foreach (var subnode in node.Nodes)
{
var sub = subnode.Content as DocumentTreeItemVM;
if (sub.DataContract.BeWoFolderDC.BeWoFolderOid == folder.BeWoFolderOid)
sub.DataContract.FilesInFolder.Add(file);
}
}
else
{
if (node.Nodes.Count > 0)
{
foreach (var n in node.Nodes)
{
UpdateFilesInFolder(file, folder, n);
}
}
}
}
else
{
if (node.Nodes.Count > 0)
{
foreach (var n in node.Nodes)
{
UpdateFilesInFolder(file, folder, n);
}
}
}
}
private void TemplateDeleteButton_Click(object sender, RoutedEventArgs e)
{
var row = TemplateTreeView.SelectedRows[0] as DocumentTreeItemVM;
var selectedTemplate = this.datagrid_templates.GetFocusedRow() as DokumentvorlageVM;
if (selectedTemplate == null)
{
return;
}
if (MessageBox.Show("ACHTUNG: Das Löschen von Vorlagen kann nicht rückgängig gemacht werden!\nWollen Sie die Vorlage '" + selectedTemplate.Name + "' wirklich löschen?", "Löschen bestätigen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
{
return;
}
List<DokumentvorlageDC> listeMitDemDC = new List<DokumentvorlageDC>();
listeMitDemDC.Add(selectedTemplate.DataContract);
if (selectedTemplate.DataContract.DokumentvorlageOid != null)
{
ServiceFacade.DoOperationsServiceSync(s => s.DeleteTemplates(listeMitDemDC));
var gridItemsSource = this.datagrid_templates.ItemsSource as List<DokumentvorlageVM>;
datagrid_templates.ItemsSource = new List<DokumentvorlageVM>();
gridItemsSource.Remove(selectedTemplate);
this.datagrid_templates.ItemsSource = gridItemsSource;
}
}
public string GenerateURL(long vorlage, List<long> objectOids, long table)
{
string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
url += "&template=" + vorlage;
url += "&obj=";
foreach (var oid in objectOids)
{
if (objectOids.IndexOf(oid) == objectOids.Count - 1)
url += oid;
else
url += oid + ",";
}
url += "&table=" + table;
url += "&type=" + Utils.EnumName(ReportTypes.VorlagenReport);
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
return url;
}
private void TextBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key != Key.Enter)
return;
if (textbox_searchForFileName.Text.IsNullOrEmpty())
{
MessageBoxResult result = MessageBox.Show("Die Eingabe ist leer. Wollen Sie statt zu suchen alle vorhandenen Dateien ansehen?", "BeWoPlaner",
MessageBoxButton.YesNo, MessageBoxImage.Information);
if (result == MessageBoxResult.No)
return;
}
List<FileAttachmentDC> passendeFileAttachments = ServiceFacade.DoOperationsServiceSync(s => s.SearchForFiles(textbox_searchForFileName.Text));
List<SuchergebnisVM> suchergebnisse = new List<SuchergebnisVM>();
foreach (var file in passendeFileAttachments)
{
string path = BuildPath(file.BeWoFolderOid);
if (path.Equals("Alle Ordner"))
{
string table = TableIDToString(file.ObjectTid);
string objectName = ServiceFacade.DoOperationsServiceSync(s => s.GetObjectForFilePath(file.ObjectTid, file.ObjectOid));
path = table + "/" + objectName + "/" + path;
}
else
path = path.Remove(path.Length - 1);
suchergebnisse.Add(new SuchergebnisVM(file.FileName, path));
}
suchergebnisse = suchergebnisse.OrderBy(s => s.FileName).ToList();
var control = new Suchergebnis();
control.InitView(suchergebnisse);
var beWoWindow = new BeWoWindow
{
rootGroupBox = { Header = "Suchergebnis" },
Height = this.Height,
Width = 600,
MinWidth = 400,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
GroupBoxContent = control,
Owner = BeWoApp.CurrentBeWo.MainWindow
};
List<PrintSelectionVM> printSelectionVMs = new List<PrintSelectionVM>();
control.ButtonOpenClicked += () =>
{
SuchergebnisVM selected = control.Selected;
string[] folders = selected.FilePath.Split('/');
TreeListNodeCollection nodes = DocumentsTreeView.Nodes;
foreach (var folder in folders)
{
if (folders[folders.Length - 1] == folder)
{
foreach (var node in nodes)
{
var c = node.Content as DocumentTreeItemVM;
foreach(var file in c.DataContract.FilesInFolder)
{
if (file.FileName.Equals(selected.FileName))
datagrid_documents.ItemsSource = c.DataContract.FilesInFolder;
}
}
beWoWindow.Close();
break;
}
if (nodes != null)
nodes = ExpandNodeWhichContainsFile(nodes, folder);
}
};
control.ButtonCancelClicked += () =>
{
beWoWindow.Close();
return;
};
beWoWindow.ShowDialog();
}
private TreeListNodeCollection ExpandNodeWhichContainsFile(TreeListNodeCollection nodes, string folder)
{
TreeListNodeCollection nextNodes = null;
foreach (var node in nodes)
{
var content = node.Content as DocumentTreeItemVM;
if (content.Name.Equals(folder))
{
node.IsExpanded = true;
if(node.Nodes != null)
nextNodes = node.Nodes;
break;
}
}
return nextNodes;
}
private string BuildPath(long? folderOid)
{
string path = "";
if (folderOid != null)
{
var folder = ServiceFacade.DoOperationsServiceSync(s => s.GetFolderById((long)folderOid));
if (folder.ParentBeWoFolderOid != null)
path += BuildPath((long)folder.ParentBeWoFolderOid);
else
{
TableID tableID = folder.ObjectTid;
string objectName = ServiceFacade.DoOperationsServiceSync(s => s.GetObjectForFilePath(tableID, folder.ObjectOid));
string table = TableIDToString(tableID);
string t = path;
path = table + "/" + objectName + "/" + "Alle Ordner/" + t;
}
path += folder.Name + "/";
}
else
path += "Alle Ordner";
return path;
}
private string TableIDToString(TableID tableID)
{
string table = "";
switch(tableID)
{
case TableID.ApplicationUser: table = "Benutzer";break;
case TableID.SupportConcept: table = "Hilfepläne";break;
case TableID.Customer: table = "Klienten";break;
case TableID.Organisation: table = "Organisationen";break;
case TableID.Person: table = "Personen";break;
case TableID.Employee: table = "Mitarbeiter";break;
case TableID.Team: table = "Teams";break;
case TableID.UserGroup: table = "Benutzergruppen";break;
}
return table;
}
private void button_OpenUploadDocument_Click(object sender, RoutedEventArgs e)
{
popup_UploadFiles.IsOpen = true;
}
private void popupedit_file_PopUpClick_1(object sender, RoutedEventArgs e)
{
var dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
try
{
_UploadFileName = dlg.FileName;
_NormalFileName = dlg.SafeFileName;
popupedit_file.Text = dlg.SafeFileName;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
}
private void button_cancelFileUpload_Click(object sender, RoutedEventArgs e)
{
popup_UploadFiles.IsOpen = false;
}
}
}

View File

@@ -9,7 +9,7 @@ using System.Threading.Tasks;
namespace BeWo.ViewModel
{
class DocumentTreeItemVM : AbstractDCMapperVM<DocumentTreeItemDC>
public class DocumentTreeItemVM : AbstractDCMapperVM<DocumentTreeItemDC>
{
private long? _DocTreeItemOid;
private long? _ParentOid;

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.ViewModel
{
public class PrintSelectionVM
{
public bool Selected { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public long? Table { get; set; }
public long? ObjectOid { get; set; }
public PrintSelectionVM(){ }
public PrintSelectionVM(string LastName, string FirstName, long? Table, long? ObjectOid)
{
this.Selected = false;
this.LastName = LastName;
this.FirstName = FirstName;
this.Table = Table;
this.ObjectOid = ObjectOid;
}
public override string ToString()
{
return LastName + ", " + FirstName;
}
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.ViewModel
{
public class SuchergebnisVM
{
public string FileName { get; set; }
public string FilePath { get; set; }
public SuchergebnisVM(string FileName, string FilePath)
{
this.FileName = FileName;
this.FilePath = FilePath;
}
}
}

View File

@@ -4121,6 +4121,13 @@ namespace BeWo.Data.Access
return stringBuilder.ToString();
}
public virtual IList FindFileattachmentOids(string text)
{
var q = Session.CreateSQLQuery(Format("SELECT Oid, bewofolderoid, objectoid, objecttid, path FROM FileAttachment WHERE Path like '%{0}%'", text));
return q.List();
}
public List<SupportConcept> GetActiveSupportConceptsForEmployee(long? employeeOid, CustomerFilterEnum supportConceptFilter)
{
ApplicationUser user;

View File

@@ -156,6 +156,9 @@ namespace Host
case ReportTypes.RosterReport:
report = CreateRosterReport();
break;
case ReportTypes.VorlagenReport:
report = CreateVorlagenReport();
break;
default:
report = CreateQueryReport();
break;
@@ -692,6 +695,21 @@ namespace Host
return reportCreator.CreateRosterReport(wOid, dt);
}
private XtraReport CreateVorlagenReport()
{
long template = long.Parse(Request.Params["template"]);
string objectOidString = Request.Params["obj"];
string[] oidArray = objectOidString.Split(',');
List<long> objectOids = new List<long>();
foreach (string s in oidArray)
objectOids.Add(long.Parse(s));
long table = long.Parse(Request.Params["table"]);
return reportCreator.CreateVorlagenReport(template, objectOids, table);
}
private AbstractReportCreator GetReportCreator()
{
String t = slicedToken["tenant"].ToString();

View File

@@ -91,5 +91,8 @@ namespace BeWo.Report
public abstract XtraReport CreateKilometerauswertungForAllEmployees(List<long> employeeOids, DateTime rangeDate);
}
public abstract XtraReport CreateVorlagenReport(long template, List<long> objectOids, long table);
}
}

View File

@@ -959,5 +959,37 @@ namespace BeWo.Report
return report as XtraReport;
}
public override XtraReport CreateVorlagenReport(long template, List<long> objectOids, long table)
{
string rtf = "";
var templateDC = MapperFactory.DokumentvorlageDC_Dokumentvorlage.MapToNewDC(DAOFactory.GenericDAO.GetByID<Dokumentvorlage>(template));
OperationsServiceImp operations = new OperationsServiceImp();
XtraReport mainReport = null;
foreach (var oid in objectOids)
{
string text = operations.ReplacePlaceholdersInTemplate(templateDC, oid, table);
var report = FindReportImp<VorlageRO>();
report.SetReportDataSource(VorlageRO.Create(text));
((XtraReport)report).CreateDocument();
if (mainReport == null)
{
mainReport = (XtraReport)report;
}
else
{
if (!text.Equals(""))
mainReport.Pages.AddRange(((XtraReport)report).Pages);
}
}
return mainReport;
}
}
}

View File

@@ -329,7 +329,6 @@ namespace BeWo.Report.DefaultReports
//
this.Detail4.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable8});
this.Detail4.Expanded = false;
this.Detail4.HeightF = 25F;
this.Detail4.KeepTogether = true;
this.Detail4.Name = "Detail4";

View File

@@ -0,0 +1,117 @@
namespace BeWo.Report.DefaultReports
{
partial class VorlageReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
#endregion
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(VorlageReport));
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.calculatedField1 = new DevExpress.XtraReports.UI.CalculatedField();
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.objectDataSource1 = new DevExpress.DataAccess.ObjectBinding.ObjectDataSource(this.components);
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 10F;
this.topMarginBand1.Name = "topMarginBand1";
//
// detailBand1
//
this.detailBand1.HeightF = 0F;
this.detailBand1.Name = "detailBand1";
//
// bottomMarginBand1
//
this.bottomMarginBand1.HeightF = 10F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
//
// calculatedField1
//
this.calculatedField1.Name = "calculatedField1";
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrRichText1});
this.ReportHeader.HeightF = 100.8751F;
this.ReportHeader.Name = "ReportHeader";
//
// objectDataSource1
//
this.objectDataSource1.DataSource = typeof(BeWo.Report.ReportObjects.VorlageRO);
this.objectDataSource1.Name = "objectDataSource1";
//
// xrRichText1
//
this.xrRichText1.BorderColor = System.Drawing.Color.Black;
this.xrRichText1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Rtf", null, "RTFText")});
this.xrRichText1.Font = new System.Drawing.Font("Verdana", 9F);
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
this.xrRichText1.SizeF = new System.Drawing.SizeF(829.9999F, 100.8751F);
this.xrRichText1.StylePriority.UseBorderColor = false;
this.xrRichText1.StylePriority.UseFont = false;
//
// VorlageReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.calculatedField1});
this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
this.objectDataSource1});
this.DataSource = this.objectDataSource1;
this.Margins = new System.Drawing.Printing.Margins(10, 10, 10, 10);
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.objectDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
private DevExpress.XtraReports.UI.DetailBand detailBand1;
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
private DevExpress.XtraReports.UI.CalculatedField calculatedField1;
private DevExpress.DataAccess.ObjectBinding.ObjectDataSource objectDataSource1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRRichText xrRichText1;
}
}

View File

@@ -0,0 +1,18 @@
using System.Linq;
using BeWo.Report.ReportObjects;
namespace BeWo.Report.DefaultReports
{
public partial class VorlageReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<VorlageRO>
{
public VorlageReport()
{
InitializeComponent();
}
public void SetReportDataSource(VorlageRO pRO)
{
objectDataSource1.DataSource = pRO;
}
}
}

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="xrRichText1.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcACoAXABiAGsAbQBrAHMAdABhAHIAdAAgAF8AZAB4AF8AZgByAGEAZwBfAFMAdABhAHIAdABGAHIAYQBnAG0AZQBuAHQAfQB7AFwAKgBcAGIAawBtAGsAZQBuAGQAIABfAGQAeABfAGYAcgBhAGcAXwBTAHQAYQByAHQARgByAGEAZwBtAGUAbgB0AH0AXABsAGEAbgBnADcAXABsAGEAbgBnAGYAZQA3AFwAZgAxAFwAZgBzADIANABcAGMAZgAxAFwAcABhAHIAfQA=</value>
</data>
<metadata name="objectDataSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -162,6 +162,12 @@
<Compile Include="DefaultReports\BewertungsstatistikReport.designer.cs">
<DependentUpon>BewertungsstatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\VorlageReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\VorlageReport.Designer.cs">
<DependentUpon>VorlageReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\RosterReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -464,11 +470,16 @@
<Compile Include="ReportObjects\ServicesOverviewRO.cs" />
<Compile Include="ReportObjects\SettlementRO.cs" />
<Compile Include="ReportObjects\BewertungsstatistikRO.cs" />
<Compile Include="ReportObjects\VorlageRO.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="DefaultReports\BewertungsstatistikReport.resx">
<DependentUpon>BewertungsstatistikReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\VorlageReport.resx">
<DependentUpon>VorlageReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\RosterReport.resx">
<DependentUpon>RosterReport.cs</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Report.ReportObjects
{
public class VorlageRO : AbstractBeWoReportObject<VorlageRO>
{
public string RTFText { get; set; }
public static VorlageRO Create(string RTFText)
{
var ro = new VorlageRO();
ro.RTFText = RTFText;
return ro;
}
}
}

View File

@@ -990,12 +990,20 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertTemplate(DokumentvorlageDC dc);
DokumentvorlageDC InsertTemplate(DokumentvorlageDC dc);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<PlatzhalterDC> GetPlatzhalterForSupportConcept();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<PlatzhalterDC> GetPlatzhalterForCustomer();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<PlatzhalterDC> GetPlatzhalterForEmployee();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
BeWoFolderDC GetFolderById(long oid);
@@ -1019,5 +1027,22 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
bool HasConfirmationReceiptSignature(IEnumerable<long> customerOids, long? employeeOid, long? costbearerOid, long? serviceCategoryOid, DateTimeSpan timeSpan);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
string ReplacePlaceholdersInTemplate(DokumentvorlageDC template, long? objectOid, long? tableOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertFileAttachment(FileAttachmentDC fileAttachmentDC);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<FileAttachmentDC> SearchForFiles(string nutzereingabe);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
string GetObjectForFilePath(TableID table, long? oid);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,12 @@ namespace BS.Shared.DataContracts
public class PlatzhalterDC
{
public string Bezeichnung { get; set; }
public List<PlatzhalterDC> Children {get;set;}
public string Platzhalter { get; set; }
public List<PlatzhalterDC> Children { get; set; }
public override string ToString()
{
return Bezeichnung;
}
}
}

View File

@@ -30,6 +30,7 @@
AbsenceReport,
RosterReport,
ServicesOverviewNew,
Stundenzettel
Stundenzettel,
VorlagenReport
}
}