using adas_core.Domain.Enums;

namespace adas_core.Application.Exceptions;

/// <summary>
/// Represents an exception that is thrown when a requested resource or item cannot be found.
/// </summary>
/// <!-- aidoc:v1 sig=f498fe7 -->
public class NotFoundException : Exception
{
    /// <summary>
    /// Initializes a new instance of the <see cref="NotFoundException"/> class.
    /// </summary>
    /// <!-- aidoc:v1 sig=b8adfe9 body=4448e1d -->
    public NotFoundException()
    {
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="NotFoundException"/> class with a specified error message.
    /// </summary>
    /// <param name="message">The message that describes the error.</param>
    /// <!-- aidoc:v1 sig=0fdd1b4 body=4448e1d -->
    public NotFoundException(HttpEnum.ErrorMessage message) : base(((int)message).ToString())
    {
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="NotFoundException"/> class with a specified error message.
    /// </summary>
    /// <param name="message">The message that describes the error.</param>
    /// <!-- aidoc:v1 sig=63e1946 body=4448e1d -->
    public NotFoundException(string message) : base(message)
    {
    }    
}