public CompatibilityDetailsModel(CompatibilityModel compatibilityModel) { if (compatibilityModel.NineStarKiModel1.MainEnergy == null || compatibilityModel.NineStarKiModel2.MainEnergy == null) { return; } Score = new CompatibilityScoreModel(); ElementCompatibility = new ElementCompatibility(compatibilityModel.NineStarKiModel1, compatibilityModel.NineStarKiModel2, Score); GenderCompatibility = new GenderCompatibility(compatibilityModel.NineStarKiModel1, compatibilityModel.NineStarKiModel2, Score); ModalityCompatibility = new ModalityCompatibility(compatibilityModel.NineStarKiModel1, compatibilityModel.NineStarKiModel2, Score); Score.CalculateAverages(); }
public ElementCompatibility(NineStarKiModel nineStarKiModel1, NineStarKiModel nineStarKiModel2, CompatibilityScoreModel score) { _nineStarKiModel1 = nineStarKiModel1; _nineStarKiModel2 = nineStarKiModel2; FundamentalEnergiesTransformationType = nineStarKiModel1.MainEnergy.Energy.GetTransformationType(nineStarKiModel2.MainEnergy.Energy); FundamentalEnergy1ToCharacterEnergy2TransformationType = nineStarKiModel1.MainEnergy.Energy.GetTransformationType(nineStarKiModel2.CharacterEnergy.Energy); FundamentalEnergy1ToSurfaceEnergy2TransformationType = nineStarKiModel1.MainEnergy.Energy.GetTransformationType(nineStarKiModel2.SurfaceEnergy.Energy); FundamentalEnergy2ToCharacterEnergy1TransformationType = nineStarKiModel2.MainEnergy.Energy.GetTransformationType(nineStarKiModel1.CharacterEnergy.Energy); FundamentalEnergy2ToSurfaceEnergy1TransformationType = nineStarKiModel2.MainEnergy.Energy.GetTransformationType(nineStarKiModel1.SurfaceEnergy.Energy); CharacterEnergiesTransformationType = nineStarKiModel1.CharacterEnergy.Energy.GetTransformationType(nineStarKiModel2.CharacterEnergy.Energy); CharacterEnergy1ToSurfaceEnergy2TransformationType = nineStarKiModel1.CharacterEnergy.Energy.GetTransformationType(nineStarKiModel2.SurfaceEnergy.Energy); CharacterEnergy2ToSurfaceEnergy1TransformationType = nineStarKiModel2.CharacterEnergy.Energy.GetTransformationType(nineStarKiModel1.SurfaceEnergy.Energy); SurfaceEnergiesTransformationType = nineStarKiModel1.SurfaceEnergy.Energy.GetTransformationType(nineStarKiModel2.SurfaceEnergy.Energy); Score = score; FundamentalElementsTransformationDetails = GetFundamentalElementsTransformationDetails(); CharacterElementsTransformationDetails = GetCharacterElementsTransformationDetails(); FundamentalElementsCompatibilityDetails = GetElementCompatibilityDetails(_nineStarKiModel1.MainEnergy, _nineStarKiModel2.MainEnergy); FundamentalElementsCompatibilityDetailsTitle = GetFundamentalElementsCompatibilityTitle(); CharacterElementsCompatibilityDetails = GetElementCompatibilityDetails(_nineStarKiModel1.CharacterEnergy, _nineStarKiModel2.CharacterEnergy); CalculateScore(); Score.CalculateAverages(); AllOtherElementsCompatibility = GetElementsCompatibility(); }