Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Update ( 
 | 
  Units units_i, 
 | 
  Boolean isBatchEditValidity, 
 | 
  Boolean isBatchEditGIS, 
 | 
  Boolean isBatchEditMisc, 
 | 
  Boolean isBatchEditNote, 
 | 
  Boolean isBatchEditUseShiftOptimization, 
 | 
  String id, 
 | 
  String name, 
 | 
  Unit parent, 
 | 
  String capacitytype, 
 | 
  Group group, 
 | 
  UnitOfMeasure_MP unitofmeasure, 
 | 
  Currency_MP currency, 
 | 
  Date startdate, 
 | 
  Date enddate, 
 | 
  Duration campaigntypeduration, 
 | 
  Boolean isplannedinfinite, 
 | 
  Real minimumquantity, 
 | 
  Boolean hasmaximumquantity, 
 | 
  Real maximumquantity, 
 | 
  Real lotsize, 
 | 
  String usericonname, 
 | 
  String quantitytoprocess, 
 | 
  String giscountrycode, 
 | 
  String giscity, 
 | 
  String gispostalcode, 
 | 
  String notes, 
 | 
  Boolean hascapacitysmoothing, 
 | 
  Boolean issmoothcapacityoverallperiods, 
 | 
  Number usercapacitysmoothinglength, 
 | 
  Real capacitysmoothingpercentagedelta, 
 | 
  Boolean isoverlapcapacitysmoothing, 
 | 
  Boolean isincludedinsupplyspec, 
 | 
  Boolean issupplier, 
 | 
  Boolean hasuserfrozenfutureduration, 
 | 
  Duration userfrozenfutureduration, 
 | 
  Boolean useshiftoptimization, 
 | 
  Boolean isfromdb 
 | 
) 
 | 
{ 
 | 
  Description: 'update methods for web client, with support of batch editing' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // gdn1 Aug-17-2018 (created) 
 | 
    traverse( units_i, Elements, unit ) 
 | 
    { 
 | 
      // Exception on batch edit  
 | 
      if( units_i.Size() > 1 ) 
 | 
      { 
 | 
        // attributes that has no change on batch editing 
 | 
        id          := unit.ID(); 
 | 
        name        := unit.Name(); 
 | 
        parent      := unit.Parent(); 
 | 
        capacitytype:= unit.CapacityType(); 
 | 
        group       := unit.Group(); 
 | 
        unitofmeasure:= unit.UnitOfMeasure_MP(); 
 | 
        currency    := unit.Currency_MP(); 
 | 
        isplannedinfinite := unit.IsPlannedInfinite(); 
 | 
        minimumquantity   := unit.MinimumQuantity(); 
 | 
        hasmaximumquantity:= unit.HasMaximumQuantity(); 
 | 
        maximumquantity   := unit.MaximumQuantity(); 
 | 
        lotsize           := unit.LotSize(); 
 | 
        usericonname      := unit.IconName(); 
 | 
        quantitytoprocess := unit.QuantityToProcess(); 
 | 
         
 | 
        hascapacitysmoothing            := unit.HasCapacitySmoothing(); 
 | 
        issmoothcapacityoverallperiods  := unit.IsSmoothCapacityOverAllPeriods(); 
 | 
        usercapacitysmoothinglength     := unit.UserCapacitySmoothingLength(); 
 | 
        capacitysmoothingpercentagedelta:= unit.CapacitySmoothingPercentageDelta(); 
 | 
        isoverlapcapacitysmoothing      := unit.IsOverlapCapacitySmoothing(); 
 | 
         
 | 
        //if no batch edit, set it with original unit's value 
 | 
        if( not isBatchEditValidity ) 
 | 
        { 
 | 
          startdate := unit.StartDate(); 
 | 
          enddate   := unit.EndDate(); 
 | 
        } 
 | 
     
 | 
        if( not isBatchEditGIS ) 
 | 
        { 
 | 
          giscity         := unit.GISCity(); 
 | 
          giscountrycode  := unit.GISCountryCode(); 
 | 
          gispostalcode   := unit.GISPostalCode(); 
 | 
        }                                                    
 | 
     
 | 
        if( not isBatchEditMisc ) 
 | 
        { 
 | 
          campaigntypeduration        := unit.CampaignTypeDuration(); 
 | 
          hasuserfrozenfutureduration := unit.HasUserFrozenFutureDuration(); 
 | 
          userfrozenfutureduration    := unit.UserFrozenFutureDuration(); 
 | 
          isincludedinsupplyspec      := unit.IsIncludedInSupplySpecification(); 
 | 
          issupplier                  := unit.IsSupplier(); 
 | 
        } 
 | 
         
 | 
        if( not isBatchEditNote ) 
 | 
        { 
 | 
          notes := unit.Notes(); 
 | 
        } 
 | 
         
 | 
        if( not isBatchEditUseShiftOptimization ) 
 | 
        { 
 | 
          useshiftoptimization := unit.UseShiftOptimization(); 
 | 
        } 
 | 
      } 
 | 
       
 | 
      unit.Update( id 
 | 
                  ,name 
 | 
                  ,parent 
 | 
                  ,capacitytype 
 | 
                  ,group 
 | 
                  ,unitofmeasure 
 | 
                  ,currency 
 | 
                  ,startdate 
 | 
                  ,enddate 
 | 
                  ,campaigntypeduration 
 | 
                  ,isplannedinfinite 
 | 
                  ,minimumquantity 
 | 
                  ,hasmaximumquantity 
 | 
                  ,maximumquantity 
 | 
                  ,lotsize 
 | 
                  ,usericonname 
 | 
                  ,quantitytoprocess 
 | 
                  ,giscountrycode 
 | 
                  ,giscity 
 | 
                  ,gispostalcode 
 | 
                  ,notes 
 | 
                  ,hascapacitysmoothing 
 | 
                  ,issmoothcapacityoverallperiods 
 | 
                  ,usercapacitysmoothinglength 
 | 
                  ,capacitysmoothingpercentagedelta 
 | 
                  ,isoverlapcapacitysmoothing 
 | 
                  ,isincludedinsupplyspec 
 | 
                  ,issupplier 
 | 
                  ,hasuserfrozenfutureduration 
 | 
                  ,userfrozenfutureduration 
 | 
                  ,useshiftoptimization 
 | 
                  ,isfromdb  
 | 
                 ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |