package com.vci.client.workflow.delegate;
import java.util.Date;
import com.vci.client.ClientSession;
import com.vci.client.common.objects.UserEntityObject;
import com.vci.client.framework.delegate.ClientBaseDelegate;
import com.vci.client.ui.exception.VCIException;
import com.vci.client.workflow.task.approve.object.FlowApproveContentObject;
import com.vci.common.objects.QueryParam;
import com.vci.common.objects.QueryResult;
import com.vci.corba.common.VCIError;
import com.vci.corba.workflow.data.QueryParamInfo;
import com.vci.corba.workflow.method.WorkflowService.GetFlowApproveContentByPageingResult;
import com.vci.corba.workflow.data.FlowApproveContentInfo;
/**
* FlowApproveContent Client Delegate
*
*/
public class FlowApproveContentClientDelegate extends ClientBaseDelegate{
/**
*
*/
private static final long serialVersionUID = 1L;
public FlowApproveContentClientDelegate(UserEntityObject userEntityObject) {
}
/**
* 添加、保存 FlowApproveContent 对象
* @param info FlowApproveContentInfo 对象
*/
public boolean saveFlowApproveContent(FlowApproveContentObject object) throws VCIException{
try{
FlowApproveContentInfo info = this.convertFlowApproveContentObjectToFlowApproveContentInfo(object);
return ClientSession.getWorkflowService().saveFlowApproveContent(info, userEntityInfo);
}catch(VCIError e){
throw new VCIException(String.valueOf(e.code), e.messages);
}
}
/**
* 修改、更新 FlowApproveContent 对象
* @param info FlowApproveContentInfo 对象
*/
public boolean updateFlowApproveContent(FlowApproveContentObject object) throws VCIException{
try{
FlowApproveContentInfo info = this.convertFlowApproveContentObjectToFlowApproveContentInfo(object);
return ClientSession.getWorkflowService().updateFlowApproveContent(info, userEntityInfo);
}catch(VCIError e){
throw new VCIException(String.valueOf(e.code), e.messages);
}
}
/**
* 根据 ID 删除 FlowApproveContent 对象(批量)
* @param ids FlowApproveContent 对象的 ID 列表
*/
public boolean deleteFlowApproveContent(String[] ids) throws VCIException{
try{
return ClientSession.getWorkflowService().deleteFlowApproveContent(ids, userEntityInfo);
}catch(VCIError e){
throw new VCIException(String.valueOf(e.code), e.messages);
}
}
/**
* 返回全部的 FlowApproveContent 对象
*/
public FlowApproveContentObject[] getFlowApproveContents() throws VCIException{
try{
FlowApproveContentInfo[] infos = ClientSession.getWorkflowService().getFlowApproveContents(userEntityInfo);
return this.convertFlowApproveContentInfosToFlowApproveContentObjects(infos);
}catch(VCIError e){
throw new VCIException(String.valueOf(e.code), e.messages);
}
}
/**
* 根据分页参数 返回 FlowApproveContent 对象
*
Description:
* @param queryParam 查询参数
* @return 查询结果
* @throws VCIError
*/
public QueryResult getFlowApproveContentByPageing(QueryParam queryParam) throws VCIException{
try{
QueryResult res = new QueryResult();
QueryParamInfo queryParamInfo = convertQueryParam(queryParam);
GetFlowApproveContentByPageingResult result = ClientSession.getWorkflowService().getFlowApproveContentByPageing(queryParamInfo, userEntityInfo);
FlowApproveContentInfo[] infos = result.returnValue;
res.setTotal((int)result.total);
res.setDatas(this.convertFlowApproveContentInfosToFlowApproveContentObjects(infos));
return res;
}catch(VCIError e){
throw new VCIException(String.valueOf(e.code), e.messages);
}
}
/**
* 根据 ID 返回 FlowApproveContent 对象
* @param info FlowApproveContentInfo 对象
*/
public FlowApproveContentObject getFlowApproveContentById(String id) throws VCIException{
try{
FlowApproveContentInfo info = ClientSession.getWorkflowService().getFlowApproveContentById(id, userEntityInfo);
return this.convertFlowApproveContentInfoToFlowApproveContentObject(info);
}catch(VCIError e){
throw new VCIException(String.valueOf(e.code), e.messages);
}
}
/************************* CORBA & CLIENT CONVERT **************************/
/**
* 对象转换(批量),从 Client 对象转换到 Corba 对象
* @param infos
* @return
*/
public FlowApproveContentInfo[] convertFlowApproveContentObjectsToFlowApproveContentInfos(FlowApproveContentObject[] objects){
FlowApproveContentInfo[] infos = new FlowApproveContentInfo[objects.length];
int i = 0;
for(FlowApproveContentObject obj : objects){
infos[i++] = this.convertFlowApproveContentObjectToFlowApproveContentInfo(obj);
}
return infos;
}
/**
* 对象转换,从 Client 对象转换到 Corba 对象
* @param infos
* @return
*/
public FlowApproveContentInfo convertFlowApproveContentObjectToFlowApproveContentInfo(FlowApproveContentObject object){
FlowApproveContentInfo info = new FlowApproveContentInfo();
info.id = object.getId() == null ? "" : object.getId();
info.userId = object.getUserId() == null ? "" : object.getUserId();
info.approveContent = object.getApproveContent() == null ? "" : object.getApproveContent();
info.seq = object.getSeq();
info.createTime = object.getCreateTime().getTime();
info.createUser = object.getCreateUser() == null ? "" : object.getCreateUser();
info.createRole = object.getCreateRole() == null ? "" : object.getCreateRole();
info.createOrg = object.getCreateOrg() == null ? "" : object.getCreateOrg();
info.modifyTime = object.getModifyTime().getTime();
info.modifyUser = object.getModifyUser() == null ? "" : object.getModifyUser();
info.modifyRole = object.getModifyRole() == null ? "" : object.getModifyRole();
info.modifyOrg = object.getModifyOrg() == null ? "" : object.getModifyOrg();
info.licensors = object.getLicensors() == null ? "" : object.getLicensors();
return info;
}
/**
* 对象转换(批量),从 Corba 对象转换到 Client 对象
* @param infos
* @return
*/
public FlowApproveContentObject[] convertFlowApproveContentInfosToFlowApproveContentObjects(FlowApproveContentInfo[] infos){
FlowApproveContentObject[] objects = new FlowApproveContentObject[infos.length];
int i = 0;
for(FlowApproveContentInfo info : infos){
objects[i++] = this.convertFlowApproveContentInfoToFlowApproveContentObject(info);
}
return objects;
}
/**
* 对象转换,从 Corba 对象转换到 Client 对象
* @param infos
* @return
*/
public FlowApproveContentObject convertFlowApproveContentInfoToFlowApproveContentObject(FlowApproveContentInfo info){
FlowApproveContentObject object = new FlowApproveContentObject();
object.setId(info.id);
object.setUserId(info.userId);
object.setApproveContent(info.approveContent);
object.setSeq(info.seq);
object.setCreateTime(new Date(info.createTime));
object.setCreateUser(info.createUser);
object.setCreateRole(info.createRole);
object.setCreateOrg(info.createOrg);
object.setModifyTime(new Date(info.modifyTime));
object.setModifyUser(info.modifyUser);
object.setModifyRole(info.modifyRole);
object.setModifyOrg(info.modifyOrg);
object.setLicensors(info.licensors);
return object;
}
/**
* 对象转换,从 Client 对象 对象转换到 Client 对象
* @param infos
* @return
*/
public FlowApproveContentObject convertFlowApproveContentObjectToFlowApproveContentObject(FlowApproveContentObject object){
FlowApproveContentObject objectRes = new FlowApproveContentObject();
objectRes.setId(object.getId());
objectRes.setUserId(object.getUserId());
objectRes.setApproveContent(object.getApproveContent());
objectRes.setSeq(object.getSeq());
objectRes.setCreateTime(object.getCreateTime());
objectRes.setCreateUser(object.getCreateUser());
objectRes.setCreateRole(object.getCreateRole());
objectRes.setCreateOrg(object.getCreateOrg());
objectRes.setModifyTime(object.getModifyTime());
objectRes.setModifyUser(object.getModifyUser());
objectRes.setModifyRole(object.getModifyRole());
objectRes.setModifyOrg(object.getModifyOrg());
objectRes.setLicensors(object.getLicensors());
return objectRes;
}
protected QueryParamInfo convertQueryParam(QueryParam obj){
QueryParamInfo info = new QueryParamInfo();
info.customQueryString = obj.getCustomQueryString();
info.pageIndex = obj.getPageIndex();
info.pageSize = obj.getPageSize();
return info;
}
}