/// <summary> /// Deserialization constructor. /// </summary> /// <param name="src"></param> internal StaticCertificateGroup(SerializableCertificateGroup src) : base(src.Classes.Count) { ID = src.ID; Name = src.Name; Description = src.Description; foreach (SerializableCertificateClass srcClass in src.Classes) { Items.Add(new StaticCertificateClass(this, srcClass)); } }
/// <summary> /// Generate the certificates datafile. /// </summary> internal static void GenerateDatafile() { Stopwatch stopwatch = Stopwatch.StartNew(); Util.ResetCounters(); Console.WriteLine(); Console.Write(@"Generating certificates datafile... "); // Export certificates groups List <SerializableCertificateGroup> listOfCertGroups = new List <SerializableCertificateGroup>(); foreach (InvGroups group in Database.CrtCertificatesTable.GroupBy(x => x.GroupID) .Select(x => Database.InvGroupsTable[x.Key]).OrderBy(x => x.Name)) { SerializableCertificateGroup crtGroup = new SerializableCertificateGroup { ID = group.ID, Name = group.Name, Description = group.Description }; // Add classes to categories crtGroup.Classes.AddRange(ExportCertificateClasses(group).OrderBy(x => x.Name)); //// Add category listOfCertGroups.Add(crtGroup); } // Serialize CertificatesDatafile datafile = new CertificatesDatafile(); datafile.Groups.AddRange(listOfCertGroups); Util.DisplayEndTime(stopwatch); Util.SerializeXml(datafile, DatafileConstants.CertificatesDatafile); }