Exemple #1
0
        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();
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public async Task UpdateActionAsync(EndpointActionEntity endpointActionEntity)
 {
     _appDbContext.Entry(endpointActionEntity).State = EntityState.Modified;
     await _appDbContext.SaveChangesAsync();
 }
Exemple #6
0
        public async Task AddActionToRule(EndpointActionEntity actionEntity)
        {
            await _appDbContext.EndpointActions.AddAsync(actionEntity);

            await _appDbContext.SaveChangesAsync();
        }