
namespace LeafWeb.Core.Entities
{
	public class LeafOutputFile
	{
		// convention for the filename which LeafCharter uses
		public const string Filename_LeafChart = "leafgascomparison";
		public const string Filename_ErrorMessage = "errormessage";
		public const string Filename_WarningMessage = "warningmessage";

		public int Id { get; set; }

		public virtual LeafInput LeafInput { get; set; }

		/// <summary>
		/// CleanedInput files will be parsed and data stored here
		/// </summary>
		public virtual LeafInputData LeafInputData { get; set; }

		/// <summary>
		/// ToUser, NotToUser, CleanedInput
		/// </summary>
		public LeafOutputFileType FileType { get; set; }

		public string Filename { get; set; }

		public virtual LeafOutputFileContents FileContents { get; set; }

		public bool IsLeafChartFile => Filename?.Contains(Filename_LeafChart) ?? false;
		public bool IsErrorMessage => Filename?.Contains(Filename_ErrorMessage) ?? false;
		public bool IsWarningMessage => Filename?.Contains(Filename_WarningMessage) ?? false;
	}
}
