haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Quintiq file version 2.0
#parent: #root
Method ImportFromDBCIMAll (
  Boolean isrefreshfromsource,
  Boolean isimportequipment,
  Boolean isimportcalendar
) as stream[LibDIF_IntegrationAPI]
{
  Description: 'Import Data from DII library'
  TextBody:
  [*
    // There is a wait logic ( Merge ) for this method in order to wait for every Import from CIM library to be done before starting synchronization
    
    result :=
    this.CIM_IntegrationAPI().GetIntegrationDataset()
    ->( test )
    {
      result := null( stream[LibDIF_IntegrationAPI] );
      
      if( isrefreshfromsource )
      {
        // Equipment
        if( isimportequipment and isimportcalendar )
        {
          // Call CIM Import method for Equipment AND Calendar
          result := this.CIM_IntegrationAPI()->ImportFromDBAndSynchronize( typeof( Broker_DII_CIM_DB_Import_Equipment ).Name(),
                                                                           CIM_DataTransformationEquipment::ID() )->Merge( this.CIM_IntegrationAPI()->ImportFromDBAndSynchronize( typeof( Broker_DII_CIM_DB_Import_Calendars ).Name(),
                                                                                                                                                                                  LibDII_CalendarDataTransformation::ID() ) );
          }
          else if( isimportequipment )
          {
            // Call CIM Import method for Equipment
            result := this.CIM_IntegrationAPI()->ImportFromDBAndSynchronize( typeof( Broker_DII_CIM_DB_Import_Equipment ).Name(),
                                                                             CIM_DataTransformationEquipment::ID() );
          }
          else if( isimportcalendar )
          {
            // Call CIM Import method for Calendar
            result := this.CIM_IntegrationAPI()->ImportFromDBAndSynchronize( typeof( Broker_DII_CIM_DB_Import_Calendars ).Name(),
                                                                             LibDII_CalendarDataTransformation::ID() );
          }
        }
      return result;
    }
    return result;
  *]
}