Skip to content

Commit c2d7af1

Browse files
committed
Update version to 2.25172.0.1-PreRelease
- Updated version numbers in `.nuspec` and `.csproj` files. - Revised release notes to inform users about recompilation. - Updated `AssemblyFileVersion` in `AssemblyInfo.cs`. - Added new dependency: `PolySharp` in `CodeFactory.WinVs.csproj`. - Introduced `Required` flag in `ConfigParameter`, `ConfigParameterValue`, and `ConfigProject` classes. - Added new classes and interfaces: `ConfigParameterSelectedValue`, `IFactoryRequest`, and `IFactoryResult`. - Modified existing classes to incorporate new properties and interfaces. - Standardized exception messages for improved clarity. - Defined `ResultStatusType` enumeration for factory result categorization. - Introduced `SourceResult` as an abstract base class for factory results. - Added extension methods for validation of results and parameters.
1 parent 7d0d98f commit c2d7af1

25 files changed

+1540
-29
lines changed

Src/CodeFactoryForWindows/CodeFactory.Packager.WinVs/CodeFactoryWinVsSDK.nuspec

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" >
33
<metadata>
44
<id>CodeFactory.WinVs.SDK</id>
5-
<version>2.25165.0.1-PreRelease</version>
5+
<version>2.25172.0.1-PreRelease</version>
66
<title>CodeFactory Software Development Kit for Visual Studio - Windows</title>
77
<authors>CodeFactory, LLC.</authors>
88
<owners>CodeFactory, LLC.</owners>
99
<license type="expression">MIT</license>
1010
<requireLicenseAcceptance>true</requireLicenseAcceptance>
1111
<description>Software development kit for building CodeFactory automation in Visual Studio - Windows.</description>
1212
<releaseNotes>
13-
Release Updates for 2.25165.0.1
13+
Release Updates for 2.25172.0.1
1414

1515
Recompile Release:
1616
When you update your automation to this version of the SDK.
@@ -40,9 +40,9 @@
4040
<copyright>Copyright © 2025 CodeFactory, LLC.</copyright>
4141
<tags>Factory Automation</tags>
4242
<dependencies>
43-
<dependency id="CodeFactory" version="2.25165.0.1-PreRelease"/>
44-
<dependency id="CodeFactory.WinVs" version="2.25165.0.1-PreRelease"/>
45-
<dependency id="CodeFactory.WinVs.Wpf" version="2.25165.0.1-PreRelease"/>
43+
<dependency id="CodeFactory" version="2.25172.0.1-PreRelease"/>
44+
<dependency id="CodeFactory.WinVs" version="2.25172.0.1-PreRelease"/>
45+
<dependency id="CodeFactory.WinVs.Wpf" version="2.25172.0.1-PreRelease"/>
4646
</dependencies>
4747
<icon>CFLogo128.png</icon>
4848
</metadata>

Src/CodeFactoryForWindows/CodeFactory.Packager.WinVs/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
3535
[assembly: AssemblyVersion("2.0.0.0")]
36-
[assembly: AssemblyFileVersion("2.25165.0.1")]
36+
[assembly: AssemblyFileVersion("2.25172.0.1")]

Src/CodeFactoryForWindows/CodeFactory.WinVs.Wpf/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
3535
[assembly: AssemblyVersion("2.0.0.0")]
36-
[assembly: AssemblyFileVersion("2.25165.0.1")]
36+
[assembly: AssemblyFileVersion("2.25172.0.1")]

Src/CodeFactoryForWindows/CodeFactory.WinVs.Wpf/WinVsWpf.nuspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" >
33
<metadata>
44
<id>CodeFactory.WinVs.Wpf</id>
5-
<version>2.25165.0.1-PreRelease</version>
5+
<version>2.25172.0.1-PreRelease</version>
66
<title>CodeFactory User Interface WPF for Visual Studio - Windows</title>
77
<authors>CodeFactory, LLC.</authors>
88
<owners>CodeFactory, LLC.</owners>
99
<license type="expression">MIT</license>
1010
<requireLicenseAcceptance>true</requireLicenseAcceptance>
1111
<description>Library that provides custom dialog screens hosted in Visual Studio for Windows, hosted for CodeFactory automation.</description>
1212
<releaseNotes>
13-
Release Updates for 2.25165.0.1
13+
Release Updates for 2.25172.0.1
1414

1515
Recompile Release:
1616
When you update your automation to this version of the SDK.
@@ -19,8 +19,8 @@
1919
<copyright>Copyright © 2025 CodeFactory, LLC.</copyright>
2020
<tags>Factory Automation</tags>
2121
<dependencies>
22-
<dependency id="CodeFactory" version="2.25165.0.1-PreRelease"/>
23-
<dependency id="CodeFactory.WinVs" version="2.25165.0.1-PreRelease"/>
22+
<dependency id="CodeFactory" version="2.25172.0.1-PreRelease"/>
23+
<dependency id="CodeFactory.WinVs" version="2.25172.0.1-PreRelease"/>
2424
</dependencies>
2525
<icon>CFLogo128.png</icon>
2626
</metadata>

Src/CodeFactoryForWindows/CodeFactory.WinVs/CodeFactory.WinVs.csproj

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5+
<LangVersion>13</LangVersion>
56
<SignAssembly>True</SignAssembly>
67
<AssemblyOriginatorKeyFile>CFSigner.snk</AssemblyOriginatorKeyFile>
78
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
8-
<Version>2.25165.0.1-PreRelease</Version>
9+
<Version>2.25172.0.1-PreRelease</Version>
910
<Authors>CodeFactory, LLC.</Authors>
1011
<Company>CodeFactory, LLC.</Company>
1112
<Product>CodeFactory Base Library</Product>
@@ -16,10 +17,10 @@
1617
<IncludeSymbols>False</IncludeSymbols>
1718
<Title>CodeFactory API for Visual Studio - Windows </Title>
1819
<AssemblyVersion>2.0.0.0</AssemblyVersion>
19-
<FileVersion>2.25165.0.1</FileVersion>
20+
<FileVersion>2.25172.0.1</FileVersion>
2021
<PackageIcon>CFLogo128.png</PackageIcon>
2122
<PackageReleaseNotes>
22-
Release Updates for 2.25165.0.1
23+
Release Updates for 2.25172.0.1
2324

2425
Recompile Release:
2526
When you update your automation to this version of the SDK.
@@ -74,13 +75,22 @@
7475
<ItemGroup>
7576
<PackageReference Include="MessagePack" Version="3.1.0" />
7677
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
78+
<PackageReference Include="PolySharp" Version="1.15.0">
79+
<PrivateAssets>all</PrivateAssets>
80+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
81+
</PackageReference>
7782
<PackageReference Include="Serilog" Version="4.0.0" />
7883
<PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
7984
<PackageReference Include="System.IO.Packaging" Version="7.0.0" />
8085
<PackageReference Include="System.Text.Json" Version="9.0.0" />
8186
</ItemGroup>
8287

8388
<ItemGroup>
89+
<Compile Update="Factory\FactoryMessages.Designer.cs">
90+
<DesignTime>True</DesignTime>
91+
<AutoGen>True</AutoGen>
92+
<DependentUpon>FactoryMessages.resx</DependentUpon>
93+
</Compile>
8494
<Compile Update="Loader\ConfigurationMessages.Designer.cs">
8595
<DesignTime>True</DesignTime>
8696
<AutoGen>True</AutoGen>
@@ -94,6 +104,10 @@
94104
</ItemGroup>
95105

96106
<ItemGroup>
107+
<EmbeddedResource Update="Factory\FactoryMessages.resx">
108+
<Generator>PublicResXFileCodeGenerator</Generator>
109+
<LastGenOutput>FactoryMessages.Designer.cs</LastGenOutput>
110+
</EmbeddedResource>
97111
<EmbeddedResource Update="Loader\ConfigurationMessages.resx">
98112
<Generator>PublicResXFileCodeGenerator</Generator>
99113
<LastGenOutput>ConfigurationMessages.Designer.cs</LastGenOutput>

Src/CodeFactoryForWindows/CodeFactory.WinVs/Commands/ConfigParameter.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class ConfigParameter:PropertyChangedBase,IConfigGuidance
1717
private ConfigParameterValue _value;
1818
private string _guidance;
1919
private string _guidanceUrl;
20+
private bool _required = false;
2021

2122
/// <summary>
2223
/// Name of the parameter itself.
@@ -28,11 +29,20 @@ public string Name
2829
set { _name = value; OnPropertyChanged(); }
2930
}
3031

32+
/// <summary>
33+
/// Flag that determines if the parameter is required in order for the automation to run.
34+
/// </summary>
35+
[Key(1)]
36+
public bool Required
37+
{
38+
get => _required;
39+
set { _required = value; OnPropertyChanged(); }
40+
}
3141

3242
/// <summary>
3343
/// The value that is assigned to the parameter.
3444
/// </summary>
35-
[Key(1)]
45+
[Key(2)]
3646
public ConfigParameterValue Value
3747
{
3848
get => _value;
@@ -43,7 +53,7 @@ public ConfigParameterValue Value
4353
/// <summary>
4454
/// Instructions for what data is to go into the configuration.
4555
/// </summary>
46-
[Key(2)]
56+
[Key(3)]
4757
public string Guidance
4858
{
4959
get => _guidance;
@@ -53,7 +63,7 @@ public string Guidance
5363
/// <summary>
5464
/// The url to external guidance that explains the configuration element.
5565
/// </summary>
56-
[Key(3)]
66+
[Key(4)]
5767
public string GuidanceUrl
5868
{
5969
get => _guidanceUrl;
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using MessagePack;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Collections.ObjectModel;
5+
using System.Text;
6+
7+
namespace CodeFactory.WinVs.Commands
8+
{
9+
/// <summary>
10+
/// Represents a configuration parameter with a selected value and a collection of available values for selection.
11+
/// </summary>
12+
/// <remarks>This class provides functionality to manage a selected value and a list of possible values
13+
/// for configuration purposes. It implements property change notifications to support data binding
14+
/// scenarios.</remarks>
15+
[MessagePackObject]
16+
public class ConfigParameterSelectedValue: PropertyChangedBase
17+
{
18+
//Backing field for the selected value.
19+
string _selectedValue;
20+
21+
//Backing field for the list of values that are available for selection.
22+
ObservableCollection<ConfigParameterListValue> _selectionValues = new ObservableCollection<ConfigParameterListValue>();
23+
24+
/// <summary>
25+
/// Gets or sets the currently selected value.
26+
/// </summary>
27+
[Key(0)]
28+
public string SelectedValue
29+
{
30+
get => _selectedValue;
31+
set { _selectedValue = value; OnPropertyChanged(); }
32+
}
33+
34+
/// <summary>
35+
/// The list of values that are available for selection.
36+
/// </summary>
37+
[Key(1)]
38+
public ObservableCollection<ConfigParameterListValue> SelectionValues
39+
{
40+
get => _selectionValues;
41+
set { _selectionValues = value; OnPropertyChanged(); }
42+
}
43+
44+
}
45+
}

Src/CodeFactoryForWindows/CodeFactory.WinVs/Commands/ConfigParameterValue.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class ConfigParameterValue: PropertyChangedBase
2020
private bool? _boolValue;
2121
private ObservableCollection<ConfigParameterListValue> _listValue = new ObservableCollection<ConfigParameterListValue>();
2222
private DateTime? _dateTimeValue;
23-
23+
private ConfigParameterSelectedValue _selectedValue = new ConfigParameterSelectedValue();
2424

2525

2626
/// <summary>
@@ -73,5 +73,15 @@ public DateTime? DateTimeValue
7373
set { _dateTimeValue = value; OnPropertyChanged(); }
7474
}
7575

76+
/// <summary>
77+
/// The selected value from a list of values that is assigned to the parameter. This will be an empty instance if the value is not a selected value.
78+
/// </summary>
79+
[Key(5)]
80+
public ConfigParameterSelectedValue SelectedValue
81+
{
82+
get => _selectedValue;
83+
set { _selectedValue = value; OnPropertyChanged(); }
84+
}
85+
7686
}
7787
}

Src/CodeFactoryForWindows/CodeFactory.WinVs/Commands/ConfigParameterValueType.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,13 @@ public enum ConfigParameterValueType
2828
/// <summary>
2929
/// The value is a date time.
3030
/// </summary>
31-
DateTime = 3
31+
DateTime = 3,
3232

33+
/// <summary>
34+
/// The value is a selected value from a list of values.
35+
/// </summary>
3336

37+
SelectedValue = 4
3438

3539
}
3640
}

Src/CodeFactoryForWindows/CodeFactory.WinVs/Commands/ConfigProject.cs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public class ConfigProject:PropertyChangedBase,IConfigGuidance
2424
private ObservableCollection<ConfigParameter> _parameters = new ObservableCollection<ConfigParameter>();
2525
private string _guidance;
2626
private string _guidanceUrl;
27+
private bool _required = false;
2728

2829
/// <summary>
2930
/// The configuration name assigned to the project.
@@ -46,9 +47,19 @@ public string ProjectName
4647
}
4748

4849
/// <summary>
49-
/// ConfigFolder that are part of the project.
50+
/// Flag that determines if the project is required in order for the automation to run.
5051
/// </summary>
5152
[Key(2)]
53+
public bool Required
54+
{
55+
get => _required;
56+
set { _required = value; OnPropertyChanged(); }
57+
}
58+
59+
/// <summary>
60+
/// ConfigFolder that are part of the project.
61+
/// </summary>
62+
[Key(3)]
5263
public ObservableCollection<ConfigFolder> Folders
5364
{
5465
get => _folders;
@@ -58,7 +69,7 @@ public ObservableCollection<ConfigFolder> Folders
5869
/// <summary>
5970
/// Parameters that are assigned to the project.
6071
/// </summary>
61-
[Key(3)]
72+
[Key(4)]
6273
public ObservableCollection<ConfigParameter> Parameters
6374
{
6475
get => _parameters;
@@ -68,7 +79,7 @@ public ObservableCollection<ConfigParameter> Parameters
6879
/// <summary>
6980
/// Instructions for what data is to go into the configuration.
7081
/// </summary>
71-
[Key(4)]
82+
[Key(5)]
7283
public string Guidance
7384
{
7485
get => _guidance;
@@ -78,7 +89,7 @@ public string Guidance
7889
/// <summary>
7990
/// The url to external guidance that explains the configuration element.
8091
/// </summary>
81-
[Key(5)]
92+
[Key(6)]
8293
public string GuidanceUrl
8394
{
8495
get => _guidanceUrl;

0 commit comments

Comments
 (0)