using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Mvc; using VRH.Log4Pro.MultiLanguageManager; using Vrh.Web.Common.Lib; using Vrh.iScheduler.Report; namespace Vrh.Web.iScheduler.Report { /// /// Riport csomag szerkesztéshez használt modell. /// public class PackageEditorModel : CommonModel { #region Properties #region Adatbázis kezeléshez szükséges tulajdonságok /// /// Csomag egyedi adatbázis azonosítója. /// Ha 0, akkor felvitel. /// public int PackageId { get; set; } = 0; /// /// Csomag neve, amely ObjectId-ként szerepel az ütemező felé. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.PackageName))] [RequiredWithTrueWordCodes(typeof(GeneralWordCodes.MLM.General.Messages.RequiredWithName))] [StringLengthWithTrueWordCodes(100, typeof(GeneralWordCodes.MLM.General.Messages.StringLengthWithName))] public string PackageName { get; set; } /// /// Csomag hosszabb leírása. Ha üresen marad, akkor belekerül a csomag neve. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.PackageDescription))] [RequiredWithTrueWordCodes(typeof(GeneralWordCodes.MLM.General.Messages.RequiredWithName))] [StringLengthWithTrueWordCodes(200, typeof(GeneralWordCodes.MLM.General.Messages.StringLengthWithName))] public string PackageDescription { get; set; } /// /// Csomag használatához szükséges szerep neve. /// Csak olvasható, a program rakja össze. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.PackageRoleName))] [RequiredWithTrueWordCodes(typeof(GeneralWordCodes.MLM.General.Messages.RequiredWithName))] public string PackageRoleName { get; set; } /// /// Használható-e a csomag, vagy sem. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.PackageIsActive))] public bool PackageIsActive { get; set; } = false; /// /// Csomag melyik csoport azonosítóhoz tartozik. /// Ha a paraméterben * érkezik, akkor szerkeszthető állapotú. /// A felületen ezt az üres érték jelzi, ha üres a cshtml nyitásakor, akkor szerkeszthető. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.PackageGroup))] [RequiredWithTrueWordCodes(typeof(GeneralWordCodes.MLM.General.Messages.RequiredWithName))] [StringLengthWithTrueWordCodes(100,typeof(GeneralWordCodes.MLM.General.Messages.StringLengthWithName))] public string PackageGroupId { get; set; } /// /// A csomag mentésekor, mely szerepkörökhöz tartozó felhasználókat kell hozzáadni /// a csomag nevéből képzett szerephez. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.Rolegroups))] public string PackageRolegroupsSelected { get; set; } //autocomplete "Selected" listid /// /// Autocomplete target /// public string PackageRolegroups { get; set; } //autocomplete targetid /// /// A csomag mentésekor, mely felhasználókat kell hozzárendelni /// a csomag nevéből képzett szerephez. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.Users))] public string PackageUsersSelected { get; set; } //autocomplete "Selected" listid /// /// Autocomplete target /// public string PackageUsers { get; set; } //autocomplete targetid /// /// Kiválasztott riportok azonosítóinak listája. /// public List SelectedReports { get; set; } /// /// A riportokhoz kiválasztott formátumok listája. /// public List SelectedFormats { get; set; } #endregion Adatbázis mezőit leíró tulajdonságok #region Rejtett inputként utazó tulajdonságok (POST-ban szükséges használni.) /// /// Az Editor meghívása honnan történt. /// Egyelőre egy nevesített hely van: Vrh.iScheduler.Report.ManagerViewModel.CallSources.Manager, azaz 'manager'. /// public string SourceOfCalling { get; set; } /// /// Adatbázishoz kapcsolódás stringje, majd a POST-ban szükség van rá. /// public string ConnectionString { get; set; } /// /// Az XML-ből érkező érték, mely alapján a RoleName létrehozható. /// public string RoleNameMask { get; set; } /// /// Szerepkörök listájának lekéréséhez /// public string RolegroupListUrl { get; set; } /// /// Felhasználók listáját visszaadó URL. /// public string UserListUrl { get; set; } /// /// ?????????????????? /// public string UsersOfRoleUrl { get; set; } /// /// Szerepet létrehozó URL. /// public string CreateRoleUrl { get; set; } /// /// Szerepet törlő URL. /// public string DeleteRoleUrl { get; set; } /// /// Szerep és szerepkör összerendelés. /// public string AssignRoleToRolegroupsUrl { get; set; } /// /// Szerep és felhasználó összerendelés /// public string AssignRoleToUsersUrl { get; set; } /// /// OneReport-tól ezzel az url-lel lehet elkérni a riportok listáját. /// Meg kell őrizni, mert szerkesztés közben a GetNewPackageReportItem-nek kell. /// public string ReportListUrl { get; set; } /// /// OneReport-tól ezzel az url-lel lehet elkérni a formátumok listáját. /// Meg kell őrizni, mert szerkesztés közben a GetNewPackageReportItem-nek kell. /// public string ReportFormatListUrl { get; set; } /// /// ?????????????????? /// public string ReportParameterPresetListUrl { get; set; } /// /// Paraméterek előre beállított alapértelmezett érkeinek szerkesztését eredményező URL. /// public string ReportParameterPresetEditorUrl { get; set; } /// /// Az iSchedulerReport teszt futtatásához szükséges URL. /// public string TestExecuteOperation { get; set; } /// /// XmlParser kapcsolati sztring. /// public string XmlCs { get; set; } #endregion Rejtett inputként utazó tulajdonságok /// /// Annak jelzése, hogy a sikeres mentés után történjen-e teszt futtatás. /// A TestExecuteUrl elemben meghatározott Url meghívása. /// [DisplayNameWithTrueWordCodes(typeof(SRWordCodes.iSchedulerReport.Editor.Labels.TestExecute))] public bool IsTestExecute { get; set; } = false; #endregion Properties } }