Сделка закрывается из самописной формы по следующему коду
Код:
OpportunityState statecode = (OpportunityState)(rblStateCode.SelectedIndex + 1);
CRMServiceConnection.CreateCRMService(OrgName).Update(opp);
opportunityclose oppclose = new opportunityclose();
oppclose.opportunityid = new Lookup();
oppclose.opportunityid.type = EntityName.opportunity.ToString();
oppclose.opportunityid.Value = new Guid(Request.QueryString["id"]);
switch (statecode)
{
case OpportunityState.Won:
WinOpportunityRequest wor = new WinOpportunityRequest();
wor.OpportunityClose = oppclose;
wor.Status = statuscode;
CRMServiceConnection.CreateCRMService(OrgName).Execute(wor);
break;
case OpportunityState.Lost:
LoseOpportunityRequest lor = new LoseOpportunityRequest();
lor.OpportunityClose = oppclose;
lor.Status = statuscode;
CRMServiceConnection.CreateCRMService(OrgName).Execute(lor);
break;
}
Но встала задача одновременно если сделка не успешна, то дополнительно отменять все связанные с ней действия тренинга.
Не могу понять каким образом закрывать еще и связанные с ней действия тренинга при закрытии сделки. Подскажите как это можно сделать.
Сам код отмены действий тренинга вроде такой
Код:
SetStateServiceAppointmentRequest setStateReq = new SetStateServiceAppointmentRequest();
setStateReq.EntityId = new Guid(entityId);
setStateReq.ServiceAppointmentState = ServiceAppointmentState.Cancel;
setStateReq.ServiceAppointmentStatus = 9;
webService.Execute(setStateReq);