using BrilliantSightClient.Model.Entity.ApiEntity; using BrilliantSightClient.Model.GradeLevel.Entity; using BrilliantSightClient.Model.GradeLevel.Entity.DatabaseEntity; using BrilliantSightClient.Model.GradeLevel.Entity.Enum; using BrilliantSightClient.Model.GradeLevel.Exceptions; using BrilliantSightClient.Model.GradeLevel.Helper; using BrilliantSightClient.Model.GradeResult.Entity; using BrilliantSightClient.Model.GradeResult.Entity.Enums; using BrilliantSightClient.Model.Helper; namespace BrilliantSightClient.Model.GradeLevel; public class GradeLevelCalculator { AlgorithmResultEntity _diamondResult; GradeLevelMst _masterLevel; private List _gradeLevelCutSets; private List _gradeLevelSymSets; public GradeLevelCalculator(AlgorithmResultEntity entity) { _diamondResult = entity; var masterSql = $"select * from GRADE_LEVEL_MST where NAME = '{entity.Standard}' and RUNMODE = {Common.RunMode} or RUNMODE = -1 " + $" and SHAPE = {EntityHelper.GetValueFromName(entity.Shape)} and CROWN = {entity.CrownType} and PAVILION = {entity.PavType}" ; var masterLevel = DataBaseHelper.ExecuteQuery(masterSql); if (masterLevel.Count == 0) throw new NotGradeSetException(); _masterLevel = masterLevel.First(); var setsSql = $"select * from GRADE_LEVEL_SET where MST_SIGN = '{_masterLevel.Sign}'"; var levelSets = DataBaseHelper.ExecuteQuery(setsSql); if (masterLevel.Count == 0) throw new NotGradeSetException(); _gradeLevelCutSets = levelSets.FindAll(x => x.Set_Type == GradeType.Cut.GetValue()); _gradeLevelSymSets = levelSets.FindAll(x => x.Set_Type == GradeType.Sym.GetValue()); } public GradeLevelSet GetCutGradeLevelSet(string key, double maxVal, double minVal) { return null; } public GradeLevelSet GetCutTotalGradeLevelSet(List dataInfos) { return null; } public GradeLevelSet GetSymGradeLevelSet(string key, double devVal) { return null; } public GradeLevelSet GetSymTotalGradeLevelSet(List dataInfos) { return null; } }