How gerpo/siterm works
Siterm is a WPF desktop application for managing facilities and devices, creating instructions and service reports, and viewing substance and first-aid information. The user-facing workflow is launched by the WPF app; the sampled service-report flow fetches devices and users, builds a draft, loads templates for a selected device, and invokes report creation. Data access is provided by Entity Framework, while settings and optional mail, PDF, Excel, signature, and import capabilities support the broader product. Several links are based on the SOURCE INDEX or documented module references; unsampled implementations limit certainty.
Main entry points: App.xaml.cs WPF application · CreateServiceReportViewModel.cs Report view model · InstructionWarningMailService.cs Warning mail · SitermDbContextFactory.cs Context factory
Components 19
Desktop UI
- WPF application
Siterm.WPF/App.xaml.cs - Report view model
Siterm.WPF/ViewModels/CreateServiceReportViewModel.cs
Operational workflows
- Report draft
Siterm.ServiceReports/Models/ServiceReportDraft.cs - Report service
Siterm.ServiceReports/Services/ServiceReportService.cs - Instruction PDF
Siterm.Instructions/Services/InstructionPdfService.cs - Substance information
Siterm.Substance/Services/SubstanceInfoService.cs
Data and settings
- Domain models
Siterm.Domain/Models/DomainObject.cs - Data services
Siterm.EntityFramework/Services/GenericDataService.cs - Database context
Siterm.EntityFramework/SitermDbContext.cs - Context factory
Siterm.EntityFramework/SitermDbContextFactory.cs - Settings provider
Siterm.Settings/Services/SettingsProvider.cs - Application settings
Siterm.Settings/Models/AppSettings.cs
Supporting capabilities
- Excel templates
Siterm.Excel/Services/ReadServiceTemplateService.cs - Signature capture
Siterm.Signature/Services/SignatureService.cs - Warning mail
Siterm.Mail/Services/InstructionWarningMailService.cs - Database importers
Siterm.DatabaseInitialization/Services/ImporterPipeline.cs - File model
Siterm.Support/ControlModels/File.cs
Other components
- User
- SMTP server
Connections 20
- User → WPF application: uses
Siterm.WPF/App.xaml.cs - WPF application → Report view model: registers
Siterm.WPF/App.xaml.cs - Report view model → Data services: fetches devices/users
Siterm.WPF/ViewModels/CreateServiceReportViewModel.cs - Report view model → Report draft: creates draft
Siterm.WPF/ViewModels/CreateServiceReportViewModel.cs - Report view model → Report service: submits draft
Siterm.WPF/ViewModels/CreateServiceReportViewModel.cs - Report draft → Report service: loads templates
Siterm.ServiceReports/Models/ServiceReportDraft.cs - Report service → Excel templates: reads template
Siterm.ServiceReports/Services/ServiceReportService.cs - Data services → Context factory: creates context
Siterm.EntityFramework/Services/GenericDataService.cs - Context factory → Database context: constructs
Siterm.EntityFramework/SitermDbContextFactory.cs - Context factory → Settings provider: gets connection
Siterm.EntityFramework/SitermDbContextFactory.cs - Settings provider → Application settings: reads values
Siterm.Settings/Services/SettingsProvider.cs - Warning mail → Settings provider: gets mail config
Siterm.Mail/Services/InstructionWarningMailService.cs - Warning mail → Data services: queries instructions
Siterm.Mail/Services/InstructionWarningMailService.cs - Warning mail → SMTP server: sends messages
Siterm.Mail/Services/InstructionWarningMailService.cs - WPF application → Instruction PDF: registers capability
Siterm.WPF/App.xaml.cs - WPF application → Substance information: registers capability
Siterm.WPF/App.xaml.cs - WPF application → Signature capture: registers capability
Siterm.WPF/App.xaml.cs - WPF application → Warning mail: registers capability
Siterm.WPF/App.xaml.cs - Database importers → File model: uses files
Siterm.DatabaseInitialization/Program.cs - Domain models → Database context: persisted as entities