| /** | 
|  * Maintenance_Contract_Asset__c と Reapire__c(Account経由)は主従関係、そのままupdate OK | 
|  */ | 
| trigger MaintenanceContractAssetTrigger on Maintenance_Contract_Asset__c ( after insert, after delete ) { | 
|   | 
| System.debug( '-----+MaintenanceContractAssetTrigger start'); | 
|   | 
|     // ---------------------------------------------------------------------- | 
|     // ここより、修理のサービスコントラクト項目を自動的に更新するロジック | 
|     // ---------------------------------------------------------------------- | 
|   | 
|     // 前処理 | 
|     Set<Id> assetIds = new Set<Id>(); | 
| //    Set<Id> serviceIds = new Set<Id>(); | 
|     for ( Maintenance_Contract_Asset__c local : ( Trigger.isInsert ? Trigger.New : Trigger.old)) { | 
|         assetIds.add( local.Asset__c); | 
| //        serviceIds.add( local.Maintenance_Contract__c); | 
|     } | 
|      | 
|     // 処理対象となる修理一覧を得る | 
| //    List<Repair__c> repairList = [SELECT Id, SERVICE_CONTRACT_JUDEGE_DAY__C, Maintenance_Contract__c FROM Repair__C WHERE Delivered_Product__c IN :assetIds]; | 
|     // 修理を更新すれば、修理のTriggerによって、修理のサービスコントラクト項目に値がセットされる | 
| //    update repairList; | 
|   | 
| //    // 処理対象となる、サービス契約の一覧を得る | 
| //    List<Maintenance_Contract__c> serviceList = [SELECT Id, Contract_Start_Date__c, Contract_End_Date__c FROM Maintenance_Contract__c WHERE Id IN :serviceIds]; | 
|   | 
|     // ---------------------------------------------------------------------- | 
|     // ここまで、サービスコントラクト項目を自動的に更新するロジック | 
|     // ---------------------------------------------------------------------- | 
|   | 
| System.debug( '-----+MaintenanceContractAssetTrigger end'); | 
|   | 
| } |