/// <summary> /// Constructor from XML. /// </summary> /// <param name="certClass"></param> /// <param name="src"></param> internal StaticCertificate(StaticCertificateClass certClass, SerializableCertificate src) { ID = src.ID; Description = src.Description; Class = certClass; Grades = new Dictionary <CertificateGrade, List <StaticSkillLevel> >(); // Recommendations Recommendations = new StaticRecommendations <Item>(); if (src.Recommendations == null || StaticItems.ShipsMarketGroup == null) { return; } foreach (Ship ship in src.Recommendations .Select(recommendation => StaticItems.ShipsMarketGroup.AllItems.OfType <Ship>() .FirstOrDefault(item => item.Name == recommendation.ShipName)) .Where(ship => ship != null)) { ship.Recommendations.Add(this); Recommendations.Add(ship); } }