namespace decePubClient.Models
{
	public class ClientLogs
	{
		public long Id { get; set; }
		public string Where { get; set; }
		public string WarningMessage { get; set; }
		public ClientLogException Exception { get; set; }
		public DateTime TimeStamp { get; set; } = DateTime.Now;
		public string ErrorMessage()
		{
			if (Exception.InnerExceptionMessage != null)
			{
				return @$"<b>Type</b>: {Exception.Type ?? "N/A"} <b>HelpLink</b>: {Exception.HelpLink ?? "N/A"} <b>HResult</b>: {Exception.HResult ?? "N/A"}<br>
<b>Source</b>: {Exception.Source ?? "N/A"} <b>StackTrace</b>: {Exception.StackTrace ?? "N/A"} <b>MemberName</b>: {Exception.TargetSiteName ?? "N/A"}<br>
<b>Message</b>: {Exception.Message ?? "N/A"}<br>
<b>InnerExceptionMessage</b>:{Exception.InnerExceptionMessage ?? "N/A"}";
			}
			else
			{
				return @$"<b>Type</b>: {Exception.Type ?? "N/A"} <b>HelpLink</b>: {Exception.HelpLink ?? "N/A"} <b>HResult</b>: {Exception.HResult ?? "N/A"}<br>
<b>Source</b>: {Exception.Source ?? "N/A"} <b>StackTrace</b>: {Exception.StackTrace ?? "N/A"} <b>MemberName</b>: {Exception.TargetSiteName ?? "N/A"}<br>
<b>Message</b>: {Exception.Message ?? "N/A"}";
			}
		}
	}

	public class ClientLogException
	{
		public string Type { get; set; }
		public string HelpLink { get; set; }
		public string HResult { get; set; }
		public string Source { get; set; }
		public string StackTrace { get; set; }
		public string TargetSiteName { get; set; }
		public string Message { get; set; }
		public string InnerExceptionMessage { get; set; }
	}
}
