/// <summary> /// Certificates /// </summary> /// <returns><c>Bag</c> of Certificates</returns> internal static Bag <CrtCertificates> Certificates() { var list = new IndexedList <CrtCertificates>(); foreach (crtCertificates certificate in Context.crtCertificates) { var item = new CrtCertificates { ID = certificate.certificateID, Description = certificate.description.Clean() }; if (certificate.categoryID.HasValue) { item.CategoryID = certificate.categoryID.Value; } if (certificate.classID.HasValue) { item.ClassID = certificate.classID.Value; } if (certificate.grade.HasValue) { item.Grade = certificate.grade.Value; } list.Items.Add(item); } return(new Bag <CrtCertificates>(list)); }
/// <summary> /// Exports the certificate. /// </summary> /// <param name="certificate">The certificate.</param> private static SerializableCertificate ExportCertificate(CrtCertificates certificate) { SerializableCertificate crtCertificate = new SerializableCertificate { ID = certificate.ID, Description = certificate.Description }; // Export prerequesities IEnumerable <SerializableCertificatePrerequisite> listOfPrereq = Database.CrtRelationshipsTable .Where(x => x.ChildID == certificate.ID && x.ParentLevel != 0) .Select(relationship => new SerializableCertificatePrerequisite { ID = Database.InvTypesTable[relationship.ParentTypeID].ID, Skill = Database.InvTypesTable[relationship.ParentTypeID].Name, Level = relationship.ParentLevel.ToString(CultureInfo.InvariantCulture), Grade = (CertificateGrade)Enum.ToObject(typeof(CertificateGrade), relationship.Grade), }); //Add prerequisites to certificate crtCertificate.Prerequisites.AddRange(listOfPrereq.OrderBy(x => x.Grade)); // Add recommendations to certificate IEnumerable <SerializableCertificateRecommendation> listOfRecommendations = Database.CrtRecommendationsTable.Where( x => x.CertificateID == certificate.ID) .Select(recommendation => new SerializableCertificateRecommendation { ID = recommendation.ShipTypeID, ShipName = Database.InvTypesTable[recommendation.ShipTypeID].Name, }); crtCertificate.Recommendations.AddRange(listOfRecommendations); // Add certificate return(crtCertificate); }