diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-05-02 14:23:40 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-05-02 14:23:40 +0300 |
| commit | 5ee4696c9a82fa23ec477c28b725af104abe90ef (patch) | |
| tree | 79324d1768fc601edce06370475390db10a512af /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common | |
| parent | 4eee351d5c4c7465bd1449f21a481bfab96b6bf7 (diff) | |
| download | Tango-5ee4696c9a82fa23ec477c28b725af104abe90ef.tar.gz Tango-5ee4696c9a82fa23ec477c28b725af104abe90ef.zip | |
Worked on DeveloperConsole.
Added some fields to VSTS work item. (resolved...)
Resolved issue with application crash when trying to show notification before main window initialized.
Added DeveloperConsole permission to DB.
Added SetWorkItemAssignment to TFS client.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common')
4 files changed, 136 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/PermissionToVisibilityConverter.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/PermissionToVisibilityConverter.cs new file mode 100644 index 000000000..08e7d1c12 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/PermissionToVisibilityConverter.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Data; +using Tango.BL.Entities; +using Tango.BL.Enumerations; +using Tango.Core.DI; +using Tango.MachineStudio.Common.Authentication; + +namespace Tango.MachineStudio.Common.Converters +{ + public class PermissionToVisibilityConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + User user = value as User; + + if (user != null) + { + if (user.HasPermission((Permissions)parameter)) + { + return Visibility.Visible; + } + } + + return Visibility.Collapsed; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs index 35ed50cd9..4203a1e8b 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs @@ -38,5 +38,10 @@ namespace Tango.MachineStudio.Common /// </summary> /// <param name="args">The arguments.</param> void OnModuleRequest(params object[] args); + + /// <summary> + /// Called when the application has been started + /// </summary> + void OnApplicationStarted(); } } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs index 9c7e52d23..77fad1fc6 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs @@ -13,6 +13,79 @@ namespace Tango.MachineStudio.Common /// <typeparam name="Module">The type of the module.</typeparam> /// <seealso cref="Tango.SharedUI.ViewModel" /> /// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" /> + public abstract class StudioViewModelInternal : ViewModel, IStudioViewModel + { + /// <summary> + /// Gets or sets a value indicating whether this view model studio module is currently loaded. + /// </summary> + public bool IsModuleLoaded { get; private set; } + + /// <summary> + /// Initializes a new instance of the <see cref="StudioViewModel{Module}"/> class. + /// </summary> + public StudioViewModelInternal() : base() + { + + } + + /// <summary> + /// Called when another module has wants to navigate to this module with some arguments. + /// </summary> + /// <param name="args">The arguments.</param> + public virtual void OnModuleRequest(params object[] args) + { + + } + + /// <summary> + /// Called when the user has navigated out of the module. + /// </summary> + public virtual void OnNavigatedFrom() + { + IsModuleLoaded = false; + } + + /// <summary> + /// Called when the user has navigated in to the module. + /// </summary> + public virtual void OnNavigatedTo() + { + IsModuleLoaded = true; + } + + /// <summary> + /// Called before the application is shutting down. + /// Return false to cancel the shutdown in case an important process is in progress. + /// </summary> + /// <returns></returns> + public virtual Task<bool> OnShutdownRequest() + { + return Task.FromResult(true); + } + + /// <summary> + /// Called when application is shutting down. + /// </summary> + public virtual void OnShuttingDown() + { + + } + + /// <summary> + /// Called when the application has been started + /// </summary> + public virtual void OnApplicationStarted() + { + + } + } + + /// <summary> + /// Represents a Machine Studio view model + /// </summary> + /// <typeparam name="Module">The type of the module.</typeparam> + /// <seealso cref="Tango.SharedUI.ViewModel" /> + /// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" /> public abstract class StudioViewModel<Module> : ViewModel, IStudioViewModel where Module : IStudioModule { /// <summary> @@ -70,6 +143,14 @@ namespace Tango.MachineStudio.Common { } + + /// <summary> + /// Called when the application has been started + /// </summary> + public virtual void OnApplicationStarted() + { + + } } /// <summary> @@ -91,6 +172,14 @@ namespace Tango.MachineStudio.Common } /// <summary> + /// Called when the application has been started + /// </summary> + public virtual void OnApplicationStarted() + { + + } + + /// <summary> /// Called when another module has wants to navigate to this module with some arguments. /// </summary> /// <param name="args">The arguments.</param> diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj index e4a2720b9..ac6f84618 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj @@ -89,6 +89,7 @@ <DependentUpon>RealTimeGraphControl.xaml</DependentUpon> </Compile> <Compile Include="Controls\TableGrid.cs" /> + <Compile Include="Converters\PermissionToVisibilityConverter.cs" /> <Compile Include="Converters\SecondsToGraphPointsConverter.cs" /> <Compile Include="Diagnostics\DefaultDiagnosticsFrameProvider.cs" /> <Compile Include="Diagnostics\IDiagnosticsFrameProvider.cs" /> @@ -287,5 +288,8 @@ <EmbedInteropTypes>True</EmbedInteropTypes> </COMReference> </ItemGroup> + <ItemGroup> + <Folder Include="MarkupExtensions\" /> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project>
\ No newline at end of file |
