private static MaximoResult DoExecuteCrud(OperationWrapper operationWrapper, IMaximoConnector connector) { if (!OperationConstants.IsCrud(operationWrapper.OperationName)) { //custom operation return(null); } var crudConnector = new MaximoCrudConnectorEngine((IMaximoCrudConnector)connector); var crudOperationData = (CrudOperationData)operationWrapper.OperationData(null); switch (operationWrapper.OperationName) { case OperationConstants.CRUD_CREATE: return(crudConnector.Create(crudOperationData)); case OperationConstants.CRUD_UPDATE: return(crudConnector.Update(crudOperationData)); case OperationConstants.CRUD_DELETE: return(crudConnector.Delete(crudOperationData)); case OperationConstants.CRUD_FIND_BY_ID: return(crudConnector.FindById(crudOperationData)); } return(null); }
public static IMaximoConnector GetConnector(EntityMetadata metadata, String operation) { BaseMaximoCrudConnector baseCrudConnector = GetBaseConnector(); IMaximoConnector decoratedCrudConnector = LookupCustomConnector(metadata, operation); if (decoratedCrudConnector == null) { return(baseCrudConnector); } var decorator = decoratedCrudConnector as CrudConnectorDecorator; if (decorator != null) { decorator.RealCrudConnector = baseCrudConnector; } return(decoratedCrudConnector); }
public MaximoCustomOperatorEngine(IMaximoConnector connectorTemplate) { _connectorTemplate = connectorTemplate; }