public async Task UpdateAsync(EndpointRuleEntity endpointRuleEntity) { //var entity = await _appDbContext.EndpointRules.Include(endp => endp.Actions).FirstOrDefaultAsync(endp => endp.Id == endpointRuleEntity.Id); //_appDbContext.Update(endpointRuleEntity); //_appDbContext.Attach(endpointRuleEntity); _appDbContext.Entry(endpointRuleEntity).State = EntityState.Modified; await _appDbContext.SaveChangesAsync(); EventDispatcher.DispatchUpdatedEvent("EndpointRule", endpointRuleEntity); }
public static EndpointRuleEntity Patch(this EndpointRuleEntity entity, EndpointRuleDto dto) { entity.Order = dto.Order; entity.Name = dto.Name; entity.Path = dto.Path; entity.Enabled = dto.Enabled; entity.Hostname = dto.Hostname; entity.Scheme = string.Join(";", dto.Scheme); entity.HttpMethods = string.Join(";", dto.HttpMethods); entity.Actions = dto.Actions.Select(dtoAction => dtoAction.ToEntity()).ToList(); entity.Permissions = dto.Permissions.Select(dtoPermission => dtoPermission.ToEntity()).ToList(); return(entity); }
public async Task AddAsync(EndpointRuleEntity endpointRuleEntity) { if (String.IsNullOrWhiteSpace(endpointRuleEntity.Name)) { endpointRuleEntity.Name = await GenerateRuleName(); } if (endpointRuleEntity.Order == 0) { endpointRuleEntity.Order = _appDbContext.EndpointRules.Max(r => r.Order) + 10; } await _appDbContext.EndpointRules.AddAsync(endpointRuleEntity); await _appDbContext.SaveChangesAsync(); EventDispatcher.DispatchCreatedEvent("EndpointRule", endpointRuleEntity); }
public static MiddlerRule ToMiddlerRule(this EndpointRuleEntity entity) { if (entity == null) { return(null); } var mRule = new MiddlerRule(); mRule.Name = entity.Name; mRule.Hostname = entity.Hostname; mRule.Path = entity.Path; mRule.Scheme = MappingHelper.Split(entity.Scheme); mRule.HttpMethods = MappingHelper.Split(entity.HttpMethods); mRule.Actions = entity.Actions.OrderBy(p => p.Order).Select(ToMiddlerAction).ToList(); mRule.Permissions = entity.Permissions.OrderBy(p => p.Order).Select(ToMiddlerPermissionRule).ToList(); return(mRule); }
public static EndpointRuleDto ToEndpointRuleDto(this EndpointRuleEntity entity, InternalHelper internalHelper) { if (entity == null) { return(null); } var dto = new EndpointRuleDto(); dto.Id = entity.Id; dto.Name = entity.Name; dto.Enabled = entity.Enabled; dto.Hostname = entity.Hostname; dto.Path = entity.Path; dto.Order = entity.Order; dto.Scheme = MappingHelper.Split(entity.Scheme); dto.HttpMethods = MappingHelper.Split(entity.HttpMethods); dto.Actions = entity.Actions.OrderBy(a => a.Order).Select(a => a.ToEndpointRuleDto(internalHelper)).ToList(); dto.Permissions = entity.Permissions.OrderBy(a => a.Order).Select(ToDto).ToList(); return(dto); }