Пример #1
0
        public EditJiraWindow(JIRAItem existing = null)
        {
            InitializeComponent();

            vm          = new EditJiraWindowViewModel(this, existing);
            DataContext = vm;
        }
Пример #2
0
 public void UpsertJIRA(JIRAItem jira)
 {
     if (!openJIRAs.Contains(jira))
     {
         throw new NotSupportedException();
     }
 }
Пример #3
0
 private string ConvertToString(JIRAItem j)
 {
     return(string.Join(Delim, j.JiraKey, ToString(j.CreatedDate), ToString(j.DoneDate),
                        GetBoard(j),
                        ToString(j.GetAuxField(AuxFields.Epic)), j.Title,
                        ToString(j.ArchivedDate != null ? null : j.Status) //Don't show status for archived
                        ));
 }
Пример #4
0
        public void UpsertJIRA(JIRAItem jira)
        {
            int?jiraId = null;

            string cmd;

            if (jira.ID == null) //New
            {
                cmd = string.Format("insert into {0} values(NULL,{1},{2},{3},{4},'{5}','{6}','{7}',{8},{9})",
                                    Jiras,
                                    ToStringOrNull(jira.Notes),
                                    ToStringOrNull(jira.ArchivedDate),
                                    ToStringOrNull(jira.DoneDate), //3
                                    (jira.BoardId == null ? NULL : jira.BoardId.ToString()),
                                    SQLUtils.ToSQLDateTime(jira.CreatedDate),
                                    SQLUtils.SQLEncode(jira.Title),
                                    SQLUtils.SQLEncode(jira.JiraKey),
                                    ToStringOrNull(jira.SprintId),
                                    ToStringOrNull(jira.Status)
                                    );
            }
            else //Update
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("update {0} set notes={1}, archived_date={2}, done_date={3}, board_id={4},");
                sb.AppendLine("created_date='{5}', title='{6}', jira_key='{7}', sprint_id={8}, status={9}");
                sb.AppendLine("where id = {10}");

                var str = sb.ToString();

                cmd = string.Format(str,
                                    Jiras,
                                    ToStringOrNull(jira.Notes),
                                    ToStringOrNull(jira.ArchivedDate),
                                    ToStringOrNull(jira.DoneDate),
                                    jira.BoardId == null ? NULL : jira.BoardId.ToString(),
                                    SQLUtils.ToSQLDateTime(jira.CreatedDate),
                                    SQLUtils.SQLEncode(jira.Title),
                                    SQLUtils.SQLEncode(jira.JiraKey),
                                    ToStringOrNull(jira.SprintId),
                                    ToStringOrNull(jira.Status),
                                    jira.ID.Value
                                    );

                jiraId = jira.ID.Value;
            }

            client.ExecuteNonQuery(cmd);

            if (jiraId == null)
            {
                jiraId = SQLUtils.GetLastInsertRow(client);
            }


            UpsertAux(jiraId.Value, jira.GetAuxFields());
        }
Пример #5
0
        public EditJiraWindowViewModel(EditJiraWindow editJiraWindow, JIRAItem existing)
        {
            this.editJiraWindow = editJiraWindow;
            this.existing       = existing;

            Cancelled = true;

            LoadView(existing);
        }
Пример #6
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            JIRAItem jira = value as JIRAItem;

            if (jira == null)
            {
                return(null);
            }

            AuxFields aux = (AuxFields)Enum.Parse(typeof(AuxFields), (string)parameter);

            return(jira.GetAuxField(aux));
        }
Пример #7
0
        private JIRAItem ParseJiraItem(DataRow r)
        {
            JIRAItem jira = new JIRAItem();

            jira.ID = Convert.ToInt32(r["id"]);

            if (!SQLUtils.IsNull(r["archived_date"]))
            {
                jira.ArchivedDate = SQLUtils.ToDateTime(r["archived_date"].ToString());
            }

            if (!SQLUtils.IsNull(r["board_id"]))
            {
                jira.BoardId = Convert.ToInt32(r["board_id"]);
            }

            jira.CreatedDate = SQLUtils.ToDateTime(r["created_date"].ToString());

            if (!SQLUtils.IsNull(r["done_date"]))
            {
                jira.DoneDate = SQLUtils.ToDateTime(r["done_date"].ToString());
            }


            jira.ImportedDate = jira.CreatedDate; //TODO: Track or remove? Need to add to DB

            jira.JiraKey = r["jira_key"].ToString();

            if (!SQLUtils.IsNull(r["notes"]))
            {
                jira.Notes = r["notes"].ToString();
            }

            if (!SQLUtils.IsNull(r["sprint_id"]))
            {
                jira.SprintId = r["sprint_id"].ToString();
            }

            jira.Status = r["status"].ToString();
            jira.Title  = r["title"].ToString();

            //Aux
            Dictionary <AuxFields, object> aux = GetAuxFields(jira.ID.Value);

            jira.SetAuxField(aux);

            return(jira);
        }
Пример #8
0
        private void LoadView(JIRAItem existing)
        {
            if (existing != null)
            {
                JiraKey   = existing.JiraKey;
                Notes     = existing.Notes;
                SprintId  = existing.SprintId;
                Status    = existing.Status;
                JiraTitle = existing.Title;

                IsDone     = existing.DoneDate != null;
                IsArchived = existing.ArchivedDate != null;

                Epic         = existing.GetAuxField(AuxFields.Epic) as string;
                TimeEstimate = existing.GetAuxField(AuxFields.TimeEstimate) as string;
                PullRequest  = existing.GetAuxField(AuxFields.PullRequest) as string;
            }
        }
Пример #9
0
 private string GetBoard(JIRAItem j)
 {
     if (j.DoneDate != null)
     {
         if (j.ArchivedDate != null)
         {
             return("Archived");
         }
         else
         {
             return(AppStateManager.ReadyForRelease);
         }
     }
     else if (j.BoardId == null)
     {
         return(AppStateManager.NotStarted);
     }
     else
     {
         return(BoardMap[j.BoardId.Value]);
     }
 }
Пример #10
0
 public JIRAItemViewModel(JIRAItem item)
 {
     this.item = item;
 }