namespace CoreConnect.Commerce.Exceptions;
public class CommerceException : Exception
public int StatusCode { get; set; }
public CommerceErrorModel CommerceError { get; set; }
public CommerceException(int statusCode, string code, string message, string referenceCode = "") : base($"{code} : {message}")
CommerceError = new CommerceErrorModel(code, message, referenceCode, null, statusCode);
public CommerceException(CommerceErrorModel commerceError, Exception? innerException = null) : base($"{commerceError.Code} : {commerceError.Message}", innerException)
CommerceError = commerceError;
public class RequiredCommerceException : CommerceException
public RequiredCommerceException(int statusCode, string message, string referenceCode = "")
: base(statusCode, ErrorCodes.BAD_USER_INPUT, message, referenceCode) { }
public class ForbiddenCommerceException : CommerceException
public ForbiddenCommerceException(int statusCode, string message = "Access to resource is forbidden", string referenceCode = "")
: base(statusCode, ErrorCodes.FORBIDDEN, message, referenceCode) { }