using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;

namespace EVCB_OCPP.WEBAPI
{
    public static class EVCBConfiguration
    {
        public static readonly int DB_DefaultConnectionTimeout = 60;


        public static readonly string Header_Signature = "Signature";
        public static readonly string Header_PartnerId = "PartnerId";
        public static readonly string Header_Timestamp = "Timestamp";
       // public static readonly string Header_SerialNo = "SerialNo";
        public static readonly string DATETIMEFORMAT = "yyyy/MM/dd HH:mm:ss";
        public static readonly string UTC_DATETIMEFORMAT = "yyyy/MM/dd'T'HH':'mm':'ss'Z'";


        public static readonly string ERRORMESSAGE_FORMAT = "{0}:{1}";

        public static readonly DateTime DefaultTime = new DateTime(1991,1,1,0,0,0, DateTimeKind.Utc);


        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_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 is not exist or offline.";
        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_CONNECTOR_ISNOT_CHARGING_MODE = "Connector is not in charging mode.";
        public static readonly string ERROR_MSG_DATA_NOTFOUND = "Oops! We can not find the details with request.";
        public static readonly string ERROR_MSG_TX_FINISHED_OR_NOTFOUND = "Transaction is finished or not found.";

        public static JsonSerializerSettings JSONSERIALIZER_FORMAT = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.None };


    }
}