45 lines
No EOL
1.4 KiB
C#
45 lines
No EOL
1.4 KiB
C#
// Model/QuestionnaireAnalysisSnapshot.cs
|
|
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Model
|
|
{
|
|
public class QuestionnaireAnalysisSnapshot
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
public int QuestionnaireId { get; set; }
|
|
|
|
// Counts
|
|
public int TotalResponses { get; set; }
|
|
public int AnalyzedResponses { get; set; }
|
|
|
|
// Aggregated sentiment averages
|
|
public double OverallPositiveSentiment { get; set; }
|
|
public double OverallNegativeSentiment { get; set; }
|
|
public double OverallNeutralSentiment { get; set; }
|
|
|
|
// Risk distribution counts
|
|
public int LowRiskCount { get; set; }
|
|
public int ModerateRiskCount { get; set; }
|
|
public int HighRiskCount { get; set; }
|
|
public int CriticalRiskCount { get; set; }
|
|
|
|
// Executive summary (generated by Claude once)
|
|
public string ExecutiveSummary { get; set; } = string.Empty;
|
|
|
|
// Complex data as JSON
|
|
public string TopWorkplaceIssuesJson { get; set; } = "[]";
|
|
public string MostCommonKeyPhrasesJson { get; set; } = "[]";
|
|
|
|
// Metadata
|
|
public DateTime GeneratedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
// Navigation
|
|
[ForeignKey("QuestionnaireId")]
|
|
public virtual Questionnaire? Questionnaire { get; set; }
|
|
}
|
|
} |