private static ClassEnum GetClassByScore(IUCNCategoryEnum a_Category, PriorityEnum a_Priority, int a_Score) { if (a_Category.IsOneOf(IUCNCategoryEnum.NotEvaluated, IUCNCategoryEnum.DataDeficient) || a_Priority == PriorityEnum.DataDeficientNotEvaluated) { return(ClassEnum.DataDeficientNotEvaluated); } if (a_Score.IsOneOf(2, 3, 6, 7, 8, 9)) { return(ClassEnum.Class4); } if (a_Score.IsOneOf(10, 11, 12)) { return(ClassEnum.Class3); } if (a_Score.IsOneOf(13, 14, 15, 16, 17, 18)) { return(ClassEnum.Class2); } if (a_Score.IsOneOf(20, 22, 25)) { return(ClassEnum.Class1); } return(ClassEnum.DataDeficientNotEvaluated); }
private static byte GetScoreByCategoryAndPriority(IUCNCategoryEnum a_Category, PriorityEnum a_Priority) { return((byte)(a_Category.GetEnumScore() + a_Priority.GetEnumScore())); }
private static ClassEnum GetClassByCategoryAndPriority(IUCNCategoryEnum a_Category, PriorityEnum a_Priority) { if (a_Priority == PriorityEnum.DataDeficientNotEvaluated) { return(ClassEnum.DataDeficientNotEvaluated); } if (a_Category == IUCNCategoryEnum.ExtinctInTheWild) { if (a_Priority.IsOneOf(PriorityEnum.BasicPriority, PriorityEnum.MediumPriority)) { return(ClassEnum.Class2); } return(ClassEnum.Class1); } if (a_Category == IUCNCategoryEnum.CriticallyEndangered) { if (a_Priority == PriorityEnum.VeryHighPriority) { return(ClassEnum.Class1); } return(ClassEnum.Class2); } if (a_Category == IUCNCategoryEnum.Endangered) { if (a_Priority == PriorityEnum.VeryHighPriority) { return(ClassEnum.Class1); } if (a_Priority == PriorityEnum.HighPriority) { return(ClassEnum.Class2); } return(ClassEnum.Class3); } if (a_Category == IUCNCategoryEnum.Vulnerable) { if (a_Priority.IsOneOf(PriorityEnum.VeryHighPriority, PriorityEnum.HighPriority)) { return(ClassEnum.Class2); } if (a_Priority == PriorityEnum.MediumPriority) { return(ClassEnum.Class3); } return(ClassEnum.Class4); } if (a_Category == IUCNCategoryEnum.NearThreatened) { if (a_Priority == PriorityEnum.VeryHighPriority) { return(ClassEnum.Class2); } if (a_Priority == PriorityEnum.HighPriority) { return(ClassEnum.Class3); } return(ClassEnum.Class4); } if (a_Category == IUCNCategoryEnum.LeastConcern) { if (a_Priority == PriorityEnum.VeryHighPriority) { return(ClassEnum.Class3); } return(ClassEnum.Class4); } if (a_Category == IUCNCategoryEnum.DataDeficient || a_Category == IUCNCategoryEnum.NotEvaluated) { if (a_Priority == PriorityEnum.VeryHighPriority) { return(ClassEnum.Class1); } if (a_Priority == PriorityEnum.HighPriority) { return(ClassEnum.Class2); } if (a_Priority == PriorityEnum.MediumPriority) { return(ClassEnum.Class3); } if (a_Priority == PriorityEnum.BasicPriority) { return(ClassEnum.Class4); } } throw new ArgumentException(string.Format("Unknown IUCN category: {0}", a_Category)); }