ScheduleWorks.Utility.Class.SetDetails C# (CSharp) Méthode

SetDetails() public méthode

public SetDetails ( List details ) : void
details List
Résultat void
        public void SetDetails(List<ClassDetails> details)
        {
            if (!this.mDetailsSet)
            {
                this.mDetails = details.Select(x => x.DeepCopy()).ToList();
                this.mDetailsSet = true;
            }
        }

Usage Example

Exemple #1
0
 private void ImportClasses(ref OleDbConnection connection)
 {
     string DetailsSelect = "SELECT [cd].[Class] AS [Class], " +
                            "[cd].Group AS [Group], " +
                            "[cd].[ClassType] AS [ClassTypeID], " +
                            "cd.[BasicClass] AS [BasicClassID], " +
                            "cd.[ClassEdform] AS [EducationFormID]" +
                            "FROM [Class Details] cd";
     OleDbCommand DetailsQuery = new OleDbCommand(DetailsSelect, connection);
     List<ClassDetails> AllDetails = new List<ClassDetails> { };
     using (OleDbDataReader DetailsReader = DetailsQuery.ExecuteReader())
     {
         while (DetailsReader.Read())
         {
             ClassDetails d = new ClassDetails(int.Parse(DetailsReader["Class"].ToString()),
                                               int.Parse(DetailsReader["Group"].ToString()),
                                               this.mTypes.Single(x => x.ID == int.Parse(DetailsReader["ClassTypeID"].ToString())).ShallowCopy(),
                                               this.mBasicClasses.Single(x => x.ID == int.Parse(DetailsReader["BasicClassID"].ToString())).ShallowCopy(),
                                               this.mEducationForms.Single(x => x.ID == int.Parse(DetailsReader["EducationFormID"].ToString())).ShallowCopy());
             AllDetails.Add(d);
         }
     }
     string ClassesSelect = "SELECT [cc].[Class ID] AS [ID], [p].[Paralell class Name] AS [Division], [cc].[Class No] AS [Number] FROM [Code Class] AS [cc] LEFT JOIN [Code Paralell class] AS [p] ON [cc].[Class No] = [p].[Paralell class ID]";
     OleDbCommand ClassesQuery = new OleDbCommand(ClassesSelect, connection);
     using (OleDbDataReader ClassesReader = ClassesQuery.ExecuteReader())
     {
         while (ClassesReader.Read())
         {
             BasicClass bc = this.mBasicClasses.Single(x => x.ID == int.Parse(ClassesReader["Number"].ToString()));
             int id = int.Parse(ClassesReader["ID"].ToString());
             List<ClassDetails> details = AllDetails.Where(x => x.ID == id).ToList();
             Class c = new Class(id,
                                 ClassesReader["Division"].ToString(),
                                 bc);
             foreach (var item in details)
             {
                 item.SetDetailed(c);
             }
             c.SetDetails(details);
             c.ShortName = c.Name;
             this.mClasses.Add(c);
         }
     }
 }