public override void Calculate(ObjectProperties Item, string FieldName, ObjectCalulatorCalculateType CalculateType) { base.Calculate(Item, FieldName, CalculateType); if (CalculateType == ObjectCalulatorCalculateType.Initialize) { Item.SF("STATE", "ID <> 1"); TYPE(Item); RATE(Item); } if (CalculateType == ObjectCalulatorCalculateType.Calculate) { switch (FieldName) { case "PRICEFROMAGENT": case "PRICEFORCLIENT": Item.SVC("PROFIT", Item.AsDbl("PRICEFORCLIENT") - Item.AsDbl("PRICEFROMAGENT")); break; case "TYPE": TYPE(Item); break; case "AGENTCURRENCY": RATE(Item); break; case "PROFIT": Item.SS("PROFIT", CalulatorFieldState.Manual); break; } } }