using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media.Imaging; using Tango.Core; using Tango.BL.Entities; using Tango.BL.Enumerations; namespace Tango.PPC.Common { /// /// Represents a base class for PPC modules. /// /// public abstract class PPCModuleBase : ExtendedObject, IPPCModule { private bool _isVisibleInMenu = true; /// /// Gets a value indicating whether this module should be displayed in the application menu. /// public bool IsVisibleInMenu { get { return _isVisibleInMenu; } protected set { _isVisibleInMenu = value; RaisePropertyChangedAuto(); } } /// /// Gets the module name. /// public abstract string Name { get; } /// /// Gets the module description. /// public abstract string Description { get; } /// /// Gets the module cover image. /// public abstract BitmapSource Image { get; } /// /// Gets the module entry point view type. /// public abstract Type MainViewType { get; } /// /// Gets the permission required to see and load this module. /// public abstract Permissions Permission { get; } /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// public abstract void Dispose(); /// /// Called when the application has entered the technician mode. /// public virtual void OnTechnicianEntered() { } /// /// Called when the application has exited the technician mode. /// public virtual void OnTechnicianExited() { } } }