public static MiddlerAction ToMiddlerAction(this EndpointActionEntity entity) { var mAction = new MiddlerAction(); mAction.Id = entity.Id; mAction.ActionType = entity.ActionType; mAction.Enabled = entity.Enabled; mAction.Terminating = entity.Terminating; mAction.WriteStreamDirect = entity.WriteStreamDirect; mAction.Parameters = entity.Parameters; return(mAction); }
private void UpdateAction(EndpointActionEntity actionEntity) { var mAction = _mapper.Map <MiddlerAction>(actionEntity); var action = _internalHelper.BuildConcreteActionInstance(mAction); if (action == null) { return; } if (action is ScriptingAction scriptAction) { actionEntity.Parameters["CompiledCode"] = scriptAction?.CompileScriptIfNeeded(); } }
public static EndpointActionEntity ToEntity(this EndpointActionDto dto) { var entity = new EndpointActionEntity(); entity.Id = dto.Id ?? Guid.Empty; entity.Order = dto.Order; entity.Enabled = dto.Enabled; entity.ActionType = dto.ActionType; entity.EndpointRuleEntityId = dto.EndpointRuleEntityId; entity.Terminating = dto.Terminating; entity.WriteStreamDirect = dto.WriteStreamDirect; entity.Parameters = Converter.Json.ToJObject(dto.Parameters); return(entity); }
public static EndpointActionDto ToEndpointRuleDto(this EndpointActionEntity entity, InternalHelper internalHelper) { var actionType = internalHelper.GetConcreteActionType(entity.ActionType); var optionsType = actionType.BaseType.GetGenericArguments().FirstOrDefault(); var dto = new EndpointActionDto(); dto.Id = entity.Id; dto.ActionType = entity.ActionType; dto.Enabled = entity.Enabled; dto.EndpointRuleEntityId = entity.EndpointRuleEntityId; dto.Order = entity.Order; dto.Terminating = entity.Terminating; dto.WriteStreamDirect = entity.WriteStreamDirect; var tempDict = Json.Converter.ToDictionary(entity.Parameters); var nDict = new Dictionary <string, object>(); foreach (var(key, value) in tempDict) { var prop = optionsType.GetProperty(key); if (prop == null) { continue; } var internalProp = prop.GetCustomAttribute <InternalAttribute>(); if (internalProp == null) { nDict.Add(key, value); } } dto.Parameters = nDict; return(dto); }
public async Task UpdateActionAsync(EndpointActionEntity endpointActionEntity) { _appDbContext.Entry(endpointActionEntity).State = EntityState.Modified; await _appDbContext.SaveChangesAsync(); }
public async Task AddActionToRule(EndpointActionEntity actionEntity) { await _appDbContext.EndpointActions.AddAsync(actionEntity); await _appDbContext.SaveChangesAsync(); }