using Quadarax.Foundation.Core.Exceptions;
using Quadarax.Foundation.Core.Data;
using System;
namespace Quadarax.Foundation.Core.Data.Interface.Entity.Dto
{
public class ErrorMessageDto : IDto, IError
{
///
///
///
public string Message { get; set; } = string.Empty;
///
///
///
public int Code { get; set; }
public ErrorLevelEnum Level {get;set; }
public DateTime Timestamp {get;set; }
public ErrorMessageDto(){}
public ErrorMessageDto(Exception exception, int code)
{
if (exception==null)
throw new ArgumentNullException(nameof(exception));
Message = exception.Message;
Code = code;
Timestamp = DateTime.Now;
Level = ErrorLevelEnum.Error;
}
public ErrorMessageDto(CodeException exception)
{
if (exception==null)
throw new ArgumentNullException(nameof(exception));
Message = exception.Message;
Code = exception.GetCode();
Timestamp = DateTime.Now;
Level = ErrorLevelEnum.Error;
}
}
}