home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / drscorpobj.tcl < prev    next >
Text File  |  1997-08-29  |  2KB  |  92 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)drscorpobj.tcl    /main/titanic/4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)drscorpobj.tcl    /main/titanic/4   29 Aug 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "drslevelob.tcl"
  15.  
  16. Class DrsCorpObject : {DrsLevelObject} {
  17.     method destructor
  18.     constructor
  19.     method install
  20.     method synObjects
  21.     method deleteObject
  22.     method filter
  23. }
  24.  
  25. method DrsCorpObject::destructor {this} {
  26.     # Start destructor user section
  27.     # End destructor user section
  28.     $this DrsLevelObject::destructor
  29. }
  30.  
  31. constructor DrsCorpObject {class this corp} {
  32.     set this [DrsLevelObject::constructor $class $this $corp "" "" ""]
  33.     $this childLevels [$corp projects]
  34.     return $this
  35. }
  36.  
  37. method DrsCorpObject::install {this} {
  38.     return "1"
  39. }
  40.  
  41. method DrsCorpObject::synObjects {this} {
  42.     return "1"
  43.     [.main messageArea] message  "synchronizing corporate"
  44.     set levelObj [$this level]
  45.     set projects [$levelObj projects]
  46.     set childs [$levelObj getPropertyValue  ${DrsDriver::FORMALMODULE}_SelectedItems]
  47.  
  48.     foreach pr $childs {
  49.         set dxlCommand [$this getDxlCommand]
  50.         set toSend 0
  51.         set toSynch 1
  52.         foreach project $projects {
  53.         if {$pr == [$project name]} {
  54.             set toSynch 0
  55.             break
  56.         }
  57.         }
  58.         if !$toSynch {
  59.         continue
  60.         }
  61.     
  62.         set objIds [$levelObj getPropertyValue ${DrsDriver::FORMALMODULE}_${pr}_ids]
  63.         foreach doorsObjId $objIds {
  64.         set toSend 1
  65.         set searchObject [$dxlCommand doorsObjectFind $doorsObjId]
  66.         $dxlCommand doorsObjectDelete $searchObject
  67.         }
  68.         if !$toSend {
  69.         continue
  70.         }
  71.         $dxlCommand doorsResultSave "1"
  72.         set dxlResult [$this sendDxlCommand]
  73.         if {$dxlResult <= 0 } {
  74.         wmtkinfo "Operation on corporate canceled"
  75.         return
  76.         }
  77.         $levelObj removeProperty ${DrsDriver::FORMALMODULE}_${pr}_ids
  78.         set remInd [lsearch $childs $pr]
  79.         set childs [lreplace $childs $remInd $remInd]
  80.         $levelObj setProperty ${DrsDriver::FORMALMODULE}_SelectedItems $childs
  81.     }
  82. }
  83.  
  84. method DrsCorpObject::deleteObject {this} {
  85. }
  86.  
  87. method DrsCorpObject::filter {this majorOper minorOper} {
  88. }
  89.  
  90. # Do not delete this line -- regeneration end marker
  91.  
  92.