Contract :
[
DataContractAttribute,
SysOperationContractProcessingAttribute(classStr(ProjHourUtilisationUIBuilder))
// SysOperationContractProcessingAttribute(classstr(ProjHourUtilisationUIBuilder), SysOperationDataContractProcessingMode::CreateSeparateUIBuilderForEachContract)
//SysOperationGroupAttribute('PrintOut', "@SYS12608", '2')
]
class ProjHourUtilisationContract implements SysOperationValidatable
{
ProjWorkerRecId projWorkerRecId;
ProjId projId;
ProjCategoryId category;
FromDate fromDate;
ToDate toDate;
}
/// <summary>
[
DataMemberAttribute('ToDate'),
SysOperationGroupMemberAttribute('Date'),
SysOperationDisplayOrderAttribute('5')
]
public ToDate parmToDate(ToDate _toDate = toDate)
{
toDate = _toDate;
return toDate;
}
=================================================public boolean validate()
{
boolean isValid = true;
if(!projWorkerRecId)
throw error(“Select Employee ID”);*/
return isValid;
}
[
DataMemberAttribute('Category'),
SysOperationDisplayOrderAttribute('2')
]
public ProjCategoryId parmCategory(ProjCategoryId _ProjCategoryId = category)
{
category = _ProjCategoryId;
return category;
}
[
DataMemberAttribute('FromDate'),
SysOperationGroupMemberAttribute('Date'),
SysOperationDisplayOrderAttribute('4')
]
public FromDate parmFromDate(FromDate _fromDate = fromDate)
{
fromDate = _fromDate;
return fromDate;
}
UI Builder Class:
class ProjHourUtilisationUIBuilder extendsSysOperationAutomaticUIBuilder
{
ProjHourUtilisationContract projHourUtilisationContract;
DialogField dialogCategory;
DialogField dialogProject;
DialogField dialogEmployee;
DialogField fromDate;
DialogField toDate;
}
public void build()
{
Dialog dialogLocal = this.dialog();
projHourUtilisationContract = this.dataContractObject();
this.addDialogField(methodStr(ProjHourUtilisationContract,parmProjectId), projHourUtilisationContract);
this.addDialogField(methodStr(ProjHourUtilisationContract,parmCategory), projHourUtilisationContract);
this.addDialogField(methodStr(ProjHourUtilisationContract,parmEmployeeId), projHourUtilisationContract);
this.addDialogField(methodStr(projHourUtilisationContract,parmFromDate),projHourUtilisationContract);
this.addDialogField(methodStr(projHourUtilisationContract,parmToDate),projHourUtilisationContract);
}
public void getFromDialog()
{
projHourUtilisationContract = this.dataContractObject();
super();
}
public void initializeFields()
{
projHourUtilisationContract = this.dataContractObject();
}
public void lookupCategory(FormStringControl _control)
{
Query query = new Query();
SysTableLookup sysTablelookup;
sysTablelookup =SysTableLookup::newParameters(tableNum(ProjCategory),_control);
sysTablelookup.addLookupfield(fieldNum(ProjCategory,CategoryId));
sysTablelookup.addLookupfield(fieldnum(ProjCategory,Name));
//that table display method(show in lookup) for thatbelowline
sysTablelookup.addLookupMethod(“EmplName”);
sysTablelookup.addLookupfield(fieldnum(ProjCategory,CategoryType));
query.addDataSource(tableNum(ProjCategory));
query.dataSourceTable(tableNum(ProjCategory)).addRange(fieldNum(ProjCategory, CategoryType)).value(queryValue(ProjCategoryType::Hour));
sysTablelookup.parmQuery(query);
sysTablelookup.performFormLookup();
}
// <summary>
/// Override this method in order to register the dialog field methods to capture events.
/// </summary>
public void postRun()
{
Dialog dialogLocal = this.dialog();
super();
// This method should be called in order to handle events on dialogs.
dialogLocal.dialogForm().formRun().controlMethodOverload(false);
}
public void postBuild()
{
;
super();
dialogCategory = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(ProjHourUtilisationContract,parmCategory));
// register override method for lookup customer
dialogCategory.registerOverrideMethod(methodStr(FormStringControl, lookup),methodStr(ProjHourUtilisationUIBuilder,lookupCategory),this);
dialogProject = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(ProjHourUtilisationContract,parmProjectId));
dialogEmployee = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(ProjHourUtilisationContract,parmEmployeeId));
fromDate = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(ProjHourUtilisationContract,parmFromDate));
toDate =this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(ProjHourUtilisationContract,parmToDate));
}
No comments:
Post a Comment