高章伟
2022-02-24 2aa8da8af66aa8ae00f25831aed6bb0364176e7b
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
@RestResource(urlMapping='/OFSHpExcept/*')
global with sharing class OFSHPExceptRest {
    @HttpPost
    global static void doPost(Id Eid) {
        system.debug('OFSHPExceptRest.start');
        RestResponse res = RestContext.response;
        res.addHeader('Content-Type', 'application/json');
        
        String jsonResponse;
        List<Event> elist = [select 
                                  id, ActivityDate, OwnerId, Subject, whatid__c, EventC_ID__c, NextEventC_ID__c, AppCdId__c, SyncCreatedDate__c, 
                                  StartDateTime, EndDateTime, DurationInMinutes, Main_Visit_Location__c, Activity_Type2__c, IsScheduled__c, BeforeActivityDate__c,
                                  Purpose_Type__c, Location, Related_Opportunity1__c, Related_Service1__c, Related_Opportunity1_ID__c, Related_Service1_ID__c, 
                                  WS_flg__c, HPLeaveFlg__c, EndDateTime_org__c, StartDateTime_org__c
                            from Event where id = :Eid];
        if (elist.size()<=0) {
            //error message:no event or wrong Id 
            res.statusCode = 200;
            //jsonResponse = '{"status": "Failure", "Message": "No matching event was found"}';
            jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorFailure +'", "'+ System.Label.OFSErrorMessage +'": "No matching event was found"}';
            res.responseBody = blob.valueOf(jsonResponse);
               return;
        } else {
            elist[0].WS_flg__c = !elist[0].WS_flg__c;
            try{
                update elist[0];
                system.debug('OFSHpLeaveRest.DurationInMinutes:' + elist[0].DurationInMinutes);
                res.statusCode = 200;
                //jsonResponse = '{"status": "Success", "Message": "' + elist[0].Id + '"}';
                jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorSuccess +'", "'+ System.Label.OFSErrorMessage +'": "'+ elist[0].Id +'"}';
                res.responseBody = blob.valueOf(jsonResponse);
                return;
            }catch ( Exception ex ) {
                //error message:cannot update exception
                res.statusCode = 200;
                //jsonResponse = '{"status": "Failure", "Message": "' + ex + '"}';
                jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorFailure +'", "'+ System.Label.OFSErrorMessage +'": "'+ ex +'"}';
                res.responseBody = blob.valueOf(jsonResponse);
                return;
            }
        }
    }
}