コード例 #1
0
        public async Task <string> GetStatusChangeTextAsync(InitiativeStatus status, bool isPastTense = false)
        {
            TemplateKey key = new TemplateKey()
            {
                Category = StringTemplateCategory.StatusDescription,
                Key      = string.Concat(status.ToString(), isPastTense ? "_past" : "_present")
            };
            string template = _stringTemplateCache.ContainsKey(key) ? _stringTemplateCache[key] : null;

            if (string.IsNullOrWhiteSpace(template))
            {
                template = await _ideaContext.StringTemplates
                           .Where(x => x.Category == key.Category && x.Key == key.Key)
                           .Select(x => x.Text)
                           .FirstOrDefaultAsync();

                if (string.IsNullOrWhiteSpace(template))
                {
                    throw new KeyNotFoundException($"Unable to find a StringTemplate with category {key.Category} and key {key.Key}");
                }

                _stringTemplateCache[key] = template;
            }

            return(template);
        }
コード例 #2
0
        private static string GetTitle(InitiativeStatus status)
        {
            switch (status)
            {
            case InitiativeStatus.Initiate:
                return("Initiated");

            case InitiativeStatus.Submit:
                return("Submitted");

            case InitiativeStatus.Review:
                return("In Review");

            case InitiativeStatus.Collaborate:
                return("In Collaboration");

            case InitiativeStatus.Deliver:
                return("In Delivery");

            case InitiativeStatus.Cancelled:
                return("Cancelled");

            default:
                return(status.ToString());
            }
        }