using System;
using Microsoft.Extensions.Logging;
using Sockeye.Models;
using System.Linq;
using System.Collections.Generic;
using Sockeye.Biz;


namespace Sockeye.Biz
{


    internal static class ApiErrorCodeStockMessage
    {
        internal static string GetTranslationCodeForApiErrorCode(ApiErrorCode code)
        {
            return $"ErrorAPI"+((int)code).ToString();
            // switch (code)
            // {
            //     case ApiErrorCode.API_CLOSED:
            //         return "API Closed";
            //     case ApiErrorCode.API_OPS_ONLY:
            //         return "API Closed to non operations routes";
            //     case ApiErrorCode.API_SERVER_ERROR:
            //         return "Server internal error, details in server log file";
            //     case ApiErrorCode.AUTHENTICATION_FAILED:
            //         return "Authentication failed";
            //     case ApiErrorCode.NOT_AUTHORIZED:
            //         return "User not authorized for this resource operation (insufficient rights)";
            //     case ApiErrorCode.CONCURRENCY_CONFLICT:
            //         return "Object was changed by another user since retrieval (concurrency token mismatch)";
            //     case ApiErrorCode.NOT_FOUND:
            //         return "Object not found";
            //     case ApiErrorCode.PUT_ID_MISMATCH:
            //         return "Update failed: ID mismatch - route ID doesn't match object id";
            //     case ApiErrorCode.INVALID_OPERATION:
            //         return "An attempt was made to perform an invalid operation";
            //     case ApiErrorCode.VALIDATION_FAILED:
            //         return "Object did not pass validation";
            //     case ApiErrorCode.VALIDATION_REQUIRED:
            //         return "Required field empty";
            //     case ApiErrorCode.VALIDATION_LENGTH_EXCEEDED:
            //         return "Field too long";
            //     case ApiErrorCode.VALIDATION_INVALID_VALUE:
            //         return "Field is set to a non allowed value";
            //     case ApiErrorCode.VALIDATION_CUSTOM_REQUIRED_EMPTY:
            //         return "Customized form property is set to required but has an empty value";
            //     case ApiErrorCode.VALIDATION_MISSING_PROPERTY:
            //         return "Required property is missing entirel";
            //     case ApiErrorCode.VALIDATION_NOT_UNIQUE:
            //         return "Field is required to be unique but an existing record with an identical value was found in the database";
            //     case ApiErrorCode.VALIDATION_STARTDATE_AFTER_ENDDATE:
            //         return "The start date must be earlier than the end date";
            //     case ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY:
            //         return "Modifying the object (usually a delete) would break the link to other records in the database and operation was disallowed to preserve data integrity";
            //     case ApiErrorCode.VALIDATION_NOT_CHANGEABLE:
            //         return "the value is fixed and cannot be changed";
            //     case ApiErrorCode.CHILD_OBJECT_ERROR:
            //         return "Errors in child object during operation";




            //     default:
            //         return null;

            // }
        }
        /*
         API_CLOSED = 2000,
        API_OPS_ONLY = 2001,
        API_SERVER_ERROR = 2002,
        AUTHENTICATION_FAILED = 2003,
        NOT_AUTHORIZED = 2004,
        CONCURRENCY_CONFLICT=2005,
        NOT_FOUND = 2010,
        PUT_ID_MISMATCH = 2020,
        INVALID_OPERATION = 2030,
        VALIDATION_FAILED = 2200,
        VALIDATION_REQUIRED = 2201,
        VALIDATION_LENGTH_EXCEEDED = 2202,
        VALIDATION_INVALID_VALUE = 2203,

        VALIDATION_CUSTOM_REQUIRED_EMPTY = 2204,
        VALIDATION_MISSING_PROPERTY = 2205,
        VALIDATION_NOT_UNIQUE = 2206,
        VALIDATION_STARTDATE_AFTER_ENDDATE = 2207,
        VALIDATION_REFERENTIAL_INTEGRITY = 2208,
        VALIDATION_NOT_CHANGEABLE = 2209
        
         */
    }


}//eons