aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml8
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/DispenserTemplate.xaml46
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs12
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/SideChains/Tango.AutoComplete/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs27
-rw-r--r--Software/Visual_Studio/Tango.BL/EntitiesExtensions/BrushStop.cs19
-rw-r--r--Software/Visual_Studio/Tango.BL/EntitiesExtensions/Job.cs2
-rw-r--r--Software/Visual_Studio/Tango.BL/LiquidVolume.cs14
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs21
-rw-r--r--Software/Visual_Studio/Tango.BL/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.ColorPicker/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Core/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.DAL.Local/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.DragAndDrop/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Editors/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs3
-rw-r--r--Software/Visual_Studio/Tango.Integration/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Logging/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.PMR/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Protobuf/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/DbManager.cs37
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs60
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationType.cs3
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerDataReport.cs8
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerProcess.cs8
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSchemaReport.cs8
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xmlbin78756 -> 78698 bytes
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/ProvisionMachine.xmlbin58174 -> 58116 bytes
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/Schema.xmlbin6660 -> 6602 bytes
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/UpdateTwineDB.xmlbin0 -> 25170 bytes
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj3
-rw-r--r--Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Serialization/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Settings/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Synchronization/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.TFS/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.Transport/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.UnitTesting/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Tango.UnitTesting/SQLExaminer_TST.cs143
-rw-r--r--Software/Visual_Studio/Tango.Video/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DBObservablesGenerator.CLI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/Utilities/Tango.Protobuf.CLI/Properties/AssemblyInfo.cs2
53 files changed, 371 insertions, 123 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
index 6d10e910e..1b96b27ce 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
@@ -753,7 +753,11 @@
<TextBlock VerticalAlignment="Center" Margin="40 0 0 0" FontSize="16" FontStyle="Italic" Foreground="Gray">
<Run>Total:</Run>
- <Run Text="{Binding LiquidVolumesSum,Mode=OneWay,StringFormat=0}"></Run>
+ <Run Text="{Binding TotalLiquidVolume,Mode=OneWay,StringFormat=0}"></Run><Run>%</Run>
+ <Run>(</Run>
+ <Run FontSize="10" Text="{Binding TotalLiquidNanoliterPerCentimeter,Mode=OneWay,StringFormat=0.00}"></Run>
+ <Run FontSize="12">nl</Run>
+ <Run>)</Run>
</TextBlock>
</StackPanel>
</Setter.Value>
@@ -1000,7 +1004,7 @@
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock VerticalAlignment="Center">
- <Run Text="{Binding IdsPack.DispenserType.NlPerPulse,StringFormat='0.0'}"></Run>
+ <Run Text="{Binding IdsPack.DispenserType.NlPerPulse,StringFormat='0.00'}"></Run>
<Run Text="(nl)" FontSize="9" Foreground="Gray"></Run>
</TextBlock>
</DataTemplate>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs
index e02b63000..0b487828b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Logging Module")]
-[assembly: AssemblyVersion("2.0.12.1034")]
+[assembly: AssemblyVersion("2.0.13.1537")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml
index f1ead0cad..81ddfd184 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml
@@ -241,7 +241,7 @@
<!--Content-->
<Grid>
<Border Margin="0 0 0 -23" VerticalAlignment="Bottom">
- <TextBlock Text="{Binding TechDispenser.Description}" FontSize="14" Foreground="DimGray" HorizontalAlignment="Center"></TextBlock>
+ <TextBlock Text="{Binding DisplayName}" FontSize="14" Foreground="DimGray" HorizontalAlignment="Center"></TextBlock>
</Border>
</Grid>
<!--Content-->
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml.cs
index ca686d3e2..037e29b57 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml.cs
@@ -117,24 +117,28 @@ namespace Tango.MachineStudio.Technician.Editors
private void OnForwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
DispenserItem.RaiseAction(MotorActionType.ForwardPressed);
AnimateRight();
}
private void OnForwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
DispenserItem.RaiseAction(MotorActionType.ForwardReleased);
StopAnimation();
}
private void OnBackwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
DispenserItem.RaiseAction(MotorActionType.BackwardPressed);
AnimateLeft();
}
private void OnBackwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
DispenserItem.RaiseAction(MotorActionType.BackwardReleased);
StopAnimation();
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml.cs
index da65b9ab4..625473521 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml.cs
@@ -117,24 +117,28 @@ namespace Tango.MachineStudio.Technician.Editors
private void OnForwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
MotorItem.RaiseAction(MotorActionType.ForwardPressed);
AnimateRight();
}
private void OnForwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
MotorItem.RaiseAction(MotorActionType.ForwardReleased);
StopAnimation();
}
private void OnBackwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
MotorItem.RaiseAction(MotorActionType.BackwardPressed);
AnimateLeft();
}
private void OnBackwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
MotorItem.RaiseAction(MotorActionType.BackwardReleased);
StopAnimation();
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml.cs
index eaee03c2b..5d9954605 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml.cs
@@ -118,24 +118,28 @@ namespace Tango.MachineStudio.Technician.Editors
private void OnForwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
MotorGroupItem.RaiseAction(MotorActionType.ForwardPressed);
AnimateRight();
}
private void OnForwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
MotorGroupItem.RaiseAction(MotorActionType.ForwardReleased);
StopAnimation();
}
private void OnBackwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
MotorGroupItem.RaiseAction(MotorActionType.BackwardPressed);
AnimateLeft();
}
private void OnBackwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
MotorGroupItem.RaiseAction(MotorActionType.BackwardReleased);
StopAnimation();
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml.cs
index f5565a796..6de37f3a2 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml.cs
@@ -105,24 +105,28 @@ namespace Tango.MachineStudio.Technician.Editors
private void OnForwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
ThreadMotionItem.RaiseAction(MotorActionType.ForwardPressed);
AnimateRight();
}
private void OnForwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
ThreadMotionItem.RaiseAction(MotorActionType.ForwardReleased);
StopAnimation();
}
private void OnBackwardPressed(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).CaptureMouse();
ThreadMotionItem.RaiseAction(MotorActionType.BackwardPressed);
AnimateLeft();
}
private void OnBackwardReleased(object sender, MouseButtonEventArgs e)
{
+ (e.Source as FrameworkElement).ReleaseMouseCapture();
ThreadMotionItem.RaiseAction(MotorActionType.BackwardReleased);
StopAnimation();
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/DispenserTemplate.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/DispenserTemplate.xaml
index df9ebbd4e..d9c0a23e9 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/DispenserTemplate.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/DispenserTemplate.xaml
@@ -30,50 +30,10 @@
<StackPanel>
<TextBlock FontSize="10">Selected Dispenser</TextBlock>
<ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.TechDispensers}" SelectedItem="{Binding TechDispenser,Mode=TwoWay}" DisplayMemberPath="Description" />
- </StackPanel>
- </GroupBox>
- <GroupBox Header="PARAMETERS" Margin="0 10 0 0">
- <editors:ParameterizedEditor ParameterizedObject="{Binding DispenserType}" Padding="10">
- <editors:ParameterizedEditor.ItemsPanel>
- <ItemsPanelTemplate>
- <StackPanel></StackPanel>
- </ItemsPanelTemplate>
- </editors:ParameterizedEditor.ItemsPanel>
- <editors:ParameterizedEditor.DoubleTemplate>
- <DataTemplate>
- <DockPanel>
- <mahApps:NumericUpDown DockPanel.Dock="Right" Background="Transparent" BorderThickness="0 0 0 0" Value="{Binding Value,UpdateSourceTrigger=PropertyChanged}" HasDecimals="True" HorizontalContentAlignment="Center" Width="100" />
- <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
- </DockPanel>
- </DataTemplate>
- </editors:ParameterizedEditor.DoubleTemplate>
- <editors:ParameterizedEditor.Int32Template>
- <DataTemplate>
- <DockPanel>
- <DockPanel.Style>
- <Style TargetType="DockPanel">
- <Style.Triggers>
- <DataTrigger Binding="{Binding Name}" Value="Code">
- <Setter Property="Visibility" Value="Collapsed"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </DockPanel.Style>
- <mahApps:NumericUpDown DockPanel.Dock="Right" Background="Transparent" BorderThickness="0 0 0 0" Value="{Binding Value,Converter={StaticResource DoubleToIntConverter},UpdateSourceTrigger=PropertyChanged}" HasDecimals="False" HorizontalContentAlignment="Center" Width="100" />
- <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
- </DockPanel>
- </DataTemplate>
- </editors:ParameterizedEditor.Int32Template>
- <editors:ParameterizedEditor.BooleanTemplate>
- <DataTemplate>
- <DockPanel Margin="0 5 0 0">
- <ToggleButton DockPanel.Dock="Right" Width="100" IsChecked="{Binding Value}" HorizontalAlignment="Right" />
- <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock>
- </DockPanel>
- </DataTemplate>
- </editors:ParameterizedEditor.BooleanTemplate>
- </editors:ParameterizedEditor>
+ <TextBlock FontSize="10" Margin="0 30 0 0">Display Name</TextBlock>
+ <TextBox Margin="0 5 0 0" Text="{Binding DisplayName,UpdateSourceTrigger=PropertyChanged}" />
+ </StackPanel>
</GroupBox>
<GroupBox Header="COLOR" Margin="0 10 0 0">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs
index 573e497d5..5acb2e7e5 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs
@@ -63,6 +63,7 @@ namespace Tango.MachineStudio.Technician.TechItems
if (_techDispenser != null)
{
DispenserType = DispenserTypes.SingleOrDefault(x => x.Code == int.Parse(_techDispenser.Name.Replace("Dispenser", "")) - 1);
+ DisplayName = _techDispenser.Description;
}
}
}
@@ -149,6 +150,16 @@ namespace Tango.MachineStudio.Technician.TechItems
set { _speed = value; RaisePropertyChangedAuto(); }
}
+ private String _displayName;
+ /// <summary>
+ /// Gets or sets the display name.
+ /// </summary>
+ public String DisplayName
+ {
+ get { return _displayName; }
+ set { _displayName = value; RaisePropertyChangedAuto(); }
+ }
+
/// <summary>
/// Initializes a new instance of the <see cref="DispenserItem"/> class.
/// </summary>
@@ -178,6 +189,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
DispenserItem cloned = base.Clone() as DispenserItem;
cloned.TechDispenser = TechDispenser;
+ cloned.DisplayName = DisplayName;
return cloned;
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs
index a8f1af061..922153823 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Common Components")]
-[assembly: AssemblyVersion("2.0.20.1034")]
+[assembly: AssemblyVersion("2.0.21.1537")]
[assembly: ComVisible(false)]
[assembly:ThemeInfo(
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs
index 75102be4c..15363eae9 100644
--- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs
@@ -51,5 +51,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.15.1034")]
+[assembly: AssemblyVersion("1.0.16.1537")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Software/Visual_Studio/SideChains/Tango.AutoComplete/Properties/AssemblyInfo.cs b/Software/Visual_Studio/SideChains/Tango.AutoComplete/Properties/AssemblyInfo.cs
index 17c46f230..8564cf502 100644
--- a/Software/Visual_Studio/SideChains/Tango.AutoComplete/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/SideChains/Tango.AutoComplete/Properties/AssemblyInfo.cs
@@ -49,5 +49,5 @@ using System.Windows.Markup;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.15.1034")]
+[assembly: AssemblyVersion("1.0.16.1537")]
[assembly: AssemblyFileVersion("1.0.0.8")]
diff --git a/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs b/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs
index 81c0179db..15e9b69d9 100644
--- a/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs
+++ b/Software/Visual_Studio/Tango.BL/Dispensing/TransparentLiquidDispensingCalc.cs
@@ -16,6 +16,27 @@ namespace Tango.BL.Dispensing
public class TransparentLiquidDispensingCalc : DispensingCalcBase
{
/// <summary>
+ /// Calculates the required nanoliter per centimeter.
+ /// </summary>
+ /// <param name="liquidVolume">The liquid volume.</param>
+ /// <returns></returns>
+ public override double CalculateNanoliterPerCentimeter(LiquidVolume liquidVolume)
+ {
+ if (liquidVolume.Configuration != null && liquidVolume.RML != null && liquidVolume.ProcessParametersTable != null)
+ {
+ double nlPcmSum = liquidVolume.BrushStop.LiquidVolumes.Where(x => (IdsPackFormulas)x.IdsPack.IdsPackFormula.Code == IdsPackFormulas.StandardColor).Sum(x => x.NanoliterPerCentimeter);
+ double minInkUptake = liquidVolume.ProcessParametersTable.MinInkUptake;
+ double virtual_volume = Math.Max(0, minInkUptake - nlPcmSum);
+ return virtual_volume;
+ //(liquidVolume.Volume / 100d) * (Math.Min(liquidVolume.LiquidMaxNanoliterPerCentimeter, liquidVolume.ProcessParametersTable.MinInkUptake));
+ }
+ else
+ {
+ return 0d;
+ }
+ }
+
+ /// <summary>
/// Coerces the specified liquid volume.
/// </summary>
/// <param name="liquidVolume">The liquid volume.</param>
@@ -25,9 +46,9 @@ namespace Tango.BL.Dispensing
if (liquidVolume.ProcessParametersTable != null)
{
double nlPcmSum = liquidVolume.BrushStop.LiquidVolumes.Where(x => (IdsPackFormulas)x.IdsPack.IdsPackFormula.Code == IdsPackFormulas.StandardColor).Sum(x => x.NanoliterPerCentimeter);
- double minInkUpdate = liquidVolume.ProcessParametersTable.MinInkUptake;
- double volume = ((minInkUpdate - nlPcmSum) / minInkUpdate) * 100d;
- return Math.Max(volume, 0);
+ double minInkUptake = liquidVolume.ProcessParametersTable.MinInkUptake;
+ double volume = ((liquidVolume.LiquidMaxNanoliterPerCentimeter - nlPcmSum) / liquidVolume.LiquidMaxNanoliterPerCentimeter) * 100d;
+ return Math.Max(100d - liquidVolume.BrushStop.LiquidVolumes.Where(x => (IdsPackFormulas)x.IdsPack.IdsPackFormula.Code == IdsPackFormulas.StandardColor).Sum(x => x.Volume), 0);
}
else
{
diff --git a/Software/Visual_Studio/Tango.BL/EntitiesExtensions/BrushStop.cs b/Software/Visual_Studio/Tango.BL/EntitiesExtensions/BrushStop.cs
index 25b9c1764..c99efb802 100644
--- a/Software/Visual_Studio/Tango.BL/EntitiesExtensions/BrushStop.cs
+++ b/Software/Visual_Studio/Tango.BL/EntitiesExtensions/BrushStop.cs
@@ -240,7 +240,7 @@ namespace Tango.BL.Entities
}
[NotMapped]
- public double LiquidVolumesSum
+ public double TotalLiquidVolume
{
get
{
@@ -248,6 +248,15 @@ namespace Tango.BL.Entities
}
}
+ [NotMapped]
+ public double TotalLiquidNanoliterPerCentimeter
+ {
+ get
+ {
+ return LiquidVolumes != null ? LiquidVolumes.Where(x => x.IdsPack.IdsPackFormula.Code != IdsPackFormulas.Lubricant.ToInt32()).Sum(x => x.NanoliterPerCentimeter) : 0;
+ }
+ }
+
#endregion
#region Public Methods
@@ -285,7 +294,8 @@ namespace Tango.BL.Entities
private void LiquidVolume_VolumeChanged()
{
RaisePropertyChanged(nameof(IsLiquidVolumesOutOfRange));
- RaisePropertyChanged(nameof(LiquidVolumesSum));
+ RaisePropertyChanged(nameof(TotalLiquidVolume));
+ RaisePropertyChanged(nameof(TotalLiquidNanoliterPerCentimeter));
}
public double GetVolume(int packIndex)
@@ -361,6 +371,11 @@ namespace Tango.BL.Entities
BrushStop cloned = base.Clone();
cloned.Segment = segment;
cloned.SegmentGuid = segment.Guid;
+
+ if (LiquidVolumes != null && LiquidVolumes.Count > 0)
+ {
+ cloned.LiquidVolumes = LiquidVolumes.Select(x => x.Clone(this)).ToObservableCollection();
+ }
return cloned;
}
diff --git a/Software/Visual_Studio/Tango.BL/EntitiesExtensions/Job.cs b/Software/Visual_Studio/Tango.BL/EntitiesExtensions/Job.cs
index 92ba204f2..fb7298957 100644
--- a/Software/Visual_Studio/Tango.BL/EntitiesExtensions/Job.cs
+++ b/Software/Visual_Studio/Tango.BL/EntitiesExtensions/Job.cs
@@ -426,7 +426,7 @@ namespace Tango.BL.Entities
/// </summary>
public Segment AddGradientSegment()
{
- return AddSolidSegment(10);
+ return AddGradientSegment(10);
}
/// <summary>
diff --git a/Software/Visual_Studio/Tango.BL/LiquidVolume.cs b/Software/Visual_Studio/Tango.BL/LiquidVolume.cs
index a9cf64df5..d039def39 100644
--- a/Software/Visual_Studio/Tango.BL/LiquidVolume.cs
+++ b/Software/Visual_Studio/Tango.BL/LiquidVolume.cs
@@ -126,13 +126,15 @@ namespace Tango.BL
{
List<LiquidTypesRml> factors = Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex).Select(x => x.LiquidType).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == RML.Guid).ToList();
- if (BrushStop.LiquidVolumes.IndexOf(this) > factors.Count - 1)
+ int index = BrushStop.LiquidVolumes.IndexOf(this);
+
+ if (index > factors.Count - 1 || index < 0)
{
return 0d;
}
else
{
- return factors[BrushStop.LiquidVolumes.IndexOf(this)].MaxNlPerCm;
+ return factors[index].MaxNlPerCm;
}
}
else
@@ -168,5 +170,13 @@ namespace Tango.BL
return DispensingCalcService.CalculatePulsePerSecond(this);
}
}
+
+ public LiquidVolume Clone(BrushStop stop)
+ {
+ LiquidVolume cloned = new LiquidVolume(Configuration, IdsPack, RML, ProcessParametersTable, stop);
+ cloned.DispenserStepDivision = DispenserStepDivision;
+ cloned.Volume = Volume;
+ return cloned;
+ }
}
}
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
index e3575bfdc..bff778eec 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
@@ -22,7 +22,7 @@ namespace Tango.BL
/// </summary>
/// <param name="path">The server file path.</param>
/// <param name="isFile">if set to <c>true</c> will try to connect to an .mdf file.</param>
- public ObservablesContext(String path) : base(ComposeConnectionString(path))
+ public ObservablesContext(String path, String dbName) : base(ComposeConnectionString(path, dbName))
{
Database.SetInitializer<ObservablesContext>(null);
}
@@ -42,15 +42,15 @@ namespace Tango.BL
/// <param name="source">The source.</param>
/// <param name="isFile">if set to <c>true</c> [is file].</param>
/// <returns></returns>
- private static String ComposeConnectionString(String source)
+ private static String ComposeConnectionString(String source, String dbName)
{
if (!File.Exists(source))
{
- return String.Format("Data Source={0};Initial Catalog=Tango;Integrated Security=True;", source);
+ return String.Format("Data Source={0};Initial Catalog={1};Integrated Security=True;", source, dbName);
}
else
{
- return String.Format("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFileName={0};Initial Catalog=Tango;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework", Path.GetFullPath(source));
+ return String.Format("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFileName={0};Initial Catalog={1};Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework", Path.GetFullPath(source), dbName);
}
}
@@ -65,7 +65,7 @@ namespace Tango.BL
}
/// <summary>
- /// Creates a default remote database context by the address specified in <see cref="SettingsManager.Default.DataBase.SQLServerAddress" />.
+ /// Creates a default remote database context.
/// </summary>
/// <returns></returns>
public static ObservablesContext CreateDefault(String dataSource)
@@ -83,11 +83,20 @@ namespace Tango.BL
}
else
{
- return new ObservablesContext(source);
+ return new ObservablesContext(source, "Tango");
}
}
/// <summary>
+ /// Creates a default remote database context.
+ /// </summary>
+ /// <returns></returns>
+ public static ObservablesContext CreateDefault(String address, String database)
+ {
+ return new ObservablesContext(address, database);
+ }
+
+ /// <summary>
/// Saves all changes made in this context to the underlying database.
/// </summary>
/// <returns>
diff --git a/Software/Visual_Studio/Tango.BL/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.BL/Properties/AssemblyInfo.cs
index 49a366cce..37c2815fb 100644
--- a/Software/Visual_Studio/Tango.BL/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.BL/Properties/AssemblyInfo.cs
@@ -4,4 +4,4 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Business logic components")]
[assembly: ComVisible(false)]
-[assembly: AssemblyVersion("2.0.25.1347")] \ No newline at end of file
+[assembly: AssemblyVersion("2.0.26.1537")] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.CodeGeneration/Properties/AssemblyInfo.cs
index 13ef2c4e3..95bca0736 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Code Generation Components")]
-[assembly: AssemblyVersion("2.0.12.1034")]
+[assembly: AssemblyVersion("2.0.13.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.ColorPicker/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.ColorPicker/Properties/AssemblyInfo.cs
index e34a9f2b8..01bba5794 100644
--- a/Software/Visual_Studio/Tango.ColorPicker/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.ColorPicker/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Color Picker Control")]
-[assembly: AssemblyVersion("2.0.15.1034")]
+[assembly: AssemblyVersion("2.0.16.1537")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/Tango.Core/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Core/Properties/AssemblyInfo.cs
index 794acfeef..70f8ae295 100644
--- a/Software/Visual_Studio/Tango.Core/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Core/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Core Components")]
-[assembly: AssemblyVersion("2.0.24.1034")]
+[assembly: AssemblyVersion("2.0.25.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Local/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.DAL.Local/Properties/AssemblyInfo.cs
index a1333931c..c8be9e57f 100644
--- a/Software/Visual_Studio/Tango.DAL.Local/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.DAL.Local/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Local Data Access Layer")]
-[assembly: AssemblyVersion("2.0.12.1034")]
+[assembly: AssemblyVersion("2.0.13.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs
index f33c1f8ee..4f9422b48 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Remote Data Access Layer")]
-[assembly: AssemblyVersion("2.0.23.1034")]
+[assembly: AssemblyVersion("2.0.24.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DragAndDrop/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.DragAndDrop/Properties/AssemblyInfo.cs
index edff0e8c7..9d41c75b9 100644
--- a/Software/Visual_Studio/Tango.DragAndDrop/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.DragAndDrop/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Drag & Drop Components")]
-[assembly: AssemblyVersion("2.0.21.1034")]
+[assembly: AssemblyVersion("2.0.22.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Editors/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Editors/Properties/AssemblyInfo.cs
index a2f38b0fe..e492c7c5d 100644
--- a/Software/Visual_Studio/Tango.Editors/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Editors/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Visual Diagram Editing Components")]
-[assembly: AssemblyVersion("2.0.15.1034")]
+[assembly: AssemblyVersion("2.0.16.1537")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index 984c4e7fe..4c8b0c20e 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -810,9 +810,10 @@ namespace Tango.Integration.Operation
{
if (!(ex is ContinuousResponseAbortedException))
{
+ Status = MachineStatuses.ReadyToDye;
+
if (!handler.IsCanceled)
{
- Status = MachineStatuses.ReadyToDye;
PrintingFailed?.Invoke(this, new PrintingFailedEventArgs(handler, originalJob, ex));
handler.RaiseFailed(ex);
LogRequestFailed(request, ex);
diff --git a/Software/Visual_Studio/Tango.Integration/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Integration/Properties/AssemblyInfo.cs
index fc3c0cf66..83203f96a 100644
--- a/Software/Visual_Studio/Tango.Integration/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Integration/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Logging Library")]
-[assembly: AssemblyVersion("2.0.22.1034")]
+[assembly: AssemblyVersion("2.0.23.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Logging/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Logging/Properties/AssemblyInfo.cs
index b8012e703..3cc652d93 100644
--- a/Software/Visual_Studio/Tango.Logging/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Logging/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Logging Library")]
-[assembly: AssemblyVersion("2.0.28.1034")]
+[assembly: AssemblyVersion("2.0.29.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.PMR/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.PMR/Properties/AssemblyInfo.cs
index 7c462261f..139f3996c 100644
--- a/Software/Visual_Studio/Tango.PMR/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.PMR/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Protobuf Message Repository")]
-[assembly: AssemblyVersion("2.0.28.1347")]
+[assembly: AssemblyVersion("2.0.29.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Protobuf/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Protobuf/Properties/AssemblyInfo.cs
index cefc51a37..9d199f73e 100644
--- a/Software/Visual_Studio/Tango.Protobuf/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Protobuf/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Protobuf Components")]
-[assembly: AssemblyVersion("2.0.24.1034")]
+[assembly: AssemblyVersion("2.0.25.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/DbManager.cs b/Software/Visual_Studio/Tango.SQLExaminer/DbManager.cs
index 1407ba37f..21c6af4b8 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/DbManager.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/DbManager.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -29,7 +30,7 @@ namespace Tango.SQLExaminer
public void Create(String name)
{
EnsureOpen();
- String command = String.Format("CREATE DATABASE '{0}'", name);
+ String command = String.Format("CREATE DATABASE {0}", name);
SqlCommand cmd = new SqlCommand(command, _connection);
cmd.ExecuteNonQuery();
}
@@ -61,7 +62,7 @@ namespace Tango.SQLExaminer
public void Delete(String name)
{
EnsureOpen();
- String command = String.Format("DROP DATABASE '{0}'", name);
+ String command = String.Format("DROP DATABASE {0}", name);
SqlCommand cmd = new SqlCommand(command, _connection);
cmd.ExecuteNonQuery();
}
@@ -69,7 +70,7 @@ namespace Tango.SQLExaminer
public void SetOffline(String name)
{
EnsureOpen();
- String command = String.Format("ALTER DATABASE '{0}' SET OFFLINE WITH ROLLBACK IMMEDIATE", name);
+ String command = String.Format("ALTER DATABASE {0} SET OFFLINE WITH ROLLBACK IMMEDIATE", name);
SqlCommand cmd = new SqlCommand(command, _connection);
cmd.ExecuteNonQuery();
}
@@ -77,9 +78,37 @@ namespace Tango.SQLExaminer
public void SetOnline(String name)
{
EnsureOpen();
- String command = String.Format("ALTER DATABASE '{0}' SET ONLINE", name);
+ String command = String.Format("ALTER DATABASE {0} SET ONLINE", name);
SqlCommand cmd = new SqlCommand(command, _connection);
cmd.ExecuteNonQuery();
}
+
+ public void CloneDB(String sourceDb, String backupPath, String targetDb, String targetMdf, String targetLdf)
+ {
+ EnsureOpen();
+
+ String command = String.Format("BACKUP DATABASE {0} TO DISK = '{1}' WITH INIT", sourceDb, backupPath);
+ SqlCommand cmd = new SqlCommand(command, _connection);
+ cmd.ExecuteNonQuery();
+
+ command = String.Format("RESTORE FILELISTONLY FROM DISK='{0}'", backupPath);
+ cmd = new SqlCommand(command, _connection);
+
+ List<String> logical_names = new List<string>();
+
+ using (var reader = cmd.ExecuteReader())
+ {
+ while (reader.Read())
+ {
+ logical_names.Add(reader.GetString(reader.GetOrdinal("LogicalName")));
+ }
+ }
+
+ command = String.Format("RESTORE DATABASE {0} FROM DISK='{1}' WITH MOVE '{2}' TO '{3}', MOVE '{4}' TO '{5}'", targetDb, backupPath, logical_names[0], targetMdf, logical_names[1], targetLdf);
+ cmd = new SqlCommand(command, _connection);
+ cmd.ExecuteNonQuery();
+
+ File.Delete(backupPath);
+ }
}
}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs
index bb1887877..aa75b9577 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs
@@ -26,43 +26,49 @@ namespace Tango.SQLExaminer
public ExaminerConfigurationBuilder SetSourceServer(String address, String databaseName, bool integratedSecurity = true, String userName = null, String password = null)
{
- var ds = new DataSource()
+ DataSource d1 = _config.DataSources.SingleOrDefault(x => x.ID == 1);
+
+ if (d1 == null)
{
- ID = 1,
- DataBase = databaseName,
- Server = address,
- UserName = userName,
- Password = password,
- };
+ d1 = new DataSource();
+ _config.DataSources.Add(d1);
+ }
+
+ d1.ID = 1;
+ d1.DataBase = databaseName;
+ d1.Server = address;
+ d1.UserName = userName;
+ d1.Password = password;
if (integratedSecurity)
{
- ds.IntegratedSecurity = "True";
+ d1.IntegratedSecurity = "True";
}
- _config.DataSources.Add(ds);
-
return this;
}
public ExaminerConfigurationBuilder SetTargetServer(String address, String databaseName, bool integratedSecurity = true, String userName = null, String password = null)
{
- var ds = new DataSource()
+ DataSource d2 = _config.DataSources.SingleOrDefault(x => x.ID == 2);
+
+ if (d2 == null)
{
- ID = 2,
- DataBase = databaseName,
- Server = address,
- UserName = userName,
- Password = password,
- };
+ d2 = new DataSource();
+ _config.DataSources.Add(d2);
+ }
+
+ d2.ID = 2;
+ d2.DataBase = databaseName;
+ d2.Server = address;
+ d2.UserName = userName;
+ d2.Password = password;
if (integratedSecurity)
{
- ds.IntegratedSecurity = "True";
+ d2.IntegratedSecurity = "True";
}
- _config.DataSources.Add(ds);
-
return this;
}
@@ -85,6 +91,20 @@ namespace Tango.SQLExaminer
return this;
}
+ public ExaminerConfigurationBuilder Synchronize()
+ {
+ var sync_action = _config.Actions.SingleOrDefault(x => x.Type == "synchronize");
+ if (sync_action == null)
+ {
+ _config.Actions.Add(new Action()
+ {
+ Type = "synchronize"
+ });
+ }
+
+ return this;
+ }
+
public ExaminerConfigurationBuilder SetReportFile(String path)
{
var Report_action = _config.Actions.SingleOrDefault(x => x.Type == "report");
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationType.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationType.cs
index 86fc70edd..d6f76018d 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationType.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationType.cs
@@ -10,6 +10,7 @@ namespace Tango.SQLExaminer
{
Schema,
OverrideData,
- ProvisionMachine
+ ProvisionMachine,
+ UpdateTwineDB,
}
}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerDataReport.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerDataReport.cs
index 333b31202..e15f2c968 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerDataReport.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerDataReport.cs
@@ -31,5 +31,13 @@ namespace Tango.SQLExaminer
Summary = new List<CompareTable>();
Details = new List<CompareTable>();
}
+
+ public bool HasDifferences
+ {
+ get
+ {
+ return Summary.Any(x => x.State == "Different");
+ }
+ }
}
}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerProcess.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerProcess.cs
index 8ec05c1e4..2cc93b138 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerProcess.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerProcess.cs
@@ -4,6 +4,7 @@ using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core.IO;
namespace Tango.SQLExaminer
{
@@ -21,6 +22,13 @@ namespace Tango.SQLExaminer
ProcessType = type;
}
+ public ExaminerProcess(ExaminerConfiguration configuration, ExaminerProcessType type)
+ {
+ ConfigurationFile = TemporaryManager.Default.CreateFile();
+ configuration.ToFile(ConfigurationFile);
+ ProcessType = type;
+ }
+
public Task<ExaminerProcessResult> Execute()
{
return Task.Factory.StartNew<ExaminerProcessResult>(() =>
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSchemaReport.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSchemaReport.cs
index de983f692..5046a8cdf 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSchemaReport.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSchemaReport.cs
@@ -23,5 +23,13 @@ namespace Tango.SQLExaminer
Sources = new List<ReportSource>();
DbObjects = new List<ReportDbObject>();
}
+
+ public bool HasDifferences
+ {
+ get
+ {
+ return DbObjects.Exists(x => !String.IsNullOrWhiteSpace(x.DifferIn) || x.Lines.Any(y => y.Status != "equal"));
+ }
+ }
}
}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
index 066807077..3ec2890f9 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
+++ b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
Binary files differ
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/ProvisionMachine.xml b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/ProvisionMachine.xml
index c2e57e4db..6c707578b 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/ProvisionMachine.xml
+++ b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/ProvisionMachine.xml
Binary files differ
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/Schema.xml b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/Schema.xml
index c399ec620..d0f7ca478 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/Schema.xml
+++ b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/Schema.xml
Binary files differ
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/UpdateTwineDB.xml b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/UpdateTwineDB.xml
new file mode 100644
index 000000000..97bf77ee5
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/UpdateTwineDB.xml
Binary files differ
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj b/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj
index 716278e71..7049b87a7 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj
+++ b/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj
@@ -96,6 +96,9 @@
<Content Include="SQLExaminer\Configurations\Schema.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="SQLExaminer\Configurations\UpdateTwineDB.xml">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="SQLExaminer\Interop.MSDASC.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
diff --git a/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs
index 323d6dcbd..a30b3b6c0 100644
--- a/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Roslyn Scripting Components")]
-[assembly: AssemblyVersion("2.0.21.1034")]
+[assembly: AssemblyVersion("2.0.22.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Serialization/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Serialization/Properties/AssemblyInfo.cs
index acce511c1..84f44c52f 100644
--- a/Software/Visual_Studio/Tango.Serialization/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Serialization/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Serialization Components")]
-[assembly: AssemblyVersion("2.0.23.1034")]
+[assembly: AssemblyVersion("2.0.24.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Settings/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Settings/Properties/AssemblyInfo.cs
index 34ccc7166..6a8c15230 100644
--- a/Software/Visual_Studio/Tango.Settings/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Settings/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Global Settings")]
-[assembly: AssemblyVersion("2.0.23.1034")]
+[assembly: AssemblyVersion("2.0.24.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.SharedUI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.SharedUI/Properties/AssemblyInfo.cs
index 5651badea..eceecb3ab 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.SharedUI/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Shared UI Components")]
-[assembly: AssemblyVersion("2.0.21.1034")]
+[assembly: AssemblyVersion("2.0.22.1537")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/Tango.Synchronization/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Synchronization/Properties/AssemblyInfo.cs
index 4bf1ca1e6..120cfae21 100644
--- a/Software/Visual_Studio/Tango.Synchronization/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Synchronization/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - DataBase Synchronization Components")]
-[assembly: AssemblyVersion("2.0.12.1034")]
+[assembly: AssemblyVersion("2.0.13.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.TFS/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.TFS/Properties/AssemblyInfo.cs
index 4bc907b9a..03a3aa326 100644
--- a/Software/Visual_Studio/Tango.TFS/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.TFS/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - VSTS API Library")]
-[assembly: AssemblyVersion("2.0.14.1034")]
+[assembly: AssemblyVersion("2.0.15.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.Transport/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Transport/Properties/AssemblyInfo.cs
index a800f8c76..118e71139 100644
--- a/Software/Visual_Studio/Tango.Transport/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Transport/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Transport Components")]
-[assembly: AssemblyVersion("2.0.22.1034")]
+[assembly: AssemblyVersion("2.0.23.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.UnitTesting/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.UnitTesting/Properties/AssemblyInfo.cs
index 6cb3427ef..2e78a70d1 100644
--- a/Software/Visual_Studio/Tango.UnitTesting/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.UnitTesting/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Unit Testing")]
-[assembly: AssemblyVersion("2.0.5.1933")]
+[assembly: AssemblyVersion("2.0.6.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.UnitTesting/SQLExaminer_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/SQLExaminer_TST.cs
index 32cd3eedb..8aa1fe5a3 100644
--- a/Software/Visual_Studio/Tango.UnitTesting/SQLExaminer_TST.cs
+++ b/Software/Visual_Studio/Tango.UnitTesting/SQLExaminer_TST.cs
@@ -7,6 +7,8 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.BL;
+using Tango.BL.Entities;
using Tango.Core.IO;
using Tango.SQLExaminer;
@@ -173,6 +175,9 @@ namespace Tango.UnitTesting
public void Perform_Full_DataBase_Cycle()
{
String temp_folder = Helper.GetTempFolderPath();
+ String report_file = Path.Combine(temp_folder, "report.xml");
+ String config_file = Path.Combine(temp_folder, "config.xml");
+ String machine_serial_number = "1111";
String tango_db = "Tango";
String source_db = "Source_DB_Test";
@@ -181,28 +186,146 @@ namespace Tango.UnitTesting
DbManager db = new DbManager(new SqlConnection("Server=localhost\\SQLEXPRESS;Integrated security=SSPI"));
Assert.IsTrue(db.Exists("Tango"), "Database Tango does not exists.");
- Assert.IsFalse(db.Exists(source_db), source_db + " already exists.");
- Assert.IsFalse(db.Exists(target_db), target_db + " already exists.");
+ if (db.Exists(source_db))
+ {
+ db.Delete(source_db);
+ }
+
+ if (db.Exists(target_db))
+ {
+ db.Delete(target_db);
+ }
- db.Create(source_db);
+ Assert.IsFalse(db.Exists(source_db), source_db + " exists.");
+ Assert.IsFalse(db.Exists(target_db), target_db + " exists.");
+
+ //Clone Tango DB to SourceDB
+ db.CloneDB(
+ "Tango",
+ Path.Combine(temp_folder, "Tango.bak"),
+ source_db,
+ Path.Combine(temp_folder, "Source_DB_Test.mdf"),
+ Path.Combine(temp_folder, "Source_DB_Test.ldf"));
+
+ //Create target database
db.Create(target_db);
+ //Create schema configuration
ExaminerConfigurationBuilder builder = new ExaminerConfigurationBuilder(ExaminerConfigurationType.Schema);
builder.
- SetSourceServer("localhost\\SQLEXPRESS", tango_db).
- SetTargetServer("localhost\\SQLEXPRESS", source_db);
+ SetSourceServer("localhost\\SQLEXPRESS", source_db).
+ SetTargetServer("localhost\\SQLEXPRESS", target_db).
+ Synchronize().
+ SetReportFile(report_file);
- var config = builder.Build();
+ //Synchronize Source schema with Target schema
+ ExaminerProcessResult result = new ExaminerProcess(builder.Build(), ExaminerProcessType.Schema).Execute().Result;
- String config_path = Path.Combine(temp_folder, "schema.xml");
+ var schema_report = ExaminerSchemaReport.FromFile(report_file);
- config.ToFile(config_path);
+ //Synchronization was successful
+ Assert.AreEqual(result.ExitCode, ExaminerProcessExitCode.Success);
- ExaminerProcess process = new ExaminerProcess(config_path, ExaminerProcessType.Schema);
- var result = process.Execute().Result;
+ //Should have differences
+ Assert.IsTrue(schema_report.HasDifferences);
+
+ //Create override data configuration
+ builder = new ExaminerConfigurationBuilder(ExaminerConfigurationType.OverrideData);
+
+ builder.
+ SetSourceServer("localhost\\SQLEXPRESS", source_db).
+ SetTargetServer("localhost\\SQLEXPRESS", target_db).
+ Synchronize().
+ SetReportFile(report_file);
+
+ result = new ExaminerProcess(builder.Build(), ExaminerProcessType.Data).Execute().Result;
+
+ //Synchronization was successful
+ Assert.AreEqual(result.ExitCode, ExaminerProcessExitCode.Success);
+
+ var data_report = ExaminerDataReport.FromFile(report_file);
+
+ //Should have differences
+ Assert.IsTrue(data_report.HasDifferences);
+
+ //Provision Target
+ builder = new ExaminerConfigurationBuilder(ExaminerConfigurationType.ProvisionMachine);
+
+ builder.
+ SetSourceServer("localhost\\SQLEXPRESS", source_db).
+ SetTargetServer("localhost\\SQLEXPRESS", target_db).
+ SetMachineSerialNumber(machine_serial_number).
+ Synchronize().
+ SetReportFile(report_file);
+ result = new ExaminerProcess(builder.Build(), ExaminerProcessType.Data).Execute().Result;
+
+ //Synchronization was successful
+ Assert.AreEqual(result.ExitCode, ExaminerProcessExitCode.Success);
+
+ data_report = ExaminerDataReport.FromFile(report_file);
+
+ //Should have differences
+ Assert.IsTrue(data_report.HasDifferences);
+
+ //Check if machine exists in target
+
+ String job_guid = String.Empty;
+
+ using (var context = ObservablesContext.CreateDefault("localhost\\SQLEXPRESS", target_db))
+ {
+ context.Configuration.LazyLoadingEnabled = false;
+ Assert.IsTrue(context.Machines.Count() == 1);
+ Assert.IsTrue(context.Machines.Any(x => x.SerialNumber == machine_serial_number));
+
+ //Add new job to the target
+ Job job = new Job();
+ job.Name = "Test Job";
+ job.Machine = context.Machines.First();
+ job.Rml = context.Rmls.First();
+ job.ColorSpace = context.ColorSpaces.First();
+ job.CreationDate = DateTime.UtcNow;
+ job.Description = "Description";
+ job.SpoolType = context.SpoolTypes.First();
+ job.User = context.Users.First();
+ job.WindingMethod = context.WindingMethods.First();
+ job.AddSolidSegment();
+ job.AddGradientSegment();
+
+ context.Jobs.Add(job);
+
+ context.SaveChanges();
+
+ job_guid = job.Guid;
+
+ Assert.IsTrue(context.BrushStops.Count() == 3);
+ }
+
+ //Update new job from target to source
+ builder = new ExaminerConfigurationBuilder(ExaminerConfigurationType.UpdateTwineDB);
+
+ builder.
+ SetSourceServer("localhost\\SQLEXPRESS", target_db).
+ SetTargetServer("localhost\\SQLEXPRESS", source_db).
+ Synchronize().
+ SetReportFile(report_file);
+
+ result = new ExaminerProcess(builder.Build(), ExaminerProcessType.Data).Execute().Result;
+
+ //Synchronization was successful
Assert.AreEqual(result.ExitCode, ExaminerProcessExitCode.Success);
+
+ data_report = ExaminerDataReport.FromFile(report_file);
+
+ //Should have differences
+ Assert.IsTrue(data_report.HasDifferences);
+
+ //Check the new job exists on source..
+ using (var context = ObservablesContext.CreateDefault("localhost\\SQLEXPRESS", source_db))
+ {
+ Assert.IsTrue(context.Jobs.Any(x => x.Guid == job_guid));
+ }
}
}
}
diff --git a/Software/Visual_Studio/Tango.Video/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Video/Properties/AssemblyInfo.cs
index f8805ac55..423389e5c 100644
--- a/Software/Visual_Studio/Tango.Video/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Tango.Video/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Video Components")]
-[assembly: AssemblyVersion("2.0.15.1034")]
+[assembly: AssemblyVersion("2.0.16.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.DBObservablesGenerator.CLI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Utilities/Tango.DBObservablesGenerator.CLI/Properties/AssemblyInfo.cs
index 833d5930c..4927e8081 100644
--- a/Software/Visual_Studio/Utilities/Tango.DBObservablesGenerator.CLI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Utilities/Tango.DBObservablesGenerator.CLI/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - DAL Observables Generator")]
-[assembly: AssemblyVersion("2.0.5.1933")]
+[assembly: AssemblyVersion("2.0.6.1537")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Utilities/Tango.Protobuf.CLI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Utilities/Tango.Protobuf.CLI/Properties/AssemblyInfo.cs
index 18a7d4b6c..7eda87424 100644
--- a/Software/Visual_Studio/Utilities/Tango.Protobuf.CLI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Utilities/Tango.Protobuf.CLI/Properties/AssemblyInfo.cs
@@ -3,5 +3,5 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Tango - Protobuf Compilation CLI")]
-[assembly: AssemblyVersion("2.0.20.1933")]
+[assembly: AssemblyVersion("2.0.21.1537")]
[assembly: ComVisible(false)] \ No newline at end of file