using System; using System.Collections.Generic; namespace Sozsoft.Mcp.Dtos; /// Rapor kategorisi (Adm.Reports.Categories). public class McpReportCategoryDto { public Guid Id { get; set; } public string Name { get; set; } = string.Empty; public string? Description { get; set; } public string? Icon { get; set; } } /// Rapor sablonunun listede donen ozeti; HTML icerigi tasimaz. public class McpReportTemplateSummaryDto { public Guid Id { get; set; } public string Name { get; set; } = string.Empty; public string? Description { get; set; } public string Category { get; set; } = string.Empty; public string? Status { get; set; } } /// Kategoriler ve sablonlar birlikte; sablon kaydederken kategori adi buradan secilir. public class McpReportCatalogDto { public List Categories { get; set; } = []; public List Templates { get; set; } = []; } /// /// Rapor sablonunun tamami. HTML icindeki {{AlanAdi}} yer /// tutuculardir; sablon bir ekran kaydiyla acildiginda kaydin alanlariyla doldurulur. /// public class McpReportTemplateDto : McpReportTemplateSummaryDto { public Guid CategoryId { get; set; } public string HtmlContent { get; set; } = string.Empty; public List Placeholders { get; set; } = []; /// Sablonun kayitsiz goruntuleme adresi. public string ViewUrl { get; set; } = string.Empty; /// /// Kaydetme istegi bir ekran verdiyse o ekranin satir butonu (CommandColumnJson /// elemani); ekranin mevcut butonlarina eklenir. /// public McpReportRowButtonDto? RowButton { get; set; } } /// Sablonu bir ekran kaydiyla acan satir butonu; CommandColumnDto ile ayni alanlar. public class McpReportRowButtonDto { public string Text { get; set; } = string.Empty; public string Hint { get; set; } = string.Empty; public string Url { get; set; } = string.Empty; public string UrlTarget { get; set; } = "_blank"; public string AuthName { get; set; } = string.Empty; public bool IsVisible { get; set; } = true; } public class McpReportCategorySaveRequestDto { public string Name { get; set; } = string.Empty; public string? Description { get; set; } public string? Icon { get; set; } } public class McpReportTemplateSaveRequestDto { /// Sablonun adi; kiraci icinde tekildir ve kimligidir. public string Name { get; set; } = string.Empty; /// Kategori adi ya da Id'si. Yeni sablonda zorunlu. public string? Category { get; set; } /// Basilacak HTML. Yeni sablonda zorunlu; guncellemede bos ise mevcut icerik korunur. public string? HtmlContent { get; set; } public string? Description { get; set; } /// active ya da passive; yeni sablonda varsayilan active. public string? Status { get; set; } /// /// Sablonun basilacagi ekran. Verilirse yer tutucular ekranin alanlarina gore dogrulanir ve /// cevapta o ekranin satir butonu doner. /// public string? ListFormCode { get; set; } /// Satir butonunun dil anahtari; verilmezse Sas.Platform.View. public string? ButtonText { get; set; } }