コード例 #1
0
ファイル: IssuesFinder.cs プロジェクト: turnpack/jira-client
        private IEnumerable <T> GetArrayByName <T>(RawIssue issue, string fieldName)
        {
            if (_fields.ContainsKey(fieldName) == false)
            {
                return(Enumerable.Empty <T>());
            }

            var fieldId = _fields[fieldName].Id;

            return(issue.RawFields[fieldId].Select(i => i.Value <T>()));
        }
コード例 #2
0
 private JiraIssue Convert(RawIssue issue)
 {
     return(new JiraIssue
     {
         Key = issue.Key,
         Project = issue.BuiltInFields.Project.Name,
         Summary = issue.BuiltInFields.Summary,
         Priority = issue.BuiltInFields.Priority.Name,
         StoryPoints = (int)(GetFieldByName <float?>(issue, "Story Points") ?? 0),
         Subtasks = issue.BuiltInFields.Subtasks.Count(),
         Created = issue.BuiltInFields.Created,
         Resolved = issue.BuiltInFields.ResolutionDate ?? DateTime.MinValue,
         Status = issue.BuiltInFields.Status.Name,
         Description = issue.BuiltInFields.Description,
         Assignee = (issue.BuiltInFields.Assignee ?? RawUserInfo.EmptyInfo).DisplayName,
         Reporter = (issue.BuiltInFields.Reporter ?? RawUserInfo.EmptyInfo).DisplayName,
         CategoryColor = Colors.White,
         BuiltInFields = issue.BuiltInFields
     });
 }
コード例 #3
0
ファイル: IssuesFinder.cs プロジェクト: turnpack/jira-client
 private JiraIssue Convert(RawIssue issue)
 {
     return(new JiraIssue
     {
         Key = issue.Key,
         Project = issue.BuiltInFields.Project.Name,
         Summary = issue.BuiltInFields.Summary,
         Priority = issue.BuiltInFields.Priority.Name,
         StoryPoints = GetFieldByName <float?>(issue, "Story Points") ?? 0,
         Subtasks = issue.BuiltInFields.Subtasks.Count(),
         Created = issue.BuiltInFields.Created,
         Resolved = issue.BuiltInFields.ResolutionDate,
         Status = issue.BuiltInFields.Status.Name,
         Description = issue.BuiltInFields.Description,
         Assignee = (issue.BuiltInFields.Assignee ?? RawUserInfo.EmptyInfo).DisplayName,
         Reporter = (issue.BuiltInFields.Reporter ?? RawUserInfo.EmptyInfo).DisplayName,
         BuiltInFields = issue.BuiltInFields,
         EpicLink = GetFieldByName <string>(issue, "Epic Link") ?? "",
         SprintIds = (GetArrayByName <string>(issue, "Sprint"))
                     .Select(i => int.Parse(i.Substring(i.IndexOf('=') + 1, i.IndexOf(',') - i.IndexOf('=') - 1))),
         Changelog = issue.Changelog.Histories
     });
 }
コード例 #4
0
        public void saveIssue(Issue issue)
        {
            List <Issue> result;
            RawIssue     raw;
            Filter       filter;

            try
            {
                filter = new Filter();
                filter.Fields.Add(new Field());
                filter.Fields.First().FieldName = "id";
                filter.Fields.First().Value     = issue.id.ToString();

                result = getIssues(filter);

                if (result.Count > 0)
                {
                    saveIssueHistory(new IssueHistory(result.Last()));
                }

                raw = new RawIssue(issue);


                command  = "INSERT OR REPLACE INTO issues(\n";
                command += "'id',\n";
                command += "'number',\n";
                command += "'title',\n";
                command += "'assignee',\n";
                command += "'type',\n";
                command += "'priority',\n";
                command += "'state',\n";
                command += "'component',\n";
                command += "'milestone',\n";
                command += "'version',\n";
                command += "'reporter',\n";
                command += "'created_on',\n";
                command += "'updated_on',\n";
                command += "'raw')\n";
                command += "values (\n";
                command += "@id,\n";
                command += "@number,\n";
                command += "@title,\n";
                command += "@assignee,\n";
                command += "@type,\n";
                command += "@priority,\n";
                command += "@state,\n";
                command += "@component,\n";
                command += "@milestone,\n";
                command += "@version,\n";
                command += "@reporter,\n";
                command += "@created_on,\n";
                command += "@updated_on,\n";
                command += "@raw)\n";;

                parameters = new List <clsDataBaseParametes>();
                parameters.Add(new clsDataBaseParametes("@id", raw.id.ToString()));
                parameters.Add(new clsDataBaseParametes("@number", raw.number));
                parameters.Add(new clsDataBaseParametes("@title", raw.title));
                parameters.Add(new clsDataBaseParametes("@assignee", raw.assignee));
                parameters.Add(new clsDataBaseParametes("@type", raw.kind));
                parameters.Add(new clsDataBaseParametes("@priority", raw.priority));
                parameters.Add(new clsDataBaseParametes("@state", raw.state));
                parameters.Add(new clsDataBaseParametes("@component", raw.component));
                parameters.Add(new clsDataBaseParametes("@milestone", raw.milestone));
                parameters.Add(new clsDataBaseParametes("@version", raw.version));
                parameters.Add(new clsDataBaseParametes("@reporter", raw.reporter));
                parameters.Add(new clsDataBaseParametes("@created_on", raw.created_on.ToString("yyyy-MM-ddTHH:mm:ss")));
                parameters.Add(new clsDataBaseParametes("@updated_on", raw.updated_on.ToString("yyyy-MM-ddTHH:mm:ss")));
                parameters.Add(new clsDataBaseParametes("@raw", raw.raw));


                dataBase.sbExecute(command, parameters);
                dataBase.sbCommit();
            }
            catch (DataBaseException exdb)
            {
                throw new Exception("Database error: " + exdb.Code + " - " + exdb.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }