namespace SourceGit.Models { public enum GitFlowBranchType { None, Feature, Release, Hotfix, } public class GitFlow { public string Feature { get; set; } public string Release { get; set; } public string Hotfix { get; set; } public bool IsEnabled { get { return !string.IsNullOrEmpty(Feature) && !string.IsNullOrEmpty(Release) && !string.IsNullOrEmpty(Hotfix); } } public GitFlowBranchType GetBranchType(string name) { if (!IsEnabled) return GitFlowBranchType.None; if (name.StartsWith(Feature)) return GitFlowBranchType.Feature; if (name.StartsWith(Release)) return GitFlowBranchType.Release; if (name.StartsWith(Hotfix)) return GitFlowBranchType.Hotfix; return GitFlowBranchType.None; } } }