public ItemByCreate MapItem(DirectumRegistryItem directumRegistryItem, LogHelper logHelper)
        {
            var issueType = _cache.GetObjectFromCache("IssueType", _issueTypeCacheTime, () => _jiraProvider.GetTypes().First(t => t.Name.ToUpper() == "ИЗМЕНЕНИЕ"));
            var employees = _cache.GetObjectFromCache(nameof(_employeeProvider), _employeeCacheTime, _employeeProvider.GetEmployees);
            var projects  = _cache.GetObjectFromCache(nameof(_jiraProvider), _jiraProjectCacheTime, _jiraProvider.GetProjects);

            var catalog = CheckAndReturnCatalogs(directumRegistryItem.ProjectId, directumRegistryItem, issueType, logHelper);

            var assignee      = employees.FirstOrDefault(x => x.LoginAd == directumRegistryItem.AssigneeLoginAd);
            var changeManager = employees.FirstOrDefault(x => x.LoginAd == directumRegistryItem.ChangeManager);

            var item = new ItemByCreate
            {
                Project                      = projects.FirstOrDefault(e => e.Key == directumRegistryItem.ProjectId)?.Id,
                IssueType                    = catalog.issueType,
                Assignee                     = assignee?.LoginJira,
                ChangeManager                = changeManager?.LoginJira,
                Priority                     = catalog.priorityInitiator,
                Initiator                    = directumRegistryItem.Initiator,
                Summary                      = $"{directumRegistryItem.Number} {directumRegistryItem.Summary}",
                Description                  = directumRegistryItem.Description,
                SourceNumber                 = directumRegistryItem.AssignmentID.ToString(),
                DepartmentId                 = catalog.department,
                ReasonImplementation         = directumRegistryItem.Number,
                ConsequencesFailureImplement = directumRegistryItem.ConsequencesFailureImplement,
                DeadLine                     = directumRegistryItem.Deadline
            };

            return(item);
        }
        private (string issueType, string priorityInitiator, string department) CheckAndReturnCatalogs(string project, DirectumRegistryItem directumRegistryItem, IssueType issueType, LogHelper logHelper)
        {
            var catalog = _jiraProvider.GetCataloges(project);
            var catalogIssueTypeResult = catalog.Issuetype.FirstOrDefault(i => i.Name == issueType.Name)?.Id.ToString();



            if (catalogIssueTypeResult == null)
            {
                logHelper.Error(new ArgumentException($"Тип запроса \"{issueType.Name}\" не определён в справочнике JIRA"));
            }


            var catalogPriorityResult = catalog.PriorityInitiator.FirstOrDefault(p => p.Name == directumRegistryItem.PriorityInitiatorId)?.Id.ToString();

            if (catalogPriorityResult == null)
            {
                logHelper.Error(new ArgumentException($"Приоритет \"{directumRegistryItem.PriorityInitiatorId}\" не определён в справочнике JIRA"));
            }


            var catalogDepartmentResult = catalog.DepartIt.FirstOrDefault(d => d.Name == directumRegistryItem.DepartmentITId)?.Id.ToString();

            if (catalogDepartmentResult == null)
            {
                logHelper.Error(new ArgumentException($"Подразделение ИТ \"{directumRegistryItem.DepartmentITId}\" не определено в справочнике JIRA"));
            }

            return(catalogIssueTypeResult, catalogPriorityResult, catalogDepartmentResult);
            //return (null, null, null);
        }