/// <summary> /// 删除坐席信息 /// </summary> /// <param name="req"><see cref="DeleteStaffRequest"/></param> /// <returns><see cref="DeleteStaffResponse"/></returns> public DeleteStaffResponse DeleteStaffSync(DeleteStaffRequest req) { JsonResponseModel <DeleteStaffResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "DeleteStaff"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <DeleteStaffResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public DeleteStaffResponse DeleteStaff(DeleteStaffRequest request) { try { var broker = PersistenceContext.GetBroker <IStaffBroker>(); var item = broker.Load(request.StaffRef, EntityLoadFlags.Proxy); //bug #3324: because StaffGroup owns the collection, need to iterate over each group //and manually remove this staff var groups = new List <StaffGroup>(item.Groups); foreach (var group in groups) { group.RemoveMember(item); } broker.Delete(item); PersistenceContext.SynchState(); return(new DeleteStaffResponse()); } catch (PersistenceException) { throw new RequestValidationException(string.Format(SR.ExceptionFailedToDelete, TerminologyTranslator.Translate(typeof(Staff)))); } }