public override void GetRezult(ref ResearchFieldResult rezult, object classObject) { base.GetRezult(ref rezult, classObject); int val = (int)rezult.FieldValue; if (val >= 60 && val <= 70) { rezult.Level = ResearchLevel.Medium; return; } if (val < 60) { if (60 - val <= 5) { rezult.Level = ResearchLevel.LowMedium; return; } if (60 - val <= 10) { rezult.Level = ResearchLevel.UpperLow; return; } if (60 - val <= 15) { rezult.Level = ResearchLevel.LowMedium; return; } if (60 - val <= 20) { rezult.Level = ResearchLevel.Low; return; } } else if (val > 70) { if (val - 70 <= 5) { rezult.Level = ResearchLevel.UpperMedium; return; } if (val - 70 <= 10) { rezult.Level = ResearchLevel.Lowhigh; return; } if (val - 70 <= 15) { rezult.Level = ResearchLevel.High; return; } if (val - 70 <= 20) { rezult.Level = ResearchLevel.UpperHigh; return; } } }
public virtual void GetRezult(ref ResearchFieldResult rezult, object classObject) { var variable = ObjecType.GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public) .Where(field => field.FieldType == FieldType && field.Name.Contains(FieldName)) .FirstOrDefault(); if (variable == null) { throw new Exception(); } rezult.FieldValue = variable.GetValue(classObject); }
public override void GetRezult(ref ResearchFieldResult rezult, object classObject) { base.GetRezult(ref rezult, classObject); int val = (int)rezult.FieldValue; int percentage = MaxCount * 100 / val; if (percentage == 100) { rezult.Level = ResearchLevel.Medium; return; } if (percentage > 95) { rezult.Level = ResearchLevel.Low; return; } if (percentage > 90) { rezult.Level = ResearchLevel.UpperLow; return; } if (percentage > 85) { rezult.Level = ResearchLevel.LowMedium; return; } if (percentage > 80) { rezult.Level = ResearchLevel.UpperMedium; return; } if (percentage > 70) { rezult.Level = ResearchLevel.Lowhigh; return; } if (percentage > 60) { rezult.Level = ResearchLevel.High; return; } if (percentage > 50) { rezult.Level = ResearchLevel.UpperHigh; return; } if (percentage < 50) { rezult.Level = ResearchLevel.Critical; return; } }
public override void GetRezult(ref ResearchFieldResult rezult, object classObject) { var weather = classObject as Weather; rezult.FieldValue = weather; if (weather == null) { rezult.Level = ResearchLevel.None; return; } if (weather.WindSpeed <= 5 && Math.Abs(weather.Pressure - 760) < 5 && weather.Humidity < 70 && 24 - weather.Tempherature <= 2) { rezult.Level = ResearchLevel.Medium; return; } if (weather.WindSpeed - 5 <= 10 && Math.Abs(weather.Pressure - 760) < 10 && 75 - weather.Humidity < 5 && Math.Abs(weather.Tempherature) < 5) { rezult.Level = ResearchLevel.Low; return; } if (weather.WindSpeed - 5 <= 20 && Math.Abs(weather.Pressure - 760) < 15 && 80 - weather.Humidity < 5 && Math.Abs(weather.Tempherature) < 7) { rezult.Level = ResearchLevel.UpperLow; return; } if (weather.WindSpeed - 5 <= 30 && Math.Abs(weather.Pressure - 760) < 20 && 85 - weather.Humidity < 5 && Math.Abs(weather.Tempherature) < 10) { rezult.Level = ResearchLevel.LowMedium; return; } if (weather.WindSpeed - 5 <= 40 && Math.Abs(weather.Pressure - 760) < 25 && 90 - weather.Humidity < 5 && Math.Abs(weather.Tempherature) < 13) { rezult.Level = ResearchLevel.UpperMedium; return; } if (weather.WindSpeed - 5 <= 50 && Math.Abs(weather.Pressure - 760) < 27 && 95 - weather.Humidity < 5 && Math.Abs(weather.Tempherature) < 15) { rezult.Level = ResearchLevel.Lowhigh; return; } if (weather.WindSpeed - 5 <= 50 && Math.Abs(weather.Pressure - 760) < 28 && 97 - weather.Humidity < 5 && Math.Abs(weather.Tempherature) < 15) { rezult.Level = ResearchLevel.High; return; } if (weather.WindSpeed - 5 > 50 && Math.Abs(weather.Pressure - 760) > 28 && 100 - weather.Humidity < 3 && Math.Abs(weather.Tempherature) > 15) { rezult.Level = ResearchLevel.UpperHigh; return; } }
private Dictionary <string, ResearchFieldResult> GetCalculation(IData data) { var dictionary = new Dictionary <string, ResearchFieldResult>(); var serializableData = data as SerializableClass; if (serializableData == null) { return(null); } ResearchFieldResult rezult; dictionary.Add("Location", new ResearchFieldResult { FieldValue = serializableData.Location, Level = ResearchLevel.None }); dictionary.Add("NatureOfBattle", new ResearchFieldResult { FieldValue = null, Level = ResearchLevel.None }); dictionary.Add("SolderID", new ResearchFieldResult { FieldValue = serializableData.SolderID, Level = ResearchLevel.None }); dictionary.Add("DateID", new ResearchFieldResult { FieldValue = serializableData.DateID, Level = ResearchLevel.None }); rezult = new ResearchFieldResult(); new WeatherRezulter().GetRezult(ref rezult, serializableData.WeatherID); dictionary.Add("Weather", rezult); rezult = new ResearchFieldResult(); new PulseRezulter(serializableData.Pulse.GetType(), "Pulse", serializableData.GetType()).GetRezult(ref rezult, serializableData); dictionary.Add("Pulse", rezult); rezult = new ResearchFieldResult(); new AmmunittionRezulter(serializableData.BulletProofVestState.GetType(), "Ammunittions", serializableData.GetType(), 250).GetRezult(ref rezult, serializableData); dictionary.Add("Ammunittions", rezult); rezult = new ResearchFieldResult(); new BulletProofRezulter(serializableData.BulletProofVestState.GetType(), "BulletProofVestState", serializableData.GetType()).GetRezult(ref rezult, serializableData); dictionary.Add("BulletProofVestState", rezult); return(dictionary); }