public DefaultScriptBase GetDefaultMetaObjectTriggerScript(MetaObjectInterfaceServiceTypeEnum metaObjectInterfaceServiceTypeEnum) { switch (metaObjectInterfaceServiceTypeEnum) { case MetaObjectInterfaceServiceTypeEnum.UnKnown: return(null); case MetaObjectInterfaceServiceTypeEnum.Add_Before: return(new MetaObjectInterface_Add_Before()); case MetaObjectInterfaceServiceTypeEnum.Add_After: return(new MetaObjectInterface_Add_After()); case MetaObjectInterfaceServiceTypeEnum.BatchAdd_Before: return(new MetaObjectInterface_BatchAdd_Before()); case MetaObjectInterfaceServiceTypeEnum.BatchAdd_After: return(new MetaObjectInterface_BatchAdd_After()); case MetaObjectInterfaceServiceTypeEnum.Update_Before: return(new MetaObjectInterface_Update_Before()); case MetaObjectInterfaceServiceTypeEnum.Update_After: return(new MetaObjectInterface_Update_After()); case MetaObjectInterfaceServiceTypeEnum.Delete_Before: return(new MetaObjectInterface_Delete_Before()); case MetaObjectInterfaceServiceTypeEnum.Delete_After: return(new MetaObjectInterface_Delete_After()); case MetaObjectInterfaceServiceTypeEnum.QueryCount_Before: return(new MetaObjectInterface_QueryCount_Before()); case MetaObjectInterfaceServiceTypeEnum.QueryCount_After: return(new MetaObjectInterface_QueryCount_After()); case MetaObjectInterfaceServiceTypeEnum.QuerySingle_Before: return(new MetaObjectInterface_QuerySingle_Before()); case MetaObjectInterfaceServiceTypeEnum.QuerySingle_After: return(new MetaObjectInterface_QuerySingle_After()); case MetaObjectInterfaceServiceTypeEnum.QueryList_Before: return(new MetaObjectInterface_QueryList_Before()); case MetaObjectInterfaceServiceTypeEnum.QueryList_After: return(new MetaObjectInterface_QueryList_After()); default: break; } return(null); }
/// <summary> /// 尝试执行服务对应的动态脚本,如果没有,则采用默认值 /// </summary> /// <typeparam name="TResult"></typeparam> /// <param name="metaObjectInterfaceServiceTypeEnum"></param> /// <param name="parameters"></param> /// <param name="ifNoScriptReturnDefaultValue">默认值</param> /// <returns></returns> protected TResult TryExecuteTriggerByServiceType <TResult>(MetaObjectInterfaceServiceTypeEnum metaObjectInterfaceServiceTypeEnum, object[] parameters, TResult ifNoScriptReturnDefaultValue) { //拿到当前服务类型对应的脚本 var triggerScript = _queryContext.TriggerScripts?.FirstOrDefault(t => t.MetaObjectInterfaceServiceType == (int)metaObjectInterfaceServiceTypeEnum); if (triggerScript == null) { return(ifNoScriptReturnDefaultValue); } //执行脚本 var executeResult = _triggerScriptService.ExecuteTriggerScript <TResult>(triggerScript, parameters); if (!executeResult.IsSuccess) { throw new InvalidOperationException(executeResult.Message); } return(executeResult.Data); }
public IActionResult GetDefaultMetaObjectTriggerScript(MetaObjectInterfaceServiceTypeEnum metaObjectInterfaceServiceTypeEnum) { return(Result <DefaultScriptBase> .Success(data : _triggerScriptService.GetDefaultMetaObjectTriggerScript(metaObjectInterfaceServiceTypeEnum)).ToJsonResult()); }
public bool CheckMetaObjectInterfaceServiceTypeExistIfMetaObjectTrigger(Guid metaObjectId, MetaObjectInterfaceServiceTypeEnum metaObjectInterfaceServiceTypeEnum) { var scriptType = (int)ScriptTypeEnum.MetaObjectInterfaceTrigger; var metaObjectTriggerType = (int)metaObjectInterfaceServiceTypeEnum; return(_dbContext.Queryable <TriggerScript>().Where(t => t.MetaObjectId.Equals(metaObjectId) && t.ScriptType.Equals(scriptType) && t.IsDeleted == 0 && t.MetaObjectInterfaceServiceType == metaObjectTriggerType).Any()); }