Esempio n. 1
0
        private Color getDiscussionCountColor(FullMergeRequestKey fmk, bool isSelected)
        {
            if (isSummaryKey(fmk))
            {
                return(Color.Black);
            }

            DiscussionCount dc = _dataCache?.DiscussionCache?.GetDiscussionCount(
                new MergeRequestKey(fmk.ProjectKey, fmk.MergeRequest.IId)) ?? default(DiscussionCount);

            if (dc.Status != DiscussionCount.EStatus.Ready || dc.Resolvable == null || dc.Resolved == null)
            {
                return(Color.Black);
            }

            if (dc.Resolvable.Value == dc.Resolved.Value)
            {
                return(isSelected ? Color.SpringGreen : Color.Green);
            }

            Debug.Assert(dc.Resolvable.Value > dc.Resolved.Value);
            return(isSelected ? Color.Orange : Color.Red);
        }
Esempio n. 2
0
        private string getDiscussionCount(MergeRequestKey mrk)
        {
            if (_dataCache?.DiscussionCache == null)
            {
                return("N/A");
            }

            DiscussionCount dc = _dataCache.DiscussionCache.GetDiscussionCount(mrk);

            switch (dc.Status)
            {
            case DiscussionCount.EStatus.NotAvailable:
                return("N/A");

            case DiscussionCount.EStatus.Loading:
                return("Loading...");

            case DiscussionCount.EStatus.Ready:
                return(String.Format("{0} / {1}", dc.Resolved.Value, dc.Resolvable.Value));
            }

            Debug.Assert(false);
            return("N/A");
        }