@RestResource(urlMapping='/OFSHpCancel/*')
|
global with sharing class OFSHpCancelRest {
|
@HttpPost
|
global static void doPost(Id Eid) {
|
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, HPArriveFlg__c, HPLeaveFlg__c, EndDateTime_org__c, StartDateTime_org__c
|
from Event where id = :Eid];
|
if(elist.size()<=0){
|
//TODO:
|
//error message:no event or wrong Id
|
res.statusCode = 200;
|
jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorFailure +'", "'+ System.Label.OFSErrorMessage +'": "No matching event was found"}';
|
res.responseBody = blob.valueOf(jsonResponse);
|
return;
|
}else{
|
//TODO:
|
//cancle
|
if(elist[0].StartDateTime_org__c!=null && elist[0].EndDateTime_org__c!=null){
|
elist[0].StartDateTime = elist[0].StartDateTime_org__c;
|
elist[0].EndDateTime = elist[0].EndDateTime_org__c;
|
elist[0].DurationInMinutes = Integer.valueOf((elist[0].EndDateTime.getTime() - elist[0].StartDateTime.getTime()) / 1000 / 60);
|
}
|
elist[0].HPArriveFlg__c = false;
|
elist[0].HPLeaveFlg__c = false;
|
try{
|
update elist[0];
|
res.statusCode = 200;
|
jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorSuccess +'", "'+ System.Label.OFSErrorMessage +'": "'+ elist[0].Id +'"}';
|
res.responseBody = blob.valueOf(jsonResponse);
|
return;
|
}catch ( Exception ex ) {
|
//TODO:
|
//error message:cannot update exception
|
res.statusCode = 200;
|
jsonResponse = '{"'+ System.Label.OFSErrorStatus +'": "'+ System.Label.OFSErrorFailure +'", "'+ System.Label.OFSErrorMessage +'": "'+ ex +'"}';
|
res.responseBody = blob.valueOf(jsonResponse);
|
return;
|
}
|
}
|
}
|
}
|