protected virtual void _(Events.FieldUpdated <FSServiceTemplateDet, FSServiceTemplateDet.lineType> e) { if (e.Row == null) { return; } FSServiceTemplateDet fsServiceTemplateDetRow = (FSServiceTemplateDet)e.Row; LineTypeBlankFields(fsServiceTemplateDetRow); }
/// <summary> /// This method blanks the fields that aren't needed depending on the <c>FSServiceTemplateDet.LineType</c> field. /// </summary> public virtual void LineTypeBlankFields(FSServiceTemplateDet fsServiceTemplateDetRow) { switch (fsServiceTemplateDetRow.LineType) { case ID.LineType_ServiceTemplate.COMMENT: case ID.LineType_ServiceTemplate.INSTRUCTION: fsServiceTemplateDetRow.InventoryID = null; fsServiceTemplateDetRow.Qty = 0; break; } }
/// <summary> /// This method validates if necessary fields are not null and launch the corresponding exception and error message. /// </summary> public virtual void LineTypeValidateLine(PXCache cache, FSServiceTemplateDet fsServiceTemplateDetRow, PXErrorLevel errorLevel = PXErrorLevel.Error) { switch (fsServiceTemplateDetRow.LineType) { case ID.LineType_ServiceTemplate.INVENTORY_ITEM: if (fsServiceTemplateDetRow.InventoryID == null) { cache.RaiseExceptionHandling <FSServiceTemplateDet.inventoryID>(fsServiceTemplateDetRow, null, new PXSetPropertyException(TX.Error.DATA_REQUIRED_FOR_LINE_TYPE, errorLevel)); } if (fsServiceTemplateDetRow.Qty < 0) { cache.RaiseExceptionHandling <FSServiceTemplateDet.qty>(fsServiceTemplateDetRow, null, new PXSetPropertyException(TX.Error.NEGATIVE_QTY, errorLevel)); } break; case ID.LineType_ServiceTemplate.COMMENT: case ID.LineType_ServiceTemplate.INSTRUCTION: if (string.IsNullOrEmpty(fsServiceTemplateDetRow.TranDesc)) { cache.RaiseExceptionHandling <FSServiceTemplateDet.tranDesc>(fsServiceTemplateDetRow, null, new PXSetPropertyException(TX.Error.DATA_REQUIRED_FOR_LINE_TYPE, errorLevel)); } break; case ID.LineType_ServiceTemplate.SERVICE: case ID.LineType_ServiceTemplate.NONSTOCKITEM: if (fsServiceTemplateDetRow.InventoryID == null) { cache.RaiseExceptionHandling <FSServiceTemplateDet.inventoryID>(fsServiceTemplateDetRow, null, new PXSetPropertyException(TX.Error.DATA_REQUIRED_FOR_LINE_TYPE, errorLevel)); } if (fsServiceTemplateDetRow.Qty < 0) { cache.RaiseExceptionHandling <FSServiceTemplateDet.qty>(fsServiceTemplateDetRow, null, new PXSetPropertyException(TX.Error.NEGATIVE_QTY, errorLevel)); } break; } }
protected virtual void _(Events.RowSelected <FSServiceTemplateDet> e) { if (e.Row == null) { return; } FSServiceTemplateDet fsServiceTemplateDetRow = (FSServiceTemplateDet)e.Row; LineTypeBlankFields(fsServiceTemplateDetRow); LineTypeEnableDisable(e.Cache, fsServiceTemplateDetRow); }
/// <summary> /// This method blanks the fields that aren't needed depending on the <c>FSServiceTemplateDet.LineType</c> field. /// </summary> private void LineTypeBlankFields(FSServiceTemplateDet fsServiceTemplateDetRow) { switch (fsServiceTemplateDetRow.LineType) { case ID.LineType_ServiceTemplate.COMMENT_SERVICE: case ID.LineType_ServiceTemplate.INSTRUCTION_SERVICE: case ID.LineType_ServiceTemplate.COMMENT_PART: case ID.LineType_ServiceTemplate.INSTRUCTION_PART: fsServiceTemplateDetRow.InventoryID = null; fsServiceTemplateDetRow.Qty = 0; break; } }
protected virtual void _(Events.RowPersisting <FSServiceTemplateDet> e) { if (e.Row == null) { return; } FSServiceTemplateDet fsServiceTemplateDetRow = (FSServiceTemplateDet)e.Row; if (e.Operation == PXDBOperation.Insert || e.Operation == PXDBOperation.Update) { LineTypeValidateLine(e.Cache, fsServiceTemplateDetRow, PXErrorLevel.Error); } }
protected virtual void _(Events.FieldUpdated <FSServiceTemplateDet, FSServiceTemplateDet.inventoryID> e) { if (e.Row == null) { return; } FSServiceTemplateDet fsServiceTemplateDetRow = (FSServiceTemplateDet)e.Row; if (fsServiceTemplateDetRow.LineType == null) { //We just run the field defaulting because this is the first field when you try to insert a new line. object lineTypeValue; ServiceTemplateDetails.Cache.RaiseFieldDefaulting <FSServiceTemplateDet.lineType>(ServiceTemplateDetails.Current, out lineTypeValue); fsServiceTemplateDetRow.LineType = (string)lineTypeValue; } }
/// <summary> /// This method enables or disables the fields on the <c>FSserviceTemplateDet</c> grid depending on the <c>FSServiceTemplateDet.LineType</c> field. /// </summary> private void LineTypeEnableDisable(PXCache cache, FSServiceTemplateDet fsServiceTemplateDetRow) { switch (fsServiceTemplateDetRow.LineType) { case ID.LineType_ServiceTemplate.COMMENT_SERVICE: case ID.LineType_ServiceTemplate.INSTRUCTION_SERVICE: case ID.LineType_ServiceTemplate.COMMENT_PART: case ID.LineType_ServiceTemplate.INSTRUCTION_PART: PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.serviceTemplateID>(cache, fsServiceTemplateDetRow, false); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.serviceTemplateID>(cache, fsServiceTemplateDetRow, PXPersistingCheck.Nothing); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.inventoryID>(cache, fsServiceTemplateDetRow, false); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.inventoryID>(cache, fsServiceTemplateDetRow, PXPersistingCheck.Nothing); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.qty>(cache, fsServiceTemplateDetRow, false); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.qty>(cache, fsServiceTemplateDetRow, PXPersistingCheck.Nothing); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.tranDesc>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.tranDesc>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); break; case ID.LineType_ServiceTemplate.INVENTORY_ITEM: case ID.LineType_ServiceTemplate.SERVICE: case ID.LineType_ServiceTemplate.NONSTOCKITEM: PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.serviceTemplateID>(cache, fsServiceTemplateDetRow, false); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.serviceTemplateID>(cache, fsServiceTemplateDetRow, PXPersistingCheck.Nothing); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.inventoryID>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.inventoryID>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.qty>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.qty>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.tranDesc>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.tranDesc>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); break; default: PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.inventoryID>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.inventoryID>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.qty>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.qty>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); PXUIFieldAttribute.SetEnabled <FSServiceTemplateDet.tranDesc>(cache, fsServiceTemplateDetRow, true); PXDefaultAttribute.SetPersistingCheck <FSServiceTemplateDet.tranDesc>(cache, fsServiceTemplateDetRow, PXPersistingCheck.NullOrBlank); break; } }