78 lines
2.3 KiB
C#
78 lines
2.3 KiB
C#
using System;
|
|
using System.Net;
|
|
using System.Web.Routing;
|
|
using Kreta.Enums.ManualEnums;
|
|
|
|
namespace Kreta.Web.Helpers.Error
|
|
{
|
|
public class StatusError : Exception
|
|
{
|
|
public int StatusCode { get; private set; }
|
|
public object Json { get; set; }
|
|
public Exception UnHandledException { get; set; }
|
|
public RouteValueDictionary Redirect { get; set; }
|
|
public string CloseFunction { get; set; }
|
|
|
|
public StatusError(int statusCode, string message) : base(message)
|
|
{
|
|
this.StatusCode = statusCode;
|
|
}
|
|
|
|
public StatusError(HttpStatusCode statusCode, string message) : base(message)
|
|
{
|
|
this.StatusCode = (int)statusCode;
|
|
}
|
|
|
|
public StatusError(CustomHTTPStatusEnum statusCode, string message) : base(message)
|
|
{
|
|
this.StatusCode = (int)statusCode;
|
|
}
|
|
|
|
public StatusError(HttpStatusCode statusCode, string message, Exception ex) : base(message)
|
|
{
|
|
this.StatusCode = (int)statusCode;
|
|
UnHandledException = ex;
|
|
}
|
|
}
|
|
|
|
public class ErrorModel
|
|
{
|
|
public ErrorModel()
|
|
{
|
|
IsStatusError = true;
|
|
}
|
|
|
|
public bool IsStatusError { get; set; }
|
|
public string Message { get; set; }
|
|
public object Json { get; set; }
|
|
public int Status { get; set; }
|
|
public bool IsMvc { get; set; }
|
|
public Guid? ErrorCode { get; set; }
|
|
public string CloseFunction { get; set; }
|
|
}
|
|
|
|
public class ClientErrorModel
|
|
{
|
|
public string Message { get; set; }
|
|
public string URL { get; set; }
|
|
public string Line { get; set; }
|
|
public string Column { get; set; }
|
|
public string Error { get; set; }
|
|
public string StackTrace { get; set; }
|
|
public string Agent { get; set; }
|
|
}
|
|
|
|
public class ClientError : Exception
|
|
{
|
|
public ClientError(ClientErrorModel model) : base(model.Message)
|
|
{
|
|
this.Data.Add("Line", model.Line);
|
|
this.Data.Add("Column", model.Column);
|
|
this.Data.Add("Error", model.Error);
|
|
this.Data.Add("URL", model.URL);
|
|
this.Data.Add("Agent", model.Agent);
|
|
this.Data.Add("StackTrace", model.StackTrace);
|
|
}
|
|
}
|
|
|
|
}
|