using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Vrh.iScheduler.Report
{
    /// <summary>
    /// Az iScheduler.Report-ban használatos állandó gyűjtőhelye.
    /// </summary>
    public static class SRConstants
    {
        /// <summary>
        /// A modul area neve.
        /// </summary>
        public const string AREA = "iSchedulerReport";

        /// <summary>
        /// A modul alapértelmezett controllerének neve.
        /// </summary>
        public const string CTRL = AREA;

        /// <summary>
        /// A modul táblázat kezeléssel kapcsolatos kontrollerének neve.
        /// </summary>
        public const string CTRL_TBL = "Table";

        /// <summary>
        /// Az alapértelmezett "Configuration" bév az XmlParser-ban.
        /// </summary>
        public const string DEFAULT_CONFIGNAME = AREA;

        /// <summary>
        /// Az alapértelmezett SQL kapcsolati sztring név, majd a ConnectionStringStore oldja fel.
        /// </summary>
        public const string DEFAULT_CONNECTIONSTRINGNAME = MODULNAME + ":connectionString";

        /// <summary>
        /// A modulra jellemző elnevezés.
        /// </summary>
        public const string MODULNAME = "VRH." + AREA;
        
        #region Actions for the action names of controller
        /// <summary>
        /// Au iSchedulerReportController akcióinak megnevezése.
        /// </summary>
        public static class Actions
        {
            /// <summary>
            /// A "Check" akció neve.
            /// </summary>
            public const string CHECK = "Check";

            /// <summary>
            /// Az "Editor" akció neve.
            /// </summary>
            public const string EDITOR = "Editor";

            /// <summary>
            /// A "Manager" akció neve.
            /// </summary>
            public const string MANAGER = "Manager";

            /// <summary>
            /// A "List" akció neve.
            /// </summary>
            public const string LIST = "List";

            /// <summary>
            /// A "ListOperations" akció neve.
            /// </summary>
            public const string LISTOPERATIONS = "ListOperations";
        }
        #endregion Actions for the action names of controller

        #region Groups static class
        /// <summary>
        /// Speciális csoport azonosítók állandói.
        /// </summary>
        public static class Groups
        {
            /// <summary>
            /// Annak jelölése, hogy az összes csoporthoz tartozó csomag kell.
            /// </summary>
            public const string All = "*";
        }
        #endregion Groups static class

        #region Ids for the inputs and others of the html
        /// <summary>
        /// A HTML-ben használt inputok vagy egyéb eszközök azonosítói.
        /// </summary>
        public static class Ids
        {
            /// <summary>
            /// A Manager.cshtml-ben a DataTable táblázat azonosítója.
            /// </summary>
            public const string TABLE = "grid-ischedulerreport";

            #region Button static class
            /// <summary>
            /// Nyomógombokra vonatkozó azonosítók.
            /// </summary>
            public static class Button
            {
                /// <summary>
                /// Csomag hozzáadása gomb azonosítója.
                /// </summary>
                public const string CREATE = "add-package";

                /// <summary>
                /// Csomagjelölések törlése nyomógomb azonosítója
                /// a Manager felületen.
                /// </summary>
                public const string MARK_CLEAR = "mark-clear";

                /// <summary>
                /// Csomagok megjelölése "H" betűvel nyomógomb azonosítója
                /// a Manager felületen.
                /// </summary>
                public const string MARK_MISSING = "mark-pack-missing";

                /// <summary>
                /// Csomagok megjelölése "N" betűvel nyomógomb azonosítója
                /// a Manager felületen.
                /// </summary>
                public const string MARK_NOSCHEDULE = "mark-pack-noschedule";
            }
            #endregion Button static class

            #region Form static class
            /// <summary>
            /// Nyomógombokra vonatkozó azonosítók.
            /// </summary>
            public static class Form
            {
                /// <summary>
                /// Az Editor.cshtml-ben a Form azonosítója.
                /// </summary>
                public const string EDITOR = "form-ischedulerreport";
            }
            #endregion Form static class

            #region Input static class
            /// <summary>
            /// Nyomógombokra vonatkozó azonosítók.
            /// </summary>
            public static class Input
            {
                /// <summary>
                /// A Manager felületen az aktív szűrés select inputjának azonosítója.
                /// </summary>
                public const string FILTER_ACTIVE = "inputfilter-active";
            }
            #endregion Input static class
        }
        #endregion Ids for the inputs and others of the html

        #region Operations static class
        /// <summary>
        /// Az objektumokon elvégezhető máveletek kulcsa és neve.
        /// </summary>
        public static class Operations
        {
			/// <summary>
			/// "Execute" művelet neve és kulcsa.
			/// </summary>
			public const string EXECUTE_KEY = "Exec";
			public const string EXECUTE_TEXT = "Execute";

			/// <summary>
			/// "Execute" művelet neve és kulcsa.
			/// </summary>
			public const string FILEREPORT_KEY = "File";
			public const string FILEPORT_TEXT = "Save report to file";

			/// <summary>
			/// "Export" művelet neve és kulcsa.
			/// </summary>
			public const string EXPORTDATA_KEY = "Export";
			public const string EXPORTDATA_TEXT = "Export report data to file";

			/// <summary>
			/// "Export" művelet neve és kulcsa.
			/// </summary>
			public const string FILEOREXPORT_KEY = "FilExp";
			public const string FILEOREXPORT_TEXT = "File report or export report data";
		}
		#endregion Groups static class

		#region Views class for view names
		/// <summary>
		/// A modulban alkalmazott nézetek megnevezései.
		/// </summary>
		public static class Views
        {
            /// <summary>
            /// Az ütemezés szerkesztő felület nézet neve.
            /// </summary>
            public const string EDITOR = "Editor";

            /// <summary>
            /// A hibákat megjelenítő nézet neve.
            /// </summary>
            public const string ERRORLIST = "ErrorList";

            /// <summary>
            /// Az ütemezések táblázatát megjelenítő nézet.
            /// "List" display mód esetén.
            /// </summary>
            public const string MANAGER = "Manager";
        }
        #endregion Views class for view names
    }
}
