08-12-2022
This commit is contained in:
parent
7b7147eeee
commit
0a25b0925c
@ -5,7 +5,6 @@
|
||||
<xsd:import namespace="http://DigitalData.Services.EDMIService" />
|
||||
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" />
|
||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" />
|
||||
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
</xsd:schema>
|
||||
</wsdl:types>
|
||||
@ -27,6 +26,12 @@
|
||||
<wsdl:message name="IEDMIService_UpdateJob_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:UpdateJobResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IEDMIService_UpdateProfile_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:UpdateProfile" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IEDMIService_UpdateProfile_OutputMessage">
|
||||
<wsdl:part name="parameters" element="tns:UpdateProfileResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="IEDMIService_GetJobConfig_InputMessage">
|
||||
<wsdl:part name="parameters" element="tns:GetJobConfig" />
|
||||
</wsdl:message>
|
||||
@ -46,6 +51,10 @@
|
||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/UpdateJob" message="tns:IEDMIService_UpdateJob_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/UpdateJobResponse" message="tns:IEDMIService_UpdateJob_OutputMessage" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="UpdateProfile">
|
||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfile" message="tns:IEDMIService_UpdateProfile_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfileResponse" message="tns:IEDMIService_UpdateProfile_OutputMessage" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetJobConfig">
|
||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetJobConfig" message="tns:IEDMIService_GetJobConfig_InputMessage" />
|
||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetJobConfigResponse" message="tns:IEDMIService_GetJobConfig_OutputMessage" />
|
||||
|
||||
@ -39,6 +39,20 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="UpdateProfile">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" minOccurs="0" name="pData" nillable="true" type="q4:UpdateProfile.UpdateProfileRequest" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="UpdateProfileResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" minOccurs="0" name="UpdateProfileResult" nillable="true" type="q5:UpdateProfile.UpdateProfileResponse" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="GetJobConfig">
|
||||
<xs:complexType>
|
||||
<xs:sequence />
|
||||
@ -47,7 +61,7 @@
|
||||
<xs:element name="GetJobConfigResponse">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" minOccurs="0" name="GetJobConfigResult" nillable="true" type="q4:GetJobConfig.GetJobConfigResponse" />
|
||||
<xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" minOccurs="0" name="GetJobConfigResult" nillable="true" type="q6:GetJobConfig.GetJobConfigResponse" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is automatically generated by Visual Studio .Net. It is
|
||||
used to store generic object data source configuration information.
|
||||
Renaming the file extension or editing the content of this file may
|
||||
cause the file to be unrecognizable by the program.
|
||||
-->
|
||||
<GenericObjectDataSource DisplayName="UpdateProfileUpdateProfileResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TypeInfo>ECM.JobRunner.Common.JobRunnerReference.UpdateProfileUpdateProfileResponse, Connected Services.JobRunnerReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||
</GenericObjectDataSource>
|
||||
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
<xs:complexType name="ArrayOfHistoryItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="HistoryItem" nillable="true" type="tns:HistoryItem" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfHistoryItem" nillable="true" type="tns:ArrayOfHistoryItem" />
|
||||
<xs:complexType name="HistoryItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="CreatedAt" type="xs:dateTime" />
|
||||
<xs:element minOccurs="0" name="ErrorMessage" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="JobName" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Successful" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="HistoryItem" nillable="true" type="tns:HistoryItem" />
|
||||
<xs:complexType name="ArrayOfStatusItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="StatusItem" nillable="true" type="tns:StatusItem" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfStatusItem" nillable="true" type="tns:ArrayOfStatusItem" />
|
||||
<xs:complexType name="StatusItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="CompleteTime" type="xs:dateTime" />
|
||||
<xs:element minOccurs="0" name="Executing" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="ExecutionTime" type="ser:duration" />
|
||||
<xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ProgressCurrent" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="ProgressTotal" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="StatusItem" nillable="true" type="tns:StatusItem" />
|
||||
<xs:complexType name="JobDefinition">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Active" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="CronSchedule" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Type" nillable="true" type="tns:JobType" />
|
||||
<xs:element minOccurs="0" name="TypeId" type="xs:int" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="JobDefinition" nillable="true" type="tns:JobDefinition" />
|
||||
<xs:complexType name="JobType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Active" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="JobType" nillable="true" type="tns:JobType" />
|
||||
<xs:complexType name="ArrayOfJobDefinition">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="JobDefinition" nillable="true" type="tns:JobDefinition" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfJobDefinition" nillable="true" type="tns:ArrayOfJobDefinition" />
|
||||
<xs:complexType name="ArrayOfJobType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="JobType" nillable="true" type="tns:JobType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfJobType" nillable="true" type="tns:ArrayOfJobType" />
|
||||
<xs:complexType name="ArrayOfObjectType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectType" nillable="true" type="tns:ObjectType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfObjectType" nillable="true" type="tns:ArrayOfObjectType" />
|
||||
<xs:complexType name="ObjectType">
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Indexes" nillable="true" type="q1:ArrayOfstring" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ObjectType" nillable="true" type="tns:ObjectType" />
|
||||
</xs:schema>
|
||||
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" />
|
||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
<xs:complexType name="GetJobStatus.GetJobStatusResponse">
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:Base.BaseResponse">
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" minOccurs="0" name="HistoryItems" nillable="true" type="q1:ArrayOfHistoryItem" />
|
||||
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" minOccurs="0" name="StatusItems" nillable="true" type="q2:ArrayOfStatusItem" />
|
||||
<xs:element minOccurs="0" name="HistoryItems" nillable="true" type="tns:ArrayOfHistoryItem" />
|
||||
<xs:element minOccurs="0" name="StatusItems" nillable="true" type="tns:ArrayOfStatusItem" />
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
@ -20,10 +21,45 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Base.BaseResponse" nillable="true" type="tns:Base.BaseResponse" />
|
||||
<xs:complexType name="ArrayOfHistoryItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="HistoryItem" nillable="true" type="tns:HistoryItem" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfHistoryItem" nillable="true" type="tns:ArrayOfHistoryItem" />
|
||||
<xs:complexType name="HistoryItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="CreatedAt" type="xs:dateTime" />
|
||||
<xs:element minOccurs="0" name="ErrorMessage" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="JobName" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Successful" type="xs:boolean" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="HistoryItem" nillable="true" type="tns:HistoryItem" />
|
||||
<xs:complexType name="ArrayOfStatusItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="StatusItem" nillable="true" type="tns:StatusItem" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfStatusItem" nillable="true" type="tns:ArrayOfStatusItem" />
|
||||
<xs:complexType name="StatusItem">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="CompleteTime" type="xs:dateTime" />
|
||||
<xs:element minOccurs="0" name="Executing" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="ExecutionTime" type="ser:duration" />
|
||||
<xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ProgressCurrent" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="ProgressTotal" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="StatusItem" nillable="true" type="tns:StatusItem" />
|
||||
<xs:complexType name="UpdateJob.UpdateJobRequest">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Action" type="tns:UpdateJob.UpdateJobRequest.UpdateJobAction" />
|
||||
<xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" minOccurs="0" name="Job" nillable="true" type="q3:JobDefinition" />
|
||||
<xs:element minOccurs="0" name="Job" nillable="true" type="tns:JobDefinition" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="UpdateJob.UpdateJobRequest" nillable="true" type="tns:UpdateJob.UpdateJobRequest" />
|
||||
@ -35,6 +71,25 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="UpdateJob.UpdateJobRequest.UpdateJobAction" nillable="true" type="tns:UpdateJob.UpdateJobRequest.UpdateJobAction" />
|
||||
<xs:complexType name="JobDefinition">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Active" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="CronSchedule" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Type" nillable="true" type="tns:JobType" />
|
||||
<xs:element minOccurs="0" name="TypeId" type="xs:int" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="JobDefinition" nillable="true" type="tns:JobDefinition" />
|
||||
<xs:complexType name="JobType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Active" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="JobType" nillable="true" type="tns:JobType" />
|
||||
<xs:complexType name="UpdateJob.UpdateJobResponse">
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:Base.BaseResponse">
|
||||
@ -43,16 +98,141 @@
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="UpdateJob.UpdateJobResponse" nillable="true" type="tns:UpdateJob.UpdateJobResponse" />
|
||||
<xs:complexType name="UpdateProfile.UpdateProfileRequest">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Action" type="tns:UpdateProfile.UpdateProfileRequest.UpdateProfileAction" />
|
||||
<xs:element minOccurs="0" name="ImportProfile" nillable="true" type="tns:ImportProfile" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="UpdateProfile.UpdateProfileRequest" nillable="true" type="tns:UpdateProfile.UpdateProfileRequest" />
|
||||
<xs:simpleType name="UpdateProfile.UpdateProfileRequest.UpdateProfileAction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Create" />
|
||||
<xs:enumeration value="Update" />
|
||||
<xs:enumeration value="Delete" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="UpdateProfile.UpdateProfileRequest.UpdateProfileAction" nillable="true" type="tns:UpdateProfile.UpdateProfileRequest.UpdateProfileAction" />
|
||||
<xs:complexType name="ImportProfile">
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:BaseProfile">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Active" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="BackupFolder" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="DeleteFiles" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="FileExcludeRegex" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="IncludeSubfolders" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="JobId" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="ObjectTypeName" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="SourceFolder" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Steps" nillable="true" type="tns:ArrayOfImportProfileStep" />
|
||||
<xs:element minOccurs="0" name="SubfolderDateFormat" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="TargetFolder" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ImportProfile" nillable="true" type="tns:ImportProfile" />
|
||||
<xs:complexType name="BaseProfile">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Job" nillable="true" type="tns:JobDefinition" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="BaseProfile" nillable="true" type="tns:BaseProfile" />
|
||||
<xs:complexType name="ArrayOfImportProfileStep">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ImportProfileStep" nillable="true" type="tns:ImportProfileStep" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfImportProfileStep" nillable="true" type="tns:ArrayOfImportProfileStep" />
|
||||
<xs:complexType name="ImportProfileStep">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Active" type="xs:boolean" />
|
||||
<xs:element minOccurs="0" name="Argument1" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Argument2" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Argument3" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Id" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="IndexName" nillable="true" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="Method" type="tns:ImportProfileStep.StepMethod" />
|
||||
<xs:element minOccurs="0" name="ProfileId" type="xs:int" />
|
||||
<xs:element minOccurs="0" name="Scope" type="tns:ImportProfileStep.StepScope" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ImportProfileStep" nillable="true" type="tns:ImportProfileStep" />
|
||||
<xs:simpleType name="ImportProfileStep.StepMethod">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SUBSTRING" />
|
||||
<xs:enumeration value="REGEX" />
|
||||
<xs:enumeration value="SPLIT" />
|
||||
<xs:enumeration value="ALL" />
|
||||
<xs:enumeration value="VALUE" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="ImportProfileStep.StepMethod" nillable="true" type="tns:ImportProfileStep.StepMethod" />
|
||||
<xs:simpleType name="ImportProfileStep.StepScope">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FILE" />
|
||||
<xs:enumeration value="FOLDER" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="ImportProfileStep.StepScope" nillable="true" type="tns:ImportProfileStep.StepScope" />
|
||||
<xs:complexType name="UpdateProfile.UpdateProfileResponse">
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:Base.BaseResponse">
|
||||
<xs:sequence />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="UpdateProfile.UpdateProfileResponse" nillable="true" type="tns:UpdateProfile.UpdateProfileResponse" />
|
||||
<xs:complexType name="GetJobConfig.GetJobConfigResponse">
|
||||
<xs:complexContent mixed="false">
|
||||
<xs:extension base="tns:Base.BaseResponse">
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" minOccurs="0" name="JobDefinitions" nillable="true" type="q4:ArrayOfJobDefinition" />
|
||||
<xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" minOccurs="0" name="JobTypes" nillable="true" type="q5:ArrayOfJobType" />
|
||||
<xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common" minOccurs="0" name="WindreamObjectTypes" nillable="true" type="q6:ArrayOfObjectType" />
|
||||
<xs:element minOccurs="0" name="JobDefinitions" nillable="true" type="tns:ArrayOfJobDefinition" />
|
||||
<xs:element minOccurs="0" name="JobTypes" nillable="true" type="tns:ArrayOfJobType" />
|
||||
<xs:element minOccurs="0" name="ProfileDefinitions" nillable="true" type="tns:GetJobConfig.GetJobConfigResponse.ProfileDefinitionConfig" />
|
||||
<xs:element minOccurs="0" name="WindreamObjectTypes" nillable="true" type="tns:ArrayOfObjectType" />
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="GetJobConfig.GetJobConfigResponse" nillable="true" type="tns:GetJobConfig.GetJobConfigResponse" />
|
||||
<xs:complexType name="ArrayOfJobDefinition">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="JobDefinition" nillable="true" type="tns:JobDefinition" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfJobDefinition" nillable="true" type="tns:ArrayOfJobDefinition" />
|
||||
<xs:complexType name="ArrayOfJobType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="JobType" nillable="true" type="tns:JobType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfJobType" nillable="true" type="tns:ArrayOfJobType" />
|
||||
<xs:complexType name="GetJobConfig.GetJobConfigResponse.ProfileDefinitionConfig">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="ImportProfiles" nillable="true" type="tns:ArrayOfImportProfile" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="GetJobConfig.GetJobConfigResponse.ProfileDefinitionConfig" nillable="true" type="tns:GetJobConfig.GetJobConfigResponse.ProfileDefinitionConfig" />
|
||||
<xs:complexType name="ArrayOfImportProfile">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ImportProfile" nillable="true" type="tns:ImportProfile" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfImportProfile" nillable="true" type="tns:ArrayOfImportProfile" />
|
||||
<xs:complexType name="ArrayOfObjectType">
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectType" nillable="true" type="tns:ObjectType" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ArrayOfObjectType" nillable="true" type="tns:ArrayOfObjectType" />
|
||||
<xs:complexType name="ObjectType">
|
||||
<xs:sequence>
|
||||
<xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Indexes" nillable="true" type="q1:ArrayOfstring" />
|
||||
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ObjectType" nillable="true" type="tns:ObjectType" />
|
||||
</xs:schema>
|
||||
@ -27,7 +27,6 @@
|
||||
<MetadataFile FileName="DigitalData.Services.EDMIService.xsd" MetadataType="Schema" ID="d9797fa8-53bb-4228-a77d-4f795d7e7595" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9001/DigitalData/Services/JobRunner/mex" />
|
||||
<MetadataFile FileName="service.xsd" MetadataType="Schema" ID="82f08b96-e901-43fd-b34f-8c5660ef7b9d" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9001/DigitalData/Services/JobRunner/mex" />
|
||||
<MetadataFile FileName="ECM.JobRunner.Windows.xsd" MetadataType="Schema" ID="767808c0-aa74-46cc-af21-73a1ccedb8e9" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9001/DigitalData/Services/JobRunner/mex" />
|
||||
<MetadataFile FileName="ECM.JobRunner.Common.xsd" MetadataType="Schema" ID="56dce723-cc20-4004-bb74-65f4f89e0f21" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9001/DigitalData/Services/JobRunner/mex" />
|
||||
<MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="908086d3-61bf-4869-9efb-ca4e72ed984a" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9001/DigitalData/Services/JobRunner/mex" />
|
||||
</Metadata>
|
||||
<Extensions>
|
||||
|
||||
@ -21,6 +21,7 @@ Namespace JobRunnerReference
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="Base.BaseResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute(), _
|
||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(JobRunnerReference.UpdateJobUpdateJobResponse)), _
|
||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(JobRunnerReference.UpdateProfileUpdateProfileResponse)), _
|
||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(JobRunnerReference.GetJobConfigGetJobConfigResponse)), _
|
||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(JobRunnerReference.GetJobStatusGetJobStatusResponse))> _
|
||||
Partial Public Class BaseBaseResponse
|
||||
@ -106,6 +107,14 @@ Namespace JobRunnerReference
|
||||
Inherits JobRunnerReference.BaseBaseResponse
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="UpdateProfile.UpdateProfileResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class UpdateProfileUpdateProfileResponse
|
||||
Inherits JobRunnerReference.BaseBaseResponse
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="GetJobConfig.GetJobConfigResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
@ -119,6 +128,9 @@ Namespace JobRunnerReference
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private JobTypesField() As JobRunnerReference.JobType
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ProfileDefinitionsField As JobRunnerReference.GetJobConfigGetJobConfigResponse.ProfileDefinitionConfig
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private WindreamObjectTypesField() As JobRunnerReference.ObjectType
|
||||
|
||||
@ -148,6 +160,19 @@ Namespace JobRunnerReference
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property ProfileDefinitions() As JobRunnerReference.GetJobConfigGetJobConfigResponse.ProfileDefinitionConfig
|
||||
Get
|
||||
Return Me.ProfileDefinitionsField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.ProfileDefinitionsField, value) <> true) Then
|
||||
Me.ProfileDefinitionsField = value
|
||||
Me.RaisePropertyChanged("ProfileDefinitions")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property WindreamObjectTypes() As JobRunnerReference.ObjectType()
|
||||
Get
|
||||
@ -160,6 +185,52 @@ Namespace JobRunnerReference
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="GetJobConfig.GetJobConfigResponse.ProfileDefinitionConfig", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class ProfileDefinitionConfig
|
||||
Inherits Object
|
||||
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||
|
||||
<System.NonSerializedAttribute()> _
|
||||
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ImportProfilesField() As JobRunnerReference.ImportProfile
|
||||
|
||||
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
|
||||
Get
|
||||
Return Me.extensionDataField
|
||||
End Get
|
||||
Set
|
||||
Me.extensionDataField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property ImportProfiles() As JobRunnerReference.ImportProfile()
|
||||
Get
|
||||
Return Me.ImportProfilesField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.ImportProfilesField, value) <> true) Then
|
||||
Me.ImportProfilesField = value
|
||||
Me.RaisePropertyChanged("ImportProfiles")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
|
||||
|
||||
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
|
||||
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
|
||||
If (Not (propertyChanged) Is Nothing) Then
|
||||
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
@ -204,7 +275,7 @@ Namespace JobRunnerReference
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="HistoryItem", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="HistoryItem", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class HistoryItem
|
||||
Inherits Object
|
||||
@ -315,7 +386,7 @@ Namespace JobRunnerReference
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="StatusItem", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="StatusItem", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class StatusItem
|
||||
Inherits Object
|
||||
@ -474,7 +545,7 @@ Namespace JobRunnerReference
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="JobDefinition", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="JobDefinition", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class JobDefinition
|
||||
Inherits Object
|
||||
@ -601,7 +672,7 @@ Namespace JobRunnerReference
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="JobType", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="JobType", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class JobType
|
||||
Inherits Object
|
||||
@ -680,7 +751,7 @@ Namespace JobRunnerReference
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="ObjectType", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Common"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="ObjectType", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class ObjectType
|
||||
Inherits Object
|
||||
@ -741,6 +812,460 @@ Namespace JobRunnerReference
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="ImportProfile", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class ImportProfile
|
||||
Inherits JobRunnerReference.BaseProfile
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ActiveField As Boolean
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private BackupFolderField As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private DeleteFilesField As Boolean
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private FileExcludeRegexField As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private IdField As Integer
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private IncludeSubfoldersField As Boolean
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private JobIdField As Integer
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ObjectTypeNameField As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private SourceFolderField As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private StepsField() As JobRunnerReference.ImportProfileStep
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private SubfolderDateFormatField As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private TargetFolderField As String
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Active() As Boolean
|
||||
Get
|
||||
Return Me.ActiveField
|
||||
End Get
|
||||
Set
|
||||
If (Me.ActiveField.Equals(value) <> true) Then
|
||||
Me.ActiveField = value
|
||||
Me.RaisePropertyChanged("Active")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property BackupFolder() As String
|
||||
Get
|
||||
Return Me.BackupFolderField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.BackupFolderField, value) <> true) Then
|
||||
Me.BackupFolderField = value
|
||||
Me.RaisePropertyChanged("BackupFolder")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property DeleteFiles() As Boolean
|
||||
Get
|
||||
Return Me.DeleteFilesField
|
||||
End Get
|
||||
Set
|
||||
If (Me.DeleteFilesField.Equals(value) <> true) Then
|
||||
Me.DeleteFilesField = value
|
||||
Me.RaisePropertyChanged("DeleteFiles")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property FileExcludeRegex() As String
|
||||
Get
|
||||
Return Me.FileExcludeRegexField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.FileExcludeRegexField, value) <> true) Then
|
||||
Me.FileExcludeRegexField = value
|
||||
Me.RaisePropertyChanged("FileExcludeRegex")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Id() As Integer
|
||||
Get
|
||||
Return Me.IdField
|
||||
End Get
|
||||
Set
|
||||
If (Me.IdField.Equals(value) <> true) Then
|
||||
Me.IdField = value
|
||||
Me.RaisePropertyChanged("Id")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property IncludeSubfolders() As Boolean
|
||||
Get
|
||||
Return Me.IncludeSubfoldersField
|
||||
End Get
|
||||
Set
|
||||
If (Me.IncludeSubfoldersField.Equals(value) <> true) Then
|
||||
Me.IncludeSubfoldersField = value
|
||||
Me.RaisePropertyChanged("IncludeSubfolders")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property JobId() As Integer
|
||||
Get
|
||||
Return Me.JobIdField
|
||||
End Get
|
||||
Set
|
||||
If (Me.JobIdField.Equals(value) <> true) Then
|
||||
Me.JobIdField = value
|
||||
Me.RaisePropertyChanged("JobId")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property ObjectTypeName() As String
|
||||
Get
|
||||
Return Me.ObjectTypeNameField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.ObjectTypeNameField, value) <> true) Then
|
||||
Me.ObjectTypeNameField = value
|
||||
Me.RaisePropertyChanged("ObjectTypeName")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property SourceFolder() As String
|
||||
Get
|
||||
Return Me.SourceFolderField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.SourceFolderField, value) <> true) Then
|
||||
Me.SourceFolderField = value
|
||||
Me.RaisePropertyChanged("SourceFolder")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Steps() As JobRunnerReference.ImportProfileStep()
|
||||
Get
|
||||
Return Me.StepsField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.StepsField, value) <> true) Then
|
||||
Me.StepsField = value
|
||||
Me.RaisePropertyChanged("Steps")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property SubfolderDateFormat() As String
|
||||
Get
|
||||
Return Me.SubfolderDateFormatField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.SubfolderDateFormatField, value) <> true) Then
|
||||
Me.SubfolderDateFormatField = value
|
||||
Me.RaisePropertyChanged("SubfolderDateFormat")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property TargetFolder() As String
|
||||
Get
|
||||
Return Me.TargetFolderField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.TargetFolderField, value) <> true) Then
|
||||
Me.TargetFolderField = value
|
||||
Me.RaisePropertyChanged("TargetFolder")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="BaseProfile", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute(), _
|
||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(JobRunnerReference.ImportProfile))> _
|
||||
Partial Public Class BaseProfile
|
||||
Inherits Object
|
||||
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||
|
||||
<System.NonSerializedAttribute()> _
|
||||
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private JobField As JobRunnerReference.JobDefinition
|
||||
|
||||
<Global.System.ComponentModel.BrowsableAttribute(false)> _
|
||||
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
|
||||
Get
|
||||
Return Me.extensionDataField
|
||||
End Get
|
||||
Set
|
||||
Me.extensionDataField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Job() As JobRunnerReference.JobDefinition
|
||||
Get
|
||||
Return Me.JobField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.JobField, value) <> true) Then
|
||||
Me.JobField = value
|
||||
Me.RaisePropertyChanged("Job")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
|
||||
|
||||
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
|
||||
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
|
||||
If (Not (propertyChanged) Is Nothing) Then
|
||||
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="ImportProfileStep", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class ImportProfileStep
|
||||
Inherits Object
|
||||
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||
|
||||
<System.NonSerializedAttribute()> _
|
||||
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ActiveField As Boolean
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private Argument1Field As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private Argument2Field As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private Argument3Field As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private IdField As Integer
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private IndexNameField As String
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private MethodField As JobRunnerReference.ImportProfileStep.StepMethod
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ProfileIdField As Integer
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ScopeField As JobRunnerReference.ImportProfileStep.StepScope
|
||||
|
||||
<Global.System.ComponentModel.BrowsableAttribute(false)> _
|
||||
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
|
||||
Get
|
||||
Return Me.extensionDataField
|
||||
End Get
|
||||
Set
|
||||
Me.extensionDataField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Active() As Boolean
|
||||
Get
|
||||
Return Me.ActiveField
|
||||
End Get
|
||||
Set
|
||||
If (Me.ActiveField.Equals(value) <> true) Then
|
||||
Me.ActiveField = value
|
||||
Me.RaisePropertyChanged("Active")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Argument1() As String
|
||||
Get
|
||||
Return Me.Argument1Field
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.Argument1Field, value) <> true) Then
|
||||
Me.Argument1Field = value
|
||||
Me.RaisePropertyChanged("Argument1")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Argument2() As String
|
||||
Get
|
||||
Return Me.Argument2Field
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.Argument2Field, value) <> true) Then
|
||||
Me.Argument2Field = value
|
||||
Me.RaisePropertyChanged("Argument2")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Argument3() As String
|
||||
Get
|
||||
Return Me.Argument3Field
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.Argument3Field, value) <> true) Then
|
||||
Me.Argument3Field = value
|
||||
Me.RaisePropertyChanged("Argument3")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Id() As Integer
|
||||
Get
|
||||
Return Me.IdField
|
||||
End Get
|
||||
Set
|
||||
If (Me.IdField.Equals(value) <> true) Then
|
||||
Me.IdField = value
|
||||
Me.RaisePropertyChanged("Id")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property IndexName() As String
|
||||
Get
|
||||
Return Me.IndexNameField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.IndexNameField, value) <> true) Then
|
||||
Me.IndexNameField = value
|
||||
Me.RaisePropertyChanged("IndexName")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Method() As JobRunnerReference.ImportProfileStep.StepMethod
|
||||
Get
|
||||
Return Me.MethodField
|
||||
End Get
|
||||
Set
|
||||
If (Me.MethodField.Equals(value) <> true) Then
|
||||
Me.MethodField = value
|
||||
Me.RaisePropertyChanged("Method")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property ProfileId() As Integer
|
||||
Get
|
||||
Return Me.ProfileIdField
|
||||
End Get
|
||||
Set
|
||||
If (Me.ProfileIdField.Equals(value) <> true) Then
|
||||
Me.ProfileIdField = value
|
||||
Me.RaisePropertyChanged("ProfileId")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Scope() As JobRunnerReference.ImportProfileStep.StepScope
|
||||
Get
|
||||
Return Me.ScopeField
|
||||
End Get
|
||||
Set
|
||||
If (Me.ScopeField.Equals(value) <> true) Then
|
||||
Me.ScopeField = value
|
||||
Me.RaisePropertyChanged("Scope")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
|
||||
|
||||
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
|
||||
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
|
||||
If (Not (propertyChanged) Is Nothing) Then
|
||||
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="ImportProfileStep.StepMethod", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows")> _
|
||||
Public Enum StepMethod As Integer
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
SUBSTRING = 0
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
REGEX = 1
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
SPLIT = 2
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
ALL = 3
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
VALUE = 4
|
||||
End Enum
|
||||
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="ImportProfileStep.StepScope", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows")> _
|
||||
Public Enum StepScope As Integer
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
FILE = 0
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
FOLDER = 1
|
||||
End Enum
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="UpdateJob.UpdateJobRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
@ -818,6 +1343,83 @@ Namespace JobRunnerReference
|
||||
End Enum
|
||||
End Class
|
||||
|
||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="UpdateProfile.UpdateProfileRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows"), _
|
||||
System.SerializableAttribute()> _
|
||||
Partial Public Class UpdateProfileUpdateProfileRequest
|
||||
Inherits Object
|
||||
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||
|
||||
<System.NonSerializedAttribute()> _
|
||||
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ActionField As JobRunnerReference.UpdateProfileUpdateProfileRequest.UpdateProfileAction
|
||||
|
||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||
Private ImportProfileField As JobRunnerReference.ImportProfile
|
||||
|
||||
<Global.System.ComponentModel.BrowsableAttribute(false)> _
|
||||
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
|
||||
Get
|
||||
Return Me.extensionDataField
|
||||
End Get
|
||||
Set
|
||||
Me.extensionDataField = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property Action() As JobRunnerReference.UpdateProfileUpdateProfileRequest.UpdateProfileAction
|
||||
Get
|
||||
Return Me.ActionField
|
||||
End Get
|
||||
Set
|
||||
If (Me.ActionField.Equals(value) <> true) Then
|
||||
Me.ActionField = value
|
||||
Me.RaisePropertyChanged("Action")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||
Public Property ImportProfile() As JobRunnerReference.ImportProfile
|
||||
Get
|
||||
Return Me.ImportProfileField
|
||||
End Get
|
||||
Set
|
||||
If (Object.ReferenceEquals(Me.ImportProfileField, value) <> true) Then
|
||||
Me.ImportProfileField = value
|
||||
Me.RaisePropertyChanged("ImportProfile")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
|
||||
|
||||
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
|
||||
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
|
||||
If (Not (propertyChanged) Is Nothing) Then
|
||||
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||
System.Runtime.Serialization.DataContractAttribute(Name:="UpdateProfile.UpdateProfileRequest.UpdateProfileAction", [Namespace]:="http://schemas.datacontract.org/2004/07/ECM.JobRunner.Windows")> _
|
||||
Public Enum UpdateProfileAction As Integer
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
Create = 0
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
Update = 1
|
||||
|
||||
<System.Runtime.Serialization.EnumMemberAttribute()> _
|
||||
Delete = 2
|
||||
End Enum
|
||||
End Class
|
||||
|
||||
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||
System.ServiceModel.ServiceContractAttribute([Namespace]:="http://DigitalData.Services.EDMIService", ConfigurationName:="JobRunnerReference.IEDMIService")> _
|
||||
Public Interface IEDMIService
|
||||
@ -840,6 +1442,12 @@ Namespace JobRunnerReference
|
||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/UpdateJob", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/UpdateJobResponse")> _
|
||||
Function UpdateJobAsync(ByVal pData As JobRunnerReference.UpdateJobUpdateJobRequest) As System.Threading.Tasks.Task(Of JobRunnerReference.UpdateJobUpdateJobResponse)
|
||||
|
||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfile", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfileResponse")> _
|
||||
Function UpdateProfile(ByVal pData As JobRunnerReference.UpdateProfileUpdateProfileRequest) As JobRunnerReference.UpdateProfileUpdateProfileResponse
|
||||
|
||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfile", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfileResponse")> _
|
||||
Function UpdateProfileAsync(ByVal pData As JobRunnerReference.UpdateProfileUpdateProfileRequest) As System.Threading.Tasks.Task(Of JobRunnerReference.UpdateProfileUpdateProfileResponse)
|
||||
|
||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetJobConfig", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetJobConfigResponse")> _
|
||||
Function GetJobConfig() As JobRunnerReference.GetJobConfigGetJobConfigResponse
|
||||
|
||||
@ -902,6 +1510,14 @@ Namespace JobRunnerReference
|
||||
Return MyBase.Channel.UpdateJobAsync(pData)
|
||||
End Function
|
||||
|
||||
Public Function UpdateProfile(ByVal pData As JobRunnerReference.UpdateProfileUpdateProfileRequest) As JobRunnerReference.UpdateProfileUpdateProfileResponse Implements JobRunnerReference.IEDMIService.UpdateProfile
|
||||
Return MyBase.Channel.UpdateProfile(pData)
|
||||
End Function
|
||||
|
||||
Public Function UpdateProfileAsync(ByVal pData As JobRunnerReference.UpdateProfileUpdateProfileRequest) As System.Threading.Tasks.Task(Of JobRunnerReference.UpdateProfileUpdateProfileResponse) Implements JobRunnerReference.IEDMIService.UpdateProfileAsync
|
||||
Return MyBase.Channel.UpdateProfileAsync(pData)
|
||||
End Function
|
||||
|
||||
Public Function GetJobConfig() As JobRunnerReference.GetJobConfigGetJobConfigResponse Implements JobRunnerReference.IEDMIService.GetJobConfig
|
||||
Return MyBase.Channel.GetJobConfig
|
||||
End Function
|
||||
|
||||
@ -5,6 +5,6 @@
|
||||
<binding digest="System.ServiceModel.Configuration.NetTcpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="NetTcpBinding_IEDMIService" transferMode="Streamed"><security><transport sslProtocols="None" /></security></Data>" bindingType="netTcpBinding" name="NetTcpBinding_IEDMIService" />
|
||||
</bindings>
|
||||
<endpoints>
|
||||
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="net.tcp://localhost:9001/DigitalData/Services/JobRunner" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IEDMIService" contract="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService"><identity><servicePrincipalName value="host/sDD-VMP03-VM09.dd-san01.dd-gan.local.digitaldata.works" /></identity></Data>" digest="<?xml version="1.0" encoding="utf-16"?><Data address="net.tcp://localhost:9001/DigitalData/Services/JobRunner" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IEDMIService" contract="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService"><identity><servicePrincipalName value="host/sDD-VMP03-VM09.dd-san01.dd-gan.local.digitaldata.works" /></identity></Data>" contractName="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService" />
|
||||
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="net.tcp://localhost:9001/DigitalData/Services/JobRunner" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IEDMIService" contract="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService"><identity><userPrincipalName value="Administrator@dd-san01.dd-gan.local.digitaldata.works" /></identity></Data>" digest="<?xml version="1.0" encoding="utf-16"?><Data address="net.tcp://localhost:9001/DigitalData/Services/JobRunner" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IEDMIService" contract="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService"><identity><userPrincipalName value="Administrator@dd-san01.dd-gan.local.digitaldata.works" /></identity></Data>" contractName="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService" />
|
||||
</endpoints>
|
||||
</configurationSnapshot>
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="ho0oZcIegSOp+ZGeQ1YrB58dDQqmy97E7VQqQI8HV80=">
|
||||
<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="DoUniskVeDbP1hRdgocMLRvIRWWXBsyF6LnDt8ZDNTI=">
|
||||
<bindingConfigurations>
|
||||
<bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IEDMIService">
|
||||
<properties>
|
||||
@ -150,14 +150,14 @@
|
||||
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Administrator@dd-san01.dd-gan.local.digitaldata.works</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>host/sDD-VMP03-VM09.dd-san01.dd-gan.local.digitaldata.works</serializedValue>
|
||||
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||
|
||||
@ -68,6 +68,15 @@
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="UpdateProfile">
|
||||
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/UpdateProfile" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="GetJobConfig">
|
||||
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/GetJobConfig" style="document" />
|
||||
<wsdl:input>
|
||||
@ -84,7 +93,7 @@
|
||||
<wsa10:EndpointReference>
|
||||
<wsa10:Address>net.tcp://localhost:9001/DigitalData/Services/JobRunner</wsa10:Address>
|
||||
<Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
|
||||
<Spn>host/sDD-VMP03-VM09.dd-san01.dd-gan.local.digitaldata.works</Spn>
|
||||
<Upn>Administrator@dd-san01.dd-gan.local.digitaldata.works</Upn>
|
||||
</Identity>
|
||||
</wsa10:EndpointReference>
|
||||
</wsdl:port>
|
||||
|
||||
@ -71,11 +71,6 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="JobConfig\JobDefinition.vb" />
|
||||
<Compile Include="JobConfig\JobType.vb" />
|
||||
<Compile Include="ProfileConfig\ImportProfile.vb" />
|
||||
<Compile Include="JobHistory\HistoryItem.vb" />
|
||||
<Compile Include="JobStatus\StatusItem.vb" />
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
@ -91,7 +86,6 @@
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="Windream\ObjectType.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
@ -119,8 +113,8 @@
|
||||
<None Include="Connected Services\JobRunnerReference\ECM.JobRunner.Common.JobRunnerReference.UpdateJobUpdateJobResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\JobRunnerReference\ECM.JobRunner.Common.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
<None Include="Connected Services\JobRunnerReference\ECM.JobRunner.Common.JobRunnerReference.UpdateProfileUpdateProfileResponse.datasource">
|
||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||
</None>
|
||||
<None Include="Connected Services\JobRunnerReference\ECM.JobRunner.Windows.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
Public Class JobDefinition
|
||||
Public Id As Integer
|
||||
Public TypeId As Integer
|
||||
Public Type As JobType
|
||||
Public Name As String
|
||||
Public CronSchedule As String
|
||||
Public Active As Boolean
|
||||
End Class
|
||||
@ -39,7 +39,7 @@
|
||||
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IEDMIService"
|
||||
contract="JobRunnerReference.IEDMIService" name="NetTcpBinding_IEDMIService">
|
||||
<identity>
|
||||
<servicePrincipalName value="host/sDD-VMP03-VM09.dd-san01.dd-gan.local.digitaldata.works" />
|
||||
<userPrincipalName value="Administrator@dd-san01.dd-gan.local.digitaldata.works" />
|
||||
</identity>
|
||||
</endpoint>
|
||||
</client>
|
||||
|
||||
@ -1,95 +0,0 @@
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@inject JobService Jobs;
|
||||
|
||||
@if (job == null)
|
||||
{
|
||||
<p>Form loading..</p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<EditForm Model="job" OnValidSubmit="OnValidSubmit">
|
||||
<DataAnnotationsValidator />
|
||||
<ValidationSummary />
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="id" class="form-label">Id</label>
|
||||
<input type="email" class="form-control" id="id" aria-describedby="nameHelp" @bind="job.Id" readonly="readonly">
|
||||
<div id="nameHelp" class="form-text">Die Datenbank Id des Jobs.</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">Name</label>
|
||||
<input type="text" class="form-control" id="name" aria-describedby="nameHelp" @bind="job.Name">
|
||||
<div id="nameHelp" class="form-text">Der Name des Jobs. Wird in der Übersicht angezeigt.</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="cronExpression" class="form-label">Cron Expression</label>
|
||||
<input type="text" class="form-control" id="cronExpression" @bind="job.CronSchedule" aria-describedby="cronHelp">
|
||||
<div id="cronHelp" class="form-text">Die Zeitplan des Jobs. Erwartet eine <a href="https://www.quartz-scheduler.net/documentation/quartz-3.x/how-tos/crontrigger.html#examples" target="_blank">Quartz.NET Cron Expression.</a></div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="jobType" class="form-label">Job Typ</label>
|
||||
<select class="form-select" aria-label="Job type selection" id="jobType" @bind="job.TypeId">
|
||||
<option selected>Auswählen..</option>
|
||||
@if (types != null)
|
||||
{
|
||||
@foreach (JobType type in types)
|
||||
{
|
||||
<option value="@type.Id">@type.Name</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<div id="cronHelp" class="form-text">Der Typ des Jobs.</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 form-check">
|
||||
<input type="checkbox" class="form-check-input" id="enabled" @bind="job.Active">
|
||||
<label class="form-check-label" for="enabled">Aktiv</label>
|
||||
</div>
|
||||
|
||||
<div class="btn-group mt-3" role="group" aria-label="Basic example">
|
||||
|
||||
<a class="btn btn-secondary" href="@GetBackUrl()">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z" />
|
||||
</svg> Back
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-save" viewBox="0 0 16 16">
|
||||
<path d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v7.293l2.646-2.647a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L7.5 9.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z" />
|
||||
</svg> Save
|
||||
</button>
|
||||
</div>
|
||||
</EditForm>
|
||||
}
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public int JobId { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<EditContext> OnValidSubmit { get; set; }
|
||||
|
||||
private JobDefinition? job = new();
|
||||
private List<JobType>? types;
|
||||
|
||||
protected string GetBackUrl()
|
||||
{
|
||||
return JobId == Constants.ENTITY_ID_NEW ? "jobs" : $"jobs/{JobId}";
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
types = await Jobs.GetJobTypes();
|
||||
|
||||
if (JobId == Constants.ENTITY_ID_NEW)
|
||||
{
|
||||
job = new JobDefinition() { Id = Constants.ENTITY_ID_NEW };
|
||||
}
|
||||
else
|
||||
{
|
||||
job = await Jobs.GetJob(JobId);
|
||||
}
|
||||
}
|
||||
}
|
||||
67
ECM.JobRunner.Web/Data/ImportService.cs
Normal file
67
ECM.JobRunner.Web/Data/ImportService.cs
Normal file
@ -0,0 +1,67 @@
|
||||
using DigitalData.Modules.Logging;
|
||||
using ECM.JobRunner.Common.JobRunnerReference;
|
||||
|
||||
|
||||
namespace ECM.JobRunner.Web.Data
|
||||
{
|
||||
public class ImportService
|
||||
{
|
||||
private readonly Logger logger;
|
||||
private readonly IEDMIServiceChannel channel;
|
||||
|
||||
public ImportService(LoggingService Logging, WcfService Wcf)
|
||||
{
|
||||
logger = Logging.LogConfig.GetLogger();
|
||||
channel = Wcf.Channel;
|
||||
}
|
||||
|
||||
public async Task<List<ImportProfile>> GetProfiles()
|
||||
{
|
||||
var resp = await channel.GetJobConfigAsync();
|
||||
|
||||
if (resp == null) return new();
|
||||
if (resp.OK == false) return new();
|
||||
|
||||
var profiles = resp.ProfileDefinitions.ImportProfiles.ToList();
|
||||
return profiles;
|
||||
}
|
||||
|
||||
public async Task<ImportProfile?> GetProfile(int pProfileId)
|
||||
{
|
||||
var resp = await channel.GetJobConfigAsync();
|
||||
|
||||
if (resp == null) return new();
|
||||
if (resp.OK == false) return new();
|
||||
|
||||
var jobs = resp.JobDefinitions.ToList();
|
||||
var profiles = resp.ProfileDefinitions.ImportProfiles.ToList();
|
||||
|
||||
return profiles.
|
||||
Where(p => p.Id == pProfileId).
|
||||
SingleOrDefault();
|
||||
}
|
||||
|
||||
public async Task<bool> CreateProfile(ImportProfile profile) =>
|
||||
await DoUpdateProfile(profile, UpdateProfileUpdateProfileRequest.UpdateProfileAction.Create);
|
||||
|
||||
public async Task<bool> UpdateProfile(ImportProfile profile) =>
|
||||
await DoUpdateProfile(profile, UpdateProfileUpdateProfileRequest.UpdateProfileAction.Update);
|
||||
|
||||
public async Task<bool> DeleteProfile(ImportProfile profile) =>
|
||||
await DoUpdateProfile(profile, UpdateProfileUpdateProfileRequest.UpdateProfileAction.Delete);
|
||||
|
||||
private async Task<bool> DoUpdateProfile(ImportProfile profile, UpdateProfileUpdateProfileRequest.UpdateProfileAction action)
|
||||
{
|
||||
var req = new UpdateProfileUpdateProfileRequest()
|
||||
{
|
||||
ImportProfile = profile,
|
||||
Action = action
|
||||
};
|
||||
var resp = await channel.UpdateProfileAsync(req);
|
||||
|
||||
if (resp == null) return false;
|
||||
if (resp.OK == false) return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,13 +1,12 @@
|
||||
using DigitalData.Modules.Logging;
|
||||
using ECM.JobRunner.Common.JobRunnerReference;
|
||||
using System.Threading.Channels;
|
||||
|
||||
namespace ECM.JobRunner.Web.Data
|
||||
{
|
||||
public class JobService
|
||||
{
|
||||
private readonly Logger logger;
|
||||
private readonly Common.JobRunnerReference.IEDMIServiceChannel channel;
|
||||
private readonly IEDMIServiceChannel channel;
|
||||
|
||||
public JobService(LoggingService Logging, WcfService Wcf)
|
||||
{
|
||||
@ -15,48 +14,46 @@ namespace ECM.JobRunner.Web.Data
|
||||
channel = Wcf.Channel;
|
||||
}
|
||||
|
||||
public async Task<List<Common.JobRunnerReference.JobDefinition>> GetJobs()
|
||||
public async Task<List<JobDefinition>> GetJobs()
|
||||
{
|
||||
var resp = await channel.GetJobConfigAsync();
|
||||
|
||||
if (resp != null && resp.OK)
|
||||
{
|
||||
return resp.JobDefinitions.ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
return new();
|
||||
}
|
||||
if (resp == null) return new();
|
||||
if (resp.OK == false) return new();
|
||||
|
||||
return resp.JobDefinitions.ToList();
|
||||
}
|
||||
|
||||
public async Task<List<Common.JobRunnerReference.JobType>> GetJobTypes()
|
||||
public async Task<List<ObjectType>> GetObjectTypes()
|
||||
{
|
||||
var resp = await channel.GetJobConfigAsync();
|
||||
|
||||
if (resp != null && resp.OK)
|
||||
{
|
||||
return resp.JobTypes.ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
return new();
|
||||
}
|
||||
if (resp == null) return new();
|
||||
if (resp.OK == false) return new();
|
||||
|
||||
return resp.WindreamObjectTypes.ToList();
|
||||
}
|
||||
|
||||
public async Task<Common.JobRunnerReference.JobDefinition?> GetJob(int pJobId)
|
||||
public async Task<List<JobType>> GetJobTypes()
|
||||
{
|
||||
var resp = await channel.GetJobConfigAsync();
|
||||
|
||||
if (resp != null && resp.OK)
|
||||
{
|
||||
return resp.JobDefinitions.
|
||||
if (resp == null) return new();
|
||||
if (resp.OK == false) return new();
|
||||
|
||||
return resp.JobTypes.ToList();
|
||||
}
|
||||
|
||||
public async Task<JobDefinition?> GetJob(int pJobId)
|
||||
{
|
||||
var resp = await channel.GetJobConfigAsync();
|
||||
|
||||
if (resp == null) return null;
|
||||
if (resp.OK == false) return null;
|
||||
|
||||
return resp.JobDefinitions.
|
||||
Where(j => j.Id == pJobId).
|
||||
FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<bool> UpdateJob(JobDefinition job)
|
||||
@ -66,14 +63,10 @@ namespace ECM.JobRunner.Web.Data
|
||||
Action = UpdateJobUpdateJobRequest.UpdateJobAction.Update
|
||||
});
|
||||
|
||||
if (resp != null && resp.OK)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (resp == null) return false;
|
||||
if (resp.OK == false) return false;
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public async Task<bool> CreateJob(JobDefinition job)
|
||||
|
||||
@ -38,4 +38,8 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Components\Profile\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
27
ECM.JobRunner.Web/Pages/Import/Edit.razor
Normal file
27
ECM.JobRunner.Web/Pages/Import/Edit.razor
Normal file
@ -0,0 +1,27 @@
|
||||
@page "/profiles/import/{profileId:int}/edit"
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@inject NavigationManager Navigation;
|
||||
@inject ImportService Profile;
|
||||
|
||||
<PageTitle>Job bearbeiten</PageTitle>
|
||||
|
||||
<h3>Job bearbeiten</h3>
|
||||
|
||||
<ProfileForm ProfileId="ProfileId" OnValidSubmit="OnFormSubmit" />
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public int ProfileId { get; set; }
|
||||
|
||||
private async void OnFormSubmit(EditContext ctx)
|
||||
{
|
||||
ImportProfile profile = (ImportProfile)ctx.Model;
|
||||
bool result = await Profile.UpdateProfile(profile);
|
||||
|
||||
if (result == true)
|
||||
{
|
||||
Navigation.NavigateTo($"/profiles/import/{profile.Id}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,16 +1,17 @@
|
||||
@page "/jobs"
|
||||
@page "/profiles/import"
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@inject JobService Jobs
|
||||
@inject ImportService Import;
|
||||
|
||||
<PageTitle>Jobs</PageTitle>
|
||||
<PageTitle>Import Profiles</PageTitle>
|
||||
|
||||
<h3>Jobs</h3>
|
||||
<h3>Import Profiles</h3>
|
||||
|
||||
@if (filteredJobs == null)
|
||||
@if (filteredProfiles == null)
|
||||
{
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">Loading Jobs..</li>
|
||||
<li class="list-group-item">Loading Profiles..</li>
|
||||
</ul>
|
||||
}
|
||||
else
|
||||
@ -20,7 +21,7 @@ else
|
||||
</section>
|
||||
|
||||
<div class="list-group">
|
||||
@if (filteredJobs.Count() == 0)
|
||||
@if (filteredProfiles.Count() == 0)
|
||||
{
|
||||
<a class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
@ -30,13 +31,13 @@ else
|
||||
</a>
|
||||
}
|
||||
|
||||
@foreach (var job in filteredJobs)
|
||||
@foreach (var profile in filteredProfiles)
|
||||
{
|
||||
<a class="list-group-item list-group-item-action d-flex justify-content-between align-items-start" href="/jobs/@job.Id">
|
||||
<a href="/profiles/import/@profile.Id" class="list-group-item list-group-item-action d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<span>
|
||||
@if (job.Active)
|
||||
@if (profile.Active)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-play-circle text-success" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
||||
@ -51,12 +52,12 @@ else
|
||||
</svg>
|
||||
}
|
||||
</span>
|
||||
<span>@job.Name</span>
|
||||
<span>@profile.Job.Name</span>
|
||||
</div>
|
||||
@job.Type.Name
|
||||
@profile.Job.Name
|
||||
</div>
|
||||
|
||||
@if (job.Active)
|
||||
@if (profile.Active)
|
||||
{
|
||||
<span class="badge bg-success rounded-pill">Running</span>
|
||||
}
|
||||
@ -70,7 +71,7 @@ else
|
||||
</div>
|
||||
|
||||
<div class="btn-group mt-3" role="group" aria-label="Basic example">
|
||||
<a class="btn btn-primary" href="jobs/new">
|
||||
<a class="btn btn-primary" href="profiles/import/new">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-plus-circle" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
||||
<path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z" />
|
||||
@ -80,8 +81,8 @@ else
|
||||
}
|
||||
|
||||
@code {
|
||||
private IEnumerable<JobDefinition>? jobs;
|
||||
private IEnumerable<JobDefinition>? filteredJobs;
|
||||
private List<ImportProfile>? profiles;
|
||||
private List<ImportProfile>? filteredProfiles;
|
||||
|
||||
private string filterQuery = "";
|
||||
private string FilterQuery {
|
||||
@ -94,21 +95,23 @@ else
|
||||
|
||||
protected async override void OnInitialized()
|
||||
{
|
||||
jobs = await Jobs.GetJobs();
|
||||
filteredJobs = jobs;
|
||||
profiles = await Import.GetProfiles();
|
||||
filteredProfiles = profiles;
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
protected void OnFilterChanged()
|
||||
{
|
||||
if (jobs != null)
|
||||
if (profiles != null)
|
||||
{
|
||||
filteredJobs = jobs.Where(j => j.Name.Contains(FilterQuery, StringComparison.OrdinalIgnoreCase));
|
||||
filteredProfiles = profiles.
|
||||
Where(j => j.Job.Name.Contains(FilterQuery, StringComparison.OrdinalIgnoreCase)).
|
||||
ToList();
|
||||
|
||||
} else
|
||||
{
|
||||
filteredJobs = null;
|
||||
filteredProfiles = null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,24 +1,23 @@
|
||||
@page "/jobs/new"
|
||||
@page "/profiles/import/new"
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@using ECM.JobRunner.Web.Components.Job;
|
||||
@inject NavigationManager Navigation;
|
||||
@inject JobService Jobs;
|
||||
@inject ImportService Import;
|
||||
|
||||
<PageTitle>Job erstellen</PageTitle>
|
||||
|
||||
<h3>Job erstellen</h3>
|
||||
|
||||
<JobForm JobId="JobId" OnValidSubmit="OnFormSubmit" />
|
||||
<ProfileForm JobId="JobId" OnValidSubmit="OnFormSubmit" />
|
||||
|
||||
@code {
|
||||
public int JobId = -1;
|
||||
|
||||
private async void OnFormSubmit(EditContext ctx)
|
||||
{
|
||||
JobDefinition job = (JobDefinition)ctx.Model;
|
||||
ImportProfile profile = (ImportProfile)ctx.Model;
|
||||
|
||||
bool result = await Jobs.CreateJob(job);
|
||||
bool result = await Import.CreateProfile(profile);
|
||||
|
||||
if (result == true)
|
||||
{
|
||||
214
ECM.JobRunner.Web/Pages/Import/ProfileForm.razor
Normal file
214
ECM.JobRunner.Web/Pages/Import/ProfileForm.razor
Normal file
@ -0,0 +1,214 @@
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@inject ImportService Import;
|
||||
@inject JobService Jobs;
|
||||
|
||||
@if (profile == null)
|
||||
{
|
||||
<p>Form loading..</p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<EditForm Model="profile" OnValidSubmit="OnValidSubmit">
|
||||
<DataAnnotationsValidator />
|
||||
<ValidationSummary />
|
||||
|
||||
<div class="row row-cols-1 row-cols-lg-2">
|
||||
<div class="col">
|
||||
<div class="mb-3 form-check">
|
||||
<input type="checkbox" class="form-check-input" id="enabled" @bind="profile.Active">
|
||||
<label class="form-check-label" for="enabled">Aktiv</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="mb-3 form-check">
|
||||
<input class="form-check-input" type="checkbox" id="flexCheckDefault" @bind="profile.DeleteFiles">
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
Originaldateien nach Verarbeitung löschen
|
||||
</label>
|
||||
</div>
|
||||
<div class="mb-3 form-check">
|
||||
<input class="form-check-input" type="checkbox" id="flexCheckChecked" @bind="profile.IncludeSubfolders">
|
||||
<label class="form-check-label" for="flexCheckChecked">
|
||||
Unterstruktur des Quellverzeichnisses im Zielverzeichnis abbilden
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row row-cols-1 row-cols-lg-2">
|
||||
<div class="col">
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-text" viewBox="0 0 16 16">
|
||||
<path d="M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z" />
|
||||
<path d="M3 5.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 8zm0 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z" />
|
||||
</svg> Name
|
||||
</label>
|
||||
<input type="text" class="form-control" id="name" aria-describedby="nameHelp" @bind="profile.Job.Name">
|
||||
<div id="nameHelp" class="form-text">Der Name des Jobs. Wird in der Übersicht angezeigt.</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="jobType" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-seam" viewBox="0 0 16 16">
|
||||
<path d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z" />
|
||||
</svg> Objekttyp
|
||||
</label>
|
||||
<select class="form-select" aria-label="Job type selection" id="jobType" @bind="profile.ObjectTypeName">
|
||||
<option selected>Auswählen..</option>
|
||||
@if (objectTypes != null)
|
||||
{
|
||||
@foreach (ObjectType type in objectTypes)
|
||||
{
|
||||
<option value="@type.Name">@type.Name</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<div id="cronHelp" class="form-text">Der Windream Objekttyp, dem das Profil zugeordnet wird. Bestimmt u.a., welche Indexe zur Verfügung stehen.</div>
|
||||
</div>
|
||||
|
||||
@*<div class="mb-3">
|
||||
<label for="jobType" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-robot" viewBox="0 0 16 16">
|
||||
<path d="M6 12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3 8.062C3 6.76 4.235 5.765 5.53 5.886a26.58 26.58 0 0 0 4.94 0C11.765 5.765 13 6.76 13 8.062v1.157a.933.933 0 0 1-.765.935c-.845.147-2.34.346-4.235.346-1.895 0-3.39-.2-4.235-.346A.933.933 0 0 1 3 9.219V8.062Zm4.542-.827a.25.25 0 0 0-.217.068l-.92.9a24.767 24.767 0 0 1-1.871-.183.25.25 0 0 0-.068.495c.55.076 1.232.149 2.02.193a.25.25 0 0 0 .189-.071l.754-.736.847 1.71a.25.25 0 0 0 .404.062l.932-.97a25.286 25.286 0 0 0 1.922-.188.25.25 0 0 0-.068-.495c-.538.074-1.207.145-1.98.189a.25.25 0 0 0-.166.076l-.754.785-.842-1.7a.25.25 0 0 0-.182-.135Z" />
|
||||
<path d="M8.5 1.866a1 1 0 1 0-1 0V3h-2A4.5 4.5 0 0 0 1 7.5V8a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1v1a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-1a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1v-.5A4.5 4.5 0 0 0 10.5 3h-2V1.866ZM14 7.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.5A3.5 3.5 0 0 1 5.5 4h5A3.5 3.5 0 0 1 14 7.5Z" />
|
||||
</svg> Job Typ
|
||||
</label>
|
||||
<select class="form-select" aria-label="Job type selection" id="jobType" @bind="profile.Job.TypeId">
|
||||
<option selected>Auswählen..</option>
|
||||
@if (jobTypes != null)
|
||||
{
|
||||
@foreach (JobType type in jobTypes)
|
||||
{
|
||||
<option value="@type.Id">@type.Name</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<div id="cronHelp" class="form-text">Der Typ des Jobs.</div>
|
||||
</div>*@
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="sourceFolder" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-right" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z" />
|
||||
<path fill-rule="evenodd" d="M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z" />
|
||||
</svg> Quellverzeichnis
|
||||
|
||||
</label>
|
||||
<input type="text" class="form-control" id="sourceFolder" aria-describedby="sourceFolderHelp" @bind="profile.SourceFolder" />
|
||||
<div id="sourceFolderHelp" class="form-text">Lokales Verzeichnis, aus dem Dateien zur Verarbeitung gelesen werden.</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="targetFolder" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-in-right" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z" />
|
||||
<path fill-rule="evenodd" d="M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z" />
|
||||
</svg> Zielverzeichnis
|
||||
</label>
|
||||
<input type="text" class="form-control" id="targetFolder" aria-describedby="targetFolderHelp" @bind="profile.TargetFolder" />
|
||||
<div id="targetFolderHelp" class="form-text">Windream Verzeichnis, in das die verarbeiteten Dateien geschrieben werden.</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="mb-3">
|
||||
<label for="cronExpression" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm" viewBox="0 0 16 16">
|
||||
<path d="M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z" />
|
||||
<path d="M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z" />
|
||||
</svg> Cron Expression
|
||||
</label>
|
||||
<input type="text" class="form-control" id="cronExpression" @bind="profile.Job.CronSchedule" aria-describedby="cronHelp">
|
||||
<div id="cronHelp" class="form-text">Die Zeitplan des Jobs. Erwartet eine <a href="https://www.quartz-scheduler.net/documentation/quartz-3.x/how-tos/crontrigger.html#examples" target="_blank">Quartz.NET Cron Expression.</a></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="backupFolder" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-life-preserver" viewBox="0 0 16 16">
|
||||
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm6.43-5.228a7.025 7.025 0 0 1-3.658 3.658l-1.115-2.788a4.015 4.015 0 0 0 1.985-1.985l2.788 1.115zM5.228 14.43a7.025 7.025 0 0 1-3.658-3.658l2.788-1.115a4.015 4.015 0 0 0 1.985 1.985L5.228 14.43zm9.202-9.202-2.788 1.115a4.015 4.015 0 0 0-1.985-1.985l1.115-2.788a7.025 7.025 0 0 1 3.658 3.658zm-8.087-.87a4.015 4.015 0 0 0-1.985 1.985L1.57 5.228A7.025 7.025 0 0 1 5.228 1.57l1.115 2.788zM8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z" />
|
||||
</svg> Sicherungsverzeichnis
|
||||
</label>
|
||||
<input type="text" class="form-control" id="backupFolder" aria-describedby="backupFolderHelp" @bind="profile.BackupFolder" />
|
||||
<div id="backupFolderHelp" class="form-text">Lokales Verzeichnis, in das die zu verarbeiteten Dateien als Sicherheitskopie geschrieben werden.</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="jobType" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-folder" viewBox="0 0 16 16">
|
||||
<path d="M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zM2.19 4a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91h10.348a1 1 0 0 0 .995-.91l.637-7A1 1 0 0 0 13.81 4H2.19zm4.69-1.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z" />
|
||||
</svg> Unterordner nach Datum
|
||||
</label>
|
||||
<select class="form-select" aria-label="Job type selection" id="jobType" @bind="profile.SubfolderDateFormat">
|
||||
<option selected value="">Keine Unterordner</option>
|
||||
<option value="YYYY">YYYY (@DateTime.Now.ToString("yyyy"))</option>
|
||||
<option value="YYYY-MM">YYYY-MM (@DateTime.Now.ToString("yyyy-MM"))</option>
|
||||
<option value="YYYY-MM-DD">YYYY-MM-DD (@DateTime.Now.ToString("yyyy-MM-dd"))</option>
|
||||
</select>
|
||||
<div id="cronHelp" class="form-text">Der Windream Objekttyp, dem das Profil zugeordnet wird. Bestimmt u.a., welche Indexe zur Verfügung stehen.</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="exclusionRegex" class="form-label">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-regex" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 1 1 .707.707Zm9.9-.707a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.314.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707ZM6 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5-6.5a.5.5 0 0 0-1 0v2.117L8.257 5.57a.5.5 0 0 0-.514.858L9.528 7.5 7.743 8.571a.5.5 0 1 0 .514.858L10 8.383V10.5a.5.5 0 1 0 1 0V8.383l1.743 1.046a.5.5 0 0 0 .514-.858L11.472 7.5l1.785-1.071a.5.5 0 1 0-.514-.858L11 6.617V4.5Z" />
|
||||
</svg> Ausschlussregex
|
||||
</label>
|
||||
<textarea type="text" class="form-control" id="exclusionRegex" aria-describedby="exclusionRegexHelp" rows="3" @bind="profile.FileExcludeRegex" />
|
||||
<div id="exclusionRegexHelp" class="form-text">Liste von Regular Expressions. Wird ein Match im Dateinamen gefunden, wird die Datei <strong>nicht</strong> verarbeitet. <a href="https://regexr.com/" target="_blank">Regular Expression Editor</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn-group mt-3" role="group" aria-label="Basic example">
|
||||
|
||||
<a class="btn btn-secondary" href="@GetBackUrl()">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z" />
|
||||
</svg> Back
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-save" viewBox="0 0 16 16">
|
||||
<path d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v7.293l2.646-2.647a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L7.5 9.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z" />
|
||||
</svg> Save
|
||||
</button>
|
||||
</div>
|
||||
</EditForm>
|
||||
}
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public int ProfileId { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<EditContext> OnValidSubmit { get; set; }
|
||||
|
||||
private ImportProfile? profile;
|
||||
private List<JobType>? jobTypes;
|
||||
private List<ObjectType>? objectTypes;
|
||||
|
||||
protected string GetBackUrl()
|
||||
{
|
||||
return ProfileId == Constants.ENTITY_ID_NEW ? "profiles/import" : $"profiles/import/{ProfileId}";
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
jobTypes = await Jobs.GetJobTypes();
|
||||
objectTypes = await Jobs.GetObjectTypes();
|
||||
|
||||
if (ProfileId == Constants.ENTITY_ID_NEW)
|
||||
{
|
||||
profile = new ImportProfile() { Id = Constants.ENTITY_ID_NEW };
|
||||
}
|
||||
else
|
||||
{
|
||||
profile = await Import.GetProfile(ProfileId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
@page "/jobs/{jobId:int}"
|
||||
@page "/profiles/import/{profileId:int}"
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
|
||||
@inject NavigationManager Navigation;
|
||||
@inject IJSRuntime JsRuntime
|
||||
@inject JobService Jobs
|
||||
@inject IJSRuntime JsRuntime;
|
||||
@inject JobService Jobs;
|
||||
@inject ImportService Import;
|
||||
|
||||
<PageTitle>Job</PageTitle>
|
||||
<PageTitle>Profile</PageTitle>
|
||||
|
||||
|
||||
|
||||
@if (job == null)
|
||||
@if (profile == null)
|
||||
{
|
||||
<h3>Job</h3>
|
||||
|
||||
@ -20,40 +19,45 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<h3>@job.Name</h3>
|
||||
<h3>
|
||||
@if (profile.Active)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-play-circle text-success me-1" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
||||
<path d="M6.271 5.055a.5.5 0 0 1 .52.038l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z" />
|
||||
</svg>
|
||||
}
|
||||
else
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-stop-circle text-danger me-1" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
||||
<path d="M5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3z" />
|
||||
</svg>
|
||||
}
|
||||
@profile.Job.Name
|
||||
</h3>
|
||||
|
||||
<ul class="list-group">
|
||||
<ul class="list-group mb-3">
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-square" viewBox="0 0 16 16">
|
||||
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z" />
|
||||
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" />
|
||||
</svg> Active
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-right" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z" />
|
||||
<path fill-rule="evenodd" d="M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z" />
|
||||
</svg> Quellverzeichnis
|
||||
</div>
|
||||
@job.Active
|
||||
@profile.SourceFolder
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-square" viewBox="0 0 16 16">
|
||||
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z" />
|
||||
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" />
|
||||
</svg> Type
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-in-right" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z" />
|
||||
<path fill-rule="evenodd" d="M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z" />
|
||||
</svg> Zielverzeichnis
|
||||
</div>
|
||||
@job.Type.Name
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm" viewBox="0 0 16 16">
|
||||
<path d="M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z" />
|
||||
<path d="M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z" />
|
||||
</svg> Cron Schedule
|
||||
</div>
|
||||
@job.CronSchedule
|
||||
@profile.TargetFolder
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
@ -61,20 +65,24 @@ else
|
||||
<div class="fw-bold">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-hourglass" viewBox="0 0 16 16">
|
||||
<path d="M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702c0 .7-.478 1.235-1.011 1.491A3.5 3.5 0 0 0 4.5 13v1h7v-1a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351v-.702c0-.7.478-1.235 1.011-1.491A3.5 3.5 0 0 0 11.5 3V2h-7z" />
|
||||
</svg> Next Run at
|
||||
</svg> Nächste Ausführung
|
||||
</div>
|
||||
@nextExecution
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Verarbeitungsschritte</h3>
|
||||
|
||||
<ECM.JobRunner.Web.Pages.ImportStep.List Profile="profile" />
|
||||
|
||||
<div class="btn-group mt-3" role="group" aria-label="Basic example">
|
||||
<a class="btn btn-secondary" href="jobs">
|
||||
<a class="btn btn-secondary" href="profiles/import">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z" />
|
||||
</svg> Back
|
||||
</a>
|
||||
<a class="btn btn-primary" href="jobs/@job.Id/edit">
|
||||
<a class="btn btn-primary" href="profiles/import/@profile.Id/edit">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
|
||||
<path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z" />
|
||||
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z" />
|
||||
@ -90,36 +98,36 @@ else
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public int JobId { get; set; }
|
||||
public int ProfileId { get; set; }
|
||||
|
||||
private JobDefinition? job;
|
||||
private ImportProfile? profile;
|
||||
private DateTime nextExecution;
|
||||
|
||||
protected async override void OnInitialized()
|
||||
{
|
||||
job = await Jobs.GetJob(JobId);
|
||||
profile = await Import.GetProfile(ProfileId);
|
||||
|
||||
if (job != null)
|
||||
{
|
||||
nextExecution = Jobs.GetNextExecutionTime(job.CronSchedule);
|
||||
if (profile != null)
|
||||
{
|
||||
nextExecution = Jobs.GetNextExecutionTime(profile.Job.CronSchedule);
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
||||
protected async void DeleteJob()
|
||||
{
|
||||
if (job != null)
|
||||
if (profile != null)
|
||||
{
|
||||
bool confirmed = await JsRuntime.InvokeAsync<bool>("confirm", "Are you sure?");
|
||||
if (confirmed)
|
||||
{
|
||||
if (await Jobs.DeleteJob(job) == true)
|
||||
{
|
||||
Navigation.NavigateTo($"/jobs");
|
||||
};
|
||||
}
|
||||
//if (await Jobs.DeleteJob(profile) == true)
|
||||
//{
|
||||
// Navigation.NavigateTo($"/jobs");
|
||||
//};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
58
ECM.JobRunner.Web/Pages/ImportStep/List.razor
Normal file
58
ECM.JobRunner.Web/Pages/ImportStep/List.razor
Normal file
@ -0,0 +1,58 @@
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@inject JobService Jobs
|
||||
@inject ImportService Import;
|
||||
|
||||
@if (Profile == null)
|
||||
{
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">Loading Steps..</li>
|
||||
</ul>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="list-group">
|
||||
@if (Profile.Steps.Count() == 0)
|
||||
{
|
||||
<a class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
No Jobs found.
|
||||
</div>
|
||||
|
||||
</a>
|
||||
}
|
||||
|
||||
@foreach (var step in Profile.Steps)
|
||||
{
|
||||
<a href="#" class="list-group-item list-group-item-action d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<span>
|
||||
@if (step.Active)
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-play-circle text-success" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
||||
<path d="M6.271 5.055a.5.5 0 0 1 .52.038l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z" />
|
||||
</svg>
|
||||
}
|
||||
else
|
||||
{
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-stop-circle text-danger" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
||||
<path d="M5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3z" />
|
||||
</svg>
|
||||
}
|
||||
</span>
|
||||
<span>@step.IndexName</span>
|
||||
</div>
|
||||
@step.Method
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public ImportProfile? Profile { get; set; }
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
@page "/jobs/{jobId:int}/edit"
|
||||
@using ECM.JobRunner.Common.JobRunnerReference;
|
||||
@using ECM.JobRunner.Web.Data;
|
||||
@using ECM.JobRunner.Web.Components.Job;
|
||||
@inject NavigationManager Navigation;
|
||||
@inject JobService Jobs;
|
||||
|
||||
<PageTitle>Job bearbeiten</PageTitle>
|
||||
|
||||
<h3>Job bearbeiten</h3>
|
||||
|
||||
<JobForm JobId="JobId" OnValidSubmit="OnFormSubmit" />
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public int JobId { get; set; }
|
||||
|
||||
private async void OnFormSubmit(EditContext ctx)
|
||||
{
|
||||
JobDefinition job = (JobDefinition)ctx.Model;
|
||||
bool result = await Jobs.UpdateJob(job);
|
||||
|
||||
if (result == true)
|
||||
{
|
||||
Navigation.NavigateTo($"/jobs/{job.Id}");
|
||||
}
|
||||
}
|
||||
}
|
||||
28
ECM.JobRunner.Web/Pages/Profiles.razor
Normal file
28
ECM.JobRunner.Web/Pages/Profiles.razor
Normal file
@ -0,0 +1,28 @@
|
||||
@page "/profiles"
|
||||
|
||||
<PageTitle>Profile</PageTitle>
|
||||
|
||||
<h3>Profile</h3>
|
||||
|
||||
<div class="list-group">
|
||||
<a href="profiles/import" class="list-group-item list-group-item-action d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-right" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z" />
|
||||
<path fill-rule="evenodd" d="M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z" />
|
||||
</svg> Import Profile
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="profiles" class="list-group-item list-group-item-action d-flex justify-content-between align-items-start text-muted">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
|
||||
<path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z" />
|
||||
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z" />
|
||||
</svg> Nachindexierungs Profile
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@ -13,6 +13,7 @@ builder.Services.AddTransient<DatabaseService>();
|
||||
builder.Services.AddSingleton<WcfService>();
|
||||
builder.Services.AddTransient<DashboardService>();
|
||||
builder.Services.AddTransient<JobService>();
|
||||
builder.Services.AddTransient<ImportService>();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
|
||||
@ -13,15 +13,16 @@
|
||||
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-house" viewBox="0 0 16 16">
|
||||
<path d="M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.707 1.5ZM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5 5 5Z" />
|
||||
</svg> Home
|
||||
</svg> Start
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="jobs">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar-week" viewBox="0 0 16 16">
|
||||
<path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z" />
|
||||
<path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z" />
|
||||
</svg> Jobs
|
||||
<NavLink class="nav-link" href="profiles">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-rocket" viewBox="0 0 16 16">
|
||||
<path d="M8 8c.828 0 1.5-.895 1.5-2S8.828 4 8 4s-1.5.895-1.5 2S7.172 8 8 8Z" />
|
||||
<path d="M11.953 8.81c-.195-3.388-.968-5.507-1.777-6.819C9.707 1.233 9.23.751 8.857.454a3.495 3.495 0 0 0-.463-.315A2.19 2.19 0 0 0 8.25.064.546.546 0 0 0 8 0a.549.549 0 0 0-.266.073 2.312 2.312 0 0 0-.142.08 3.67 3.67 0 0 0-.459.33c-.37.308-.844.803-1.31 1.57-.805 1.322-1.577 3.433-1.774 6.756l-1.497 1.826-.004.005A2.5 2.5 0 0 0 2 12.202V15.5a.5.5 0 0 0 .9.3l1.125-1.5c.166-.222.42-.4.752-.57.214-.108.414-.192.625-.281l.198-.084c.7.428 1.55.635 2.4.635.85 0 1.7-.207 2.4-.635.067.03.132.056.196.083.213.09.413.174.627.282.332.17.586.348.752.57l1.125 1.5a.5.5 0 0 0 .9-.3v-3.298a2.5 2.5 0 0 0-.548-1.562l-1.499-1.83ZM12 10.445v.055c0 .866-.284 1.585-.75 2.14.146.064.292.13.425.199.39.197.8.46 1.1.86L13 14v-1.798a1.5 1.5 0 0 0-.327-.935L12 10.445ZM4.75 12.64C4.284 12.085 4 11.366 4 10.5v-.054l-.673.82a1.5 1.5 0 0 0-.327.936V14l.225-.3c.3-.4.71-.664 1.1-.861.133-.068.279-.135.425-.199ZM8.009 1.073c.063.04.14.094.226.163.284.226.683.621 1.09 1.28C10.137 3.836 11 6.237 11 10.5c0 .858-.374 1.48-.943 1.893C9.517 12.786 8.781 13 8 13c-.781 0-1.517-.214-2.057-.607C5.373 11.979 5 11.358 5 10.5c0-4.182.86-6.586 1.677-7.928.409-.67.81-1.082 1.096-1.32.09-.076.17-.135.236-.18Z" />
|
||||
<path d="M9.479 14.361c-.48.093-.98.139-1.479.139-.5 0-.999-.046-1.479-.139L7.6 15.8a.5.5 0 0 0 .8 0l1.079-1.439Z" />
|
||||
</svg> Profile
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
|
||||
@ -80,6 +80,7 @@
|
||||
<HintPath>..\packages\Quartz.3.5.0\lib\net462\Quartz.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Data" />
|
||||
@ -117,6 +118,14 @@
|
||||
<Compile Include="Config.vb" />
|
||||
<Compile Include="Constants.vb" />
|
||||
<Compile Include="LogProvider.vb" />
|
||||
<Compile Include="Models\Jobs\JobDefinition.vb" />
|
||||
<Compile Include="Models\Jobs\JobType.vb" />
|
||||
<Compile Include="Models\Jobs\HistoryItem.vb" />
|
||||
<Compile Include="Models\Jobs\StatusItem.vb" />
|
||||
<Compile Include="Models\Profiles\BaseProfile.vb" />
|
||||
<Compile Include="Models\Profiles\ImportProfile.vb" />
|
||||
<Compile Include="Models\Profiles\ImportProfileStep.vb" />
|
||||
<Compile Include="Models\Windream\ObjectType.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
@ -160,6 +169,7 @@
|
||||
<Compile Include="WCF\Methods\Base.vb" />
|
||||
<Compile Include="WCF\Methods\GetJobConfig.vb" />
|
||||
<Compile Include="WCF\Methods\UpdateJob.vb" />
|
||||
<Compile Include="WCF\Methods\UpdateProfile.vb" />
|
||||
<Compile Include="WCF\Methods\GetJobStatus.vb" />
|
||||
<Compile Include="WCF\ServiceHost.vb" />
|
||||
</ItemGroup>
|
||||
|
||||
20
ECM.JobRunner.Windows/Models/Jobs/JobDefinition.vb
Normal file
20
ECM.JobRunner.Windows/Models/Jobs/JobDefinition.vb
Normal file
@ -0,0 +1,20 @@
|
||||
Imports System.ComponentModel.DataAnnotations
|
||||
|
||||
Public Class JobDefinition
|
||||
<Required>
|
||||
Public Id As Integer = -1
|
||||
|
||||
<Required>
|
||||
Public TypeId As Integer
|
||||
Public Type As JobType
|
||||
|
||||
<Required>
|
||||
<StringLength(250)>
|
||||
Public Name As String
|
||||
|
||||
<Required>
|
||||
<StringLength(250)>
|
||||
Public CronSchedule As String
|
||||
|
||||
Public Active As Boolean
|
||||
End Class
|
||||
3
ECM.JobRunner.Windows/Models/Profiles/BaseProfile.vb
Normal file
3
ECM.JobRunner.Windows/Models/Profiles/BaseProfile.vb
Normal file
@ -0,0 +1,3 @@
|
||||
Public Class BaseProfile
|
||||
Public Property Job As New JobDefinition
|
||||
End Class
|
||||
@ -1,15 +1,36 @@
|
||||
Public Class ImportProfile
|
||||
Public Property Id As Integer
|
||||
Public Property JobId As Integer
|
||||
Imports System.ComponentModel.DataAnnotations
|
||||
|
||||
Public Class ImportProfile
|
||||
Inherits BaseProfile
|
||||
|
||||
Public Property Active As Boolean
|
||||
|
||||
<Required>
|
||||
Public Property Id As Integer
|
||||
<Required>
|
||||
Public Property JobId As Integer
|
||||
<Required>
|
||||
Public Property ObjectTypeName As String
|
||||
|
||||
<Required>
|
||||
<StringLength(500)>
|
||||
Public Property SourceFolder As String
|
||||
|
||||
<Required>
|
||||
<StringLength(500)>
|
||||
Public Property TargetFolder As String
|
||||
|
||||
<StringLength(500)>
|
||||
Public Property BackupFolder As String
|
||||
|
||||
<StringLength(50)>
|
||||
Public Property SubfolderDateFormat As String
|
||||
|
||||
<StringLength(5000)>
|
||||
Public Property FileExcludeRegex As String
|
||||
|
||||
Public Property DeleteFiles As Boolean
|
||||
Public Property IncludeSubfolders As Boolean
|
||||
|
||||
Public Property Steps As New List(Of ImportProfileStep)
|
||||
End Class
|
||||
26
ECM.JobRunner.Windows/Models/Profiles/ImportProfileStep.vb
Normal file
26
ECM.JobRunner.Windows/Models/Profiles/ImportProfileStep.vb
Normal file
@ -0,0 +1,26 @@
|
||||
Public Class ImportProfileStep
|
||||
Public Property Active As Boolean
|
||||
Public Property Id As Integer
|
||||
Public Property ProfileId As Integer
|
||||
Public Property IndexName As String
|
||||
Public Property Scope As StepScope
|
||||
Public Property Method As StepMethod
|
||||
Public Property Argument1 As String
|
||||
Public Property Argument2 As String
|
||||
Public Property Argument3 As String
|
||||
|
||||
Public Enum StepMethod
|
||||
SUBSTRING
|
||||
REGEX
|
||||
SPLIT
|
||||
ALL
|
||||
VALUE
|
||||
End Enum
|
||||
|
||||
Public Enum StepScope
|
||||
FILE
|
||||
FOLDER
|
||||
End Enum
|
||||
End Class
|
||||
|
||||
|
||||
@ -67,6 +67,8 @@ Namespace Scheduler.Jobs
|
||||
Return Task.FromResult(True)
|
||||
End If
|
||||
|
||||
Logger.Info("[0] files found in source directory [{1}]", oFiles.Count, oSourceDirectory)
|
||||
|
||||
'Dim oMax = 100
|
||||
'For index = 1 To oMax
|
||||
' UpdateProgress(index, oMax)
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Language
|
||||
Imports ECM.JobRunner.Common
|
||||
Imports ECM.JobRunner.Windows.Scheduler
|
||||
Imports DigitalData.Modules.Windream
|
||||
|
||||
@ -17,13 +16,12 @@ Public Class State
|
||||
|
||||
Public ReadOnly Property JobTypes As New List(Of JobType)
|
||||
Public ReadOnly Property ObjectTypes As New List(Of ObjectType)
|
||||
|
||||
Public ReadOnly Property JobDefinitions As New List(Of JobDefinition)
|
||||
|
||||
Public ReadOnly Property ProfileDefintions As New ProfileDefinitions
|
||||
|
||||
Public Class ProfileDefinitions
|
||||
Public Property ImportProfiles As New List(Of ImportProfile)
|
||||
Public Property ImportProfileSteps As New List(Of ImportProfileStep)
|
||||
End Class
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pWindream As Windream)
|
||||
@ -45,6 +43,7 @@ Public Class State
|
||||
_ObjectTypes = GetObjectTypes()
|
||||
|
||||
_JobDefinitions = GetJobDefinitions(_JobTypes)
|
||||
_ProfileDefintions.ImportProfileSteps = GetImportProfileSteps()
|
||||
_ProfileDefintions.ImportProfiles = GetImportProfiles()
|
||||
End Sub
|
||||
|
||||
@ -89,7 +88,7 @@ Public Class State
|
||||
Try
|
||||
Logger.Info("Loading Job Types..")
|
||||
|
||||
Dim oSQL As String = "SELECT * FROM TBECM_JR_TYPE WHERE ACTIVE = 1"
|
||||
Dim oSQL As String = "SELECT * FROM TBECM_JR_TYPE"
|
||||
Dim oTable As DataTable = Database.GetDatatable(oSQL)
|
||||
|
||||
If oTable Is Nothing Then
|
||||
@ -119,33 +118,113 @@ Public Class State
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function GetImportProfileSteps() As List(Of ImportProfileStep)
|
||||
Dim oSteps As New List(Of ImportProfileStep)
|
||||
|
||||
Try
|
||||
Logger.Info("Loading Import Profiles Steps..")
|
||||
|
||||
Dim oSQL As String = "SELECT * FROM TBECM_JR_FIW_STEP"
|
||||
Dim oTable As DataTable = Database.GetDatatable(oSQL)
|
||||
|
||||
If oTable Is Nothing Then
|
||||
Logger.Warn("Database Error while loading Import Profile Steps!")
|
||||
Return oSteps
|
||||
End If
|
||||
|
||||
Logger.Info("[{0}] Import Profile Steps loaded!", oTable.Rows.Count)
|
||||
|
||||
|
||||
For Each oRow As DataRow In oTable.Rows
|
||||
Dim oTypeId = oRow.ItemEx("PROFILE_ID", 0)
|
||||
|
||||
Dim oScope As ImportProfileStep.StepScope
|
||||
Select Case oRow.ItemEx("SCOPE", "FILE")
|
||||
Case "FOLDER"
|
||||
oScope = ImportProfileStep.StepScope.FOLDER
|
||||
Case "FILE"
|
||||
oScope = ImportProfileStep.StepScope.FILE
|
||||
End Select
|
||||
|
||||
Dim oMethod As ImportProfileStep.StepMethod
|
||||
Select Case oRow.ItemEx("METHOD", "ALL")
|
||||
Case "SUBSTRING"
|
||||
oScope = ImportProfileStep.StepMethod.SUBSTRING
|
||||
|
||||
Case "SPLIT"
|
||||
oScope = ImportProfileStep.StepMethod.SPLIT
|
||||
|
||||
Case "REGEX"
|
||||
oScope = ImportProfileStep.StepMethod.REGEX
|
||||
|
||||
Case "STATIC"
|
||||
oScope = ImportProfileStep.StepMethod.VALUE
|
||||
|
||||
Case Else
|
||||
oScope = ImportProfileStep.StepMethod.ALL
|
||||
End Select
|
||||
|
||||
Dim oStep As New ImportProfileStep With {
|
||||
.Id = oRow.ItemEx("GUID", 0),
|
||||
.ProfileId = oRow.ItemEx("PROFILE_ID", 0),
|
||||
.IndexName = oRow.Item("IDX_NAME"),
|
||||
.Method = oMethod,
|
||||
.Argument1 = oRow.ItemEx("ARGUMENT1", ""),
|
||||
.Argument2 = oRow.ItemEx("ARGUMENT2", ""),
|
||||
.Argument3 = oRow.ItemEx("ARGUMENT3", ""),
|
||||
.Scope = oScope,
|
||||
.Active = oRow.ItemEx("ACTIVE", 0)
|
||||
}
|
||||
|
||||
oSteps.Add(oStep)
|
||||
|
||||
Logger.Debug("Adding Import Profile Step for Index [{0}]", oStep.IndexName)
|
||||
Next
|
||||
|
||||
Return oSteps
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Return oSteps
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function GetImportProfiles() As List(Of ImportProfile)
|
||||
Dim oProfiles As New List(Of ImportProfile)
|
||||
|
||||
Try
|
||||
Logger.Info("Loading Profiles..")
|
||||
Logger.Info("Loading Import Profiles..")
|
||||
|
||||
Dim oSQL As String = "SELECT * FROM TBECM_JR_FIW_PROFILE"
|
||||
Dim oTable As DataTable = Database.GetDatatable(oSQL)
|
||||
|
||||
If oTable Is Nothing Then
|
||||
Logger.Warn("Database Error while loading Profiles!")
|
||||
Logger.Warn("Database Error while loading Import Profiles!")
|
||||
Return oProfiles
|
||||
End If
|
||||
|
||||
Logger.Info("[{0}] Profiles loaded!", oTable.Rows.Count)
|
||||
Logger.Info("[{0}] Import Profiles loaded!", oTable.Rows.Count)
|
||||
|
||||
For Each oRow As DataRow In oTable.Rows
|
||||
Dim oTypeId = oRow.ItemEx("JOB_TYPE_ID", 0)
|
||||
Dim oProfile As New ImportProfile With {
|
||||
.Id = oRow.ItemEx("GUID", 0),
|
||||
.JobId = oRow.ItemEx("JR_JOB_ID", 0),
|
||||
.SourceFolder = oRow.ItemEx("SOURCE_FOLDER", "")
|
||||
.ObjectTypeName = oRow.Item("WM_OBJECTTYPE"),
|
||||
.SourceFolder = oRow.ItemEx("SOURCE_FOLDER", ""),
|
||||
.TargetFolder = oRow.ItemEx("TARGET_FOLDER", ""),
|
||||
.BackupFolder = oRow.ItemEx("BACKUP_FOLDER", ""),
|
||||
.SubfolderDateFormat = oRow.ItemEx("SF_DATE_FORMAT", ""),
|
||||
.DeleteFiles = oRow.ItemEx("DEL_FILE_SUCCESS", 0),
|
||||
.FileExcludeRegex = oRow.ItemEx("EXCLUDE_REGEX", ""),
|
||||
.IncludeSubfolders = oRow.ItemEx("INCL_SUBFOLDER", 0),
|
||||
.Active = oRow.ItemEx("ACTIVE", 0)
|
||||
}
|
||||
|
||||
oProfiles.Add(oProfile)
|
||||
|
||||
Logger.Debug("Adding Profile for Folder [{0}]", oProfile.SourceFolder)
|
||||
Logger.Debug("Adding Import Profile for Folder [{0}]", oProfile.SourceFolder)
|
||||
Next
|
||||
|
||||
Return oProfiles
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
Imports System.ServiceModel
|
||||
Imports ECM.JobRunner.Common
|
||||
Imports ECM.JobRunner.Windows.UpdateJob
|
||||
Imports ECM.JobRunner.Windows.UpdateProfile
|
||||
Imports ECM.JobRunner.Windows.GetJobStatus
|
||||
Imports ECM.JobRunner.Windows.GetJobConfig
|
||||
|
||||
@ -17,6 +18,9 @@ Namespace WCF
|
||||
<OperationContract>
|
||||
Function UpdateJob(pData As UpdateJobRequest) As UpdateJobResponse
|
||||
|
||||
<OperationContract>
|
||||
Function UpdateProfile(pData As UpdateProfileRequest) As UpdateProfileResponse
|
||||
|
||||
<OperationContract>
|
||||
Function GetJobConfig() As GetJobConfigResponse
|
||||
End Interface
|
||||
|
||||
@ -50,6 +50,11 @@ Namespace WCF
|
||||
Dim oMethod As New UpdateJob.UpdateJobMethod(LogConfig, Database, State, Scheduler)
|
||||
Return oMethod.Run(pData)
|
||||
End Function
|
||||
|
||||
Public Function UpdateProfile(pData As UpdateProfile.UpdateProfileRequest) As UpdateProfile.UpdateProfileResponse Implements IJobRunner.UpdateProfile
|
||||
Dim oMethod As New UpdateProfile.UpdateProfileMethod(LogConfig, Database, State, Scheduler)
|
||||
Return oMethod.Run(pData)
|
||||
End Function
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
||||
@ -17,11 +17,32 @@ Public Class GetJobConfig
|
||||
.JobTypes = State.JobTypes,
|
||||
.JobDefinitions = State.JobDefinitions,
|
||||
.ProfileDefinitions = New GetJobConfigResponse.ProfileDefinitionConfig With {
|
||||
.ImportProfiles = State.ProfileDefintions.ImportProfiles
|
||||
.ImportProfiles = State.ProfileDefintions.ImportProfiles.
|
||||
Select(AddressOf FillJobForProfile).
|
||||
Select(AddressOf FillStepsForProfile).
|
||||
ToList()
|
||||
},
|
||||
.WindreamObjectTypes = State.ObjectTypes
|
||||
}
|
||||
End Function
|
||||
|
||||
Private Function FillJobForProfile(pProfile As ImportProfile) As ImportProfile
|
||||
Dim oJob = State.JobDefinitions.
|
||||
Where(Function(job) job.Id = pProfile.JobId).
|
||||
FirstOrDefault()
|
||||
|
||||
pProfile.Job = oJob
|
||||
Return pProfile
|
||||
End Function
|
||||
|
||||
Private Function FillStepsForProfile(pProfile As ImportProfile) As ImportProfile
|
||||
Dim oSteps = State.ProfileDefintions.ImportProfileSteps.
|
||||
Where(Function(s) s.ProfileId = pProfile.Id).
|
||||
ToList()
|
||||
|
||||
pProfile.Steps = oSteps
|
||||
Return pProfile
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class GetJobConfigResponse
|
||||
|
||||
@ -31,6 +31,8 @@ Public Class UpdateJob
|
||||
|
||||
If oResponse Then
|
||||
Scheduler.Reload()
|
||||
Else
|
||||
Logger.Warn("Error while updating Profile, data not reloaded!")
|
||||
End If
|
||||
|
||||
Return New UpdateJobResponse With {.OK = oResponse}
|
||||
@ -74,8 +76,6 @@ Public Class UpdateJob
|
||||
End Function
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
Public Class UpdateJobRequest
|
||||
Public Enum UpdateJobAction
|
||||
Create
|
||||
@ -84,7 +84,7 @@ Public Class UpdateJob
|
||||
End Enum
|
||||
|
||||
Public Action As UpdateJobAction
|
||||
Public Job As JobRunnerReference.JobDefinition
|
||||
Public Job As JobDefinition
|
||||
End Class
|
||||
|
||||
Public Class UpdateJobResponse
|
||||
|
||||
152
ECM.JobRunner.Windows/WCF/Methods/UpdateProfile.vb
Normal file
152
ECM.JobRunner.Windows/WCF/Methods/UpdateProfile.vb
Normal file
@ -0,0 +1,152 @@
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports ECM.JobRunner.Common
|
||||
Imports ECM.JobRunner.Windows.Scheduler
|
||||
|
||||
Public Class UpdateProfile
|
||||
Public Class UpdateProfileMethod
|
||||
Inherits Base.BaseMethod
|
||||
|
||||
Private ReadOnly Scheduler As JobScheduler
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pState As State, pScheduler As JobScheduler)
|
||||
MyBase.New(pLogConfig, pDatabase, pState)
|
||||
Scheduler = pScheduler
|
||||
End Sub
|
||||
|
||||
Public Function Run(pData As UpdateProfileRequest) As UpdateProfileResponse
|
||||
Dim oResponse As Boolean = False
|
||||
Dim oUpdateJob As New UpdateJob.UpdateJobMethod(LogConfig, Database, State, Scheduler)
|
||||
|
||||
' Active on the profile sets active on the job as well
|
||||
pData.ImportProfile.Job.Active = pData.ImportProfile.Active
|
||||
|
||||
Dim oJobResponse = oUpdateJob.Run(New UpdateJob.UpdateJobRequest With {
|
||||
.Job = pData.ImportProfile.Job,
|
||||
.Action = pData.Action
|
||||
})
|
||||
|
||||
If oJobResponse.OK = False Then
|
||||
Return New UpdateProfileResponse With {.OK = False}
|
||||
End If
|
||||
|
||||
Select Case pData.Action
|
||||
Case UpdateProfileRequest.UpdateProfileAction.Update
|
||||
oResponse = DoUpdateImportProfile(pData)
|
||||
|
||||
Case UpdateProfileRequest.UpdateProfileAction.Create
|
||||
oResponse = DoCreateImportProfile(pData)
|
||||
|
||||
Case UpdateProfileRequest.UpdateProfileAction.Delete
|
||||
oResponse = DoDeleteImportProfile(pData)
|
||||
|
||||
End Select
|
||||
|
||||
If oResponse Then
|
||||
Scheduler.Reload()
|
||||
Else
|
||||
Logger.Warn("Error while updating Profile, data not reloaded!")
|
||||
End If
|
||||
|
||||
Return New UpdateProfileResponse With {.OK = oResponse}
|
||||
End Function
|
||||
|
||||
Private Function DoUpdateImportProfile(pData As UpdateProfileRequest) As Boolean
|
||||
Dim oProfile = pData.ImportProfile
|
||||
Dim oSQL As String = "UPDATE TBECM_JR_FIW_PROFILE
|
||||
SET JR_JOB_ID = @JR_JOB_ID,
|
||||
WM_OBJECTTYPE = @WM_OBJECTTYPE,
|
||||
SOURCE_FOLDER = @SOURCE_FOLDER,
|
||||
TARGET_FOLDER = @TARGET_FOLDER,
|
||||
BACKUP_FOLDER = @BACKUP_FOLDER,
|
||||
SF_DATE_FORMAT = @SF_DATE_FORMAT,
|
||||
DEL_FILE_SUCCESS = @DEL_FILE_SUCCESS,
|
||||
INCL_SUBFOLDER = @INCL_SUBFOLDER,
|
||||
EXCLUDE_REGEX = @EXCLUDE_REGEX,
|
||||
ACTIVE = @ACTIVE
|
||||
WHERE GUID = @GUID"
|
||||
Dim oCommand As New SqlClient.SqlCommand(oSQL)
|
||||
|
||||
oCommand.Parameters.Add("JR_JOB_ID", SqlDbType.Int).Value = oProfile.Job.Id
|
||||
oCommand.Parameters.Add("WM_OBJECTTYPE", SqlDbType.NVarChar, 100).Value = oProfile.ObjectTypeName
|
||||
oCommand.Parameters.Add("SOURCE_FOLDER", SqlDbType.NVarChar, 500).Value = oProfile.SourceFolder
|
||||
oCommand.Parameters.Add("TARGET_FOLDER", SqlDbType.NVarChar, 500).Value = oProfile.TargetFolder
|
||||
oCommand.Parameters.Add("BACKUP_FOLDER", SqlDbType.NVarChar, 500).Value = oProfile.BackupFolder
|
||||
oCommand.Parameters.Add("EXCLUDE_REGEX", SqlDbType.NVarChar, 5000).Value = oProfile.FileExcludeRegex
|
||||
oCommand.Parameters.Add("SF_DATE_FORMAT", SqlDbType.NVarChar, 50).Value = oProfile.SubfolderDateFormat
|
||||
oCommand.Parameters.Add("DEL_FILE_SUCCESS", SqlDbType.Bit).Value = oProfile.DeleteFiles
|
||||
oCommand.Parameters.Add("INCL_SUBFOLDER", SqlDbType.Bit).Value = oProfile.IncludeSubfolders
|
||||
oCommand.Parameters.Add("ACTIVE", SqlDbType.Bit).Value = oProfile.Active
|
||||
oCommand.Parameters.Add("GUID", SqlDbType.Int).Value = oProfile.Id
|
||||
|
||||
Return Database.ExecuteNonQuery(oCommand)
|
||||
End Function
|
||||
|
||||
Private Function DoCreateImportProfile(pData As UpdateProfileRequest) As Boolean
|
||||
Dim oProfile = pData.ImportProfile
|
||||
Dim oSQL As String = "INSERT INTO TBECM_JR_FIW_PROFILE (
|
||||
JR_JOB_ID,
|
||||
WM_OBJECTTYPE,
|
||||
SOURCE_FOLDER,
|
||||
TARGET_FOLDER,
|
||||
BACKUP_FOLDER,
|
||||
SF_DATE_FORMAT,
|
||||
DEL_FILE_SUCCESS,
|
||||
INCL_SUBFOLDER,
|
||||
EXCLUDE_REGEX,
|
||||
ACTIVE
|
||||
) VALUES (
|
||||
@JR_JOB_ID,
|
||||
@WM_OBJECTTYPE,
|
||||
@SOURCE_FOLDER,
|
||||
@TARGET_FOLDER,
|
||||
@BACKUP_FOLDER,
|
||||
@SF_DATE_FORMAT,
|
||||
@DEL_FILE_SUCCESS,
|
||||
@INCL_SUBFOLDER,
|
||||
@EXCLUDE_REGEX,
|
||||
@ACTIVE
|
||||
)"
|
||||
Dim oCommand As New SqlClient.SqlCommand(oSQL)
|
||||
|
||||
oCommand.Parameters.Add("JR_JOB_ID", SqlDbType.Int).Value = oProfile.Job.Id
|
||||
oCommand.Parameters.Add("WM_OBJECTTYPE", SqlDbType.NVarChar, 100).Value = oProfile.ObjectTypeName
|
||||
oCommand.Parameters.Add("SOURCE_FOLDER", SqlDbType.NVarChar, 500).Value = oProfile.SourceFolder
|
||||
oCommand.Parameters.Add("TARGET_FOLDER", SqlDbType.NVarChar, 500).Value = oProfile.TargetFolder
|
||||
oCommand.Parameters.Add("BACKUP_FOLDER", SqlDbType.NVarChar, 500).Value = oProfile.BackupFolder
|
||||
oCommand.Parameters.Add("EXCLUDE_REGEX", SqlDbType.NVarChar, 5000).Value = oProfile.FileExcludeRegex
|
||||
oCommand.Parameters.Add("SF_DATE_FORMAT", SqlDbType.NVarChar, 50).Value = oProfile.SubfolderDateFormat
|
||||
oCommand.Parameters.Add("DEL_FILE_SUCCESS", SqlDbType.Bit).Value = oProfile.DeleteFiles
|
||||
oCommand.Parameters.Add("INCL_SUBFOLDER", SqlDbType.Bit).Value = oProfile.IncludeSubfolders
|
||||
oCommand.Parameters.Add("ACTIVE", SqlDbType.Bit).Value = oProfile.Active
|
||||
oCommand.Parameters.Add("GUID", SqlDbType.Int).Value = oProfile.Id
|
||||
|
||||
Return Database.ExecuteNonQuery(oCommand)
|
||||
End Function
|
||||
|
||||
Private Function DoDeleteImportProfile(pData As UpdateProfileRequest) As Boolean
|
||||
Dim oProfile = pData.ImportProfile
|
||||
Dim oSQL As String = "DELETE FROM TBECM_JR_FIW_PROFILE WHERE GUID = @GUID"
|
||||
Dim oCommand As New SqlClient.SqlCommand(oSQL)
|
||||
|
||||
oCommand.Parameters.Add("GUID", SqlDbType.Int).Value = oProfile.Id
|
||||
|
||||
Return Database.ExecuteNonQuery(oCommand)
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class UpdateProfileRequest
|
||||
Public Enum UpdateProfileAction
|
||||
Create
|
||||
Update
|
||||
Delete
|
||||
End Enum
|
||||
|
||||
Public Action As UpdateProfileAction
|
||||
Public ImportProfile As ImportProfile
|
||||
End Class
|
||||
|
||||
Public Class UpdateProfileResponse
|
||||
Inherits Base.BaseResponse
|
||||
End Class
|
||||
End Class
|
||||
Loading…
x
Reference in New Issue
Block a user