using PARR.EsppApi.Constants;

namespace PARR.EsppApi.Requests
{
    /// <summary>
    /// Изменить статус наряда
    /// </summary>
    internal class SetStatusRequest
    {
        public SetStatusRequest(EsppOrderClosingCodeEnum closingCode)
        {
            switch (closingCode)
            {
                case EsppOrderClosingCodeEnum.Complete:
                    resolutionCode = "выполнен";
                    break;
                case EsppOrderClosingCodeEnum.Breake:
                    resolutionCode = "прекращен";
                    break;
                case EsppOrderClosingCodeEnum.Auto:
                    resolutionCode = "выполнен при помощи средств автоматизации";
                    break;
                default:
                    resolutionCode = "выполнен";
                    break;
            }
        }

        /// <summary>
        /// Номер запроса
        /// </summary>
        public required string recordid { get; set; }

        /// <summary>
        /// Статус
        /// </summary>
        public required string status { get; set; }

        /// <summary>
        /// Исполнитель
        /// </summary>
        public required string assignee { get; set; }

        /// <summary>
        /// Решение
        /// </summary>
        public required string resolution { get; set; }

        /// <summary>
        /// Код закрытия
        /// </summary>
        public string resolutionCode { get; private set; }

        /// <summary>
        /// ЭК робота
        /// </summary>
        public string rzdKeRobot { get; set; } = string.Empty;

        /// <summary>
        /// Код мероприятия по PPO
        /// </summary>
        public string rzdEventCode { get; set; } = string.Empty;
    }
}
