/// <summary> /// Get the Outlook category name for a given category colour. /// If category not yet used, new one added of the form "OGCS [colour]" /// </summary> /// <param name="olCategory">The Outlook category to search by</param> /// <param name="categoryName">Optional: The Outlook category name to also search by</param> /// <returns>The matching category name</returns> public String FindName(Outlook.OlCategoryColor olCategory, String categoryName = null) { if (olCategory == Outlook.OlCategoryColor.olCategoryColorNone) { return(""); } Outlook.Category failSafeCategory = null; foreach (Outlook.Category category in this.categories) { if (category.Color == olCategory) { if (categoryName == null) { if (category.Name.StartsWith("OGCS ")) { return(category.Name); } } else { if (category.Name == categoryName) { return(category.Name); } if (category.Name.StartsWith("OGCS ")) { failSafeCategory = category; } } } } if (failSafeCategory != null) { log.Warn("Failed to find Outlook category " + olCategory.ToString() + " with name '" + categoryName + "'"); log.Debug("Using category with name \"" + failSafeCategory.Name + "\" instead."); return(failSafeCategory.Name); } log.Debug("Did not find Outlook category " + olCategory.ToString() + (categoryName == null ? "" : " \"" + categoryName + "\"")); Outlook.Category newCategory = categories.Add("OGCS " + FriendlyCategoryName(olCategory), olCategory); log.Info("Added new Outlook category \"" + newCategory.Name + "\" for " + newCategory.Color.ToString()); return(newCategory.Name); }
private void btnEval_Click(object sender, EventArgs e) { try { Outlook.OlCategoryColor color = Utils.GetOutlookColorFromRgb("#FF" + txtInput.Text.Trim()); lblResult.Text = color.ToString(); //lblResult.BackColor = Utils.OutlookColorsRgb[color]; } catch (Exception) { } }
public static String FriendlyCategoryName(Outlook.OlCategoryColor olCategory) { return(olCategory.ToString().Replace("olCategoryColor", "").Replace("Dark", "Dark ")); }