using System;
using System.Collections.Generic;
using System.Linq;

namespace EVCB_OCPP.WEBAPI.Models.WebAPI
{
    public enum CPO_StatusCode
    {
        NoAction = -1,
        Success = 1000,
        Generic_Client_Error = 2000,
        Unknown_AuthorizationHeader = 2001,
        PARAMETER_OUTOFRANGE_INCORRECT = 2100,
        CHARGEBOXID_ISNT_EXIST_OR_OFFLINE = 2101,
        CANT_FOUND_DATA = 2102,
        ChargePoint_OFFLINE_OR_UNAVAILABLE = 2103,
        SESSION_FINISHED = 2104,
        ChargePoint_UNCHARGING_MODE = 2105,
        TX_FINISHED_OR_NOTFOUND = 2106,



        UnexpectedError = 2999,

    }

    public static class CPO_StatusMessage
    {
        public static readonly string Success = "Success";
     
        public static readonly string ERROR_MSG_INVALIDHEADER = "Invaild Headers";
        public static readonly string ERROR_MSG_INVALIDTIMESTAMP = "Invaild Timestamp";
        public static readonly string ERROR_MSG_INVALIDSIGNATURE = "Invaild Signature";
        public static readonly string ERROR_MSG_Global_UNEXPECTEDERROR = "Global Unexpected Error";
        public static readonly string ERROR_MSG_UNEXPECTEDERROR = "Unexpected Error";
        public static readonly string ERROR_MSG_PARAMETER_OUTOFRANGE_INCORRECT = "Parameter is out of range or incorrect.";
        public static readonly string ERROR_MSG_CHARGEBOXID_ISNT_EXIST_OR_OFFLINE = "ChargeBoxId isn't exist or offline.";
        public static readonly string ERROR_MSG_CHARGEBOXID_DOESNT_EXIST = "ChargeBoxId doesn't exist.";
        public static readonly string ERROR_MSG_CHARGEPOINT_OFFLINE = "ChargePoint is offline.";
        public static readonly string ERROR_MSG_SESSION_WAS_FINISHED = "Session was finished.";
        public static readonly string ERROR_MSG_CONNECTOR_ISNOT_AVAILIABLE_MODE = "Connector is not in available mode.";
        public static readonly string ERROR_MSG_DATA_NOTFOUND = "Oops! We can't find the details with request.";
        public static readonly string ERROR_MSG_InnerService_TERMINATED = "Oops! Inner service terminated.";
        public static readonly string ERROR_MSG_CANT_FIND_ERRORCODE = "Can't find the descirption of error code.";
        public static readonly string ERROR_MSG_CANT_FIND_RESULT = "Can't find the execution of result.";
        public static readonly string ERROR_MSG_CANT_FIND_SESSIONDETAIL = "Can't find the session details.";
        public static readonly string ERROR_MSG_CONNECTOR_ISNOT_CHARGING_MODE = "Connector is not in charging mode.";
        public static readonly string ERROR_MSG_INNERSERVICE_ERROR = "An internal error has occurred.";
        public static readonly string ERROR_MSG_TX_FINISHED_OR_NOTFOUND = "Transaction is finished or not found.";
    }
}