public async Task <bool> UpdateEntityByIdAsync(InstanceRequest request, int id) { var entity = _mapper.Map <InstanceRequest, Instance>(request); entity.Id = id; // In returns updated entity, you could do smth with it or just leave as it is var updated = await _uow.InstanceRepository.UpdateAsync(entity); var result = await _uow.SaveAsync(); InstanceSettingsMessage message = new InstanceSettingsMessage() { InstanceId = updated.GuidId, IsActive = updated.IsActive, AggregationForHour = updated.AggregationForHour, AggregationForDay = updated.AggregationForDay, AggregationForWeek = updated.AggregationForWeek, AggregationForMonth = updated.AggregationForMonth, CpuMaxPercent = updated.CpuMaxPercent, RamMaxPercent = updated.CpuMaxPercent, DiskMaxPercent = updated.DiskMaxPercent }; await _serviceBus.SendInstanceSettingsAsync(message); return(result); }
public async Task <InstanceDto> CreateEntityAsync(InstanceRequest request) { var entity = _mapper.Map <InstanceRequest, Instance>(request); entity.GuidId = Guid.NewGuid(); entity = await _uow.InstanceRepository.CreateAsync(entity); var result = await _uow.SaveAsync(); if (!result) { return(null); } if (entity == null) { return(null); } InstanceSettingsMessage message = new InstanceSettingsMessage() { InstanceId = entity.GuidId, IsActive = entity.IsActive, AggregationForHour = entity.AggregationForHour, AggregationForDay = entity.AggregationForDay, AggregationForWeek = entity.AggregationForWeek, AggregationForMonth = entity.AggregationForMonth, CpuMaxPercent = entity.CpuMaxPercent, RamMaxPercent = entity.CpuMaxPercent, DiskMaxPercent = entity.DiskMaxPercent }; await _serviceBus.SendInstanceSettingsAsync(message); var dto = _mapper.Map <Instance, InstanceDto>(entity); return(dto); }
private async Task <MessageProcessResponse> onSettingsProcessAsync(InstanceSettingsMessage arg, CancellationToken stoppingToken) { if (stoppingToken.IsCancellationRequested) { return(MessageProcessResponse.Abandon); } InstanceSettingsDto dto = new InstanceSettingsDto() { ClientId = arg.InstanceId, IsActive = arg.IsActive, AggregationForHour = arg.AggregationForHour, AggregationForDay = arg.AggregationForDay, AggregationForWeek = arg.AggregationForWeek, AggregationForMonth = arg.AggregationForMonth, CpuUsagePercentageMax = arg.CpuMaxPercent, RamUsagePercentageMax = arg.RamMaxPercent, LocalDiskUsagePercentageMax = arg.DiskMaxPercent, //validators are enabled by default //maybe in future we may add ability to change it CpuValidator = true, RamValidator = true, LocalDiskVallidator = true, }; var x = await _instanceSettingsService.AddEntityAsync(dto); if (x == null) { return(MessageProcessResponse.Abandon); } return(MessageProcessResponse.Complete); }
public Task SendInstanceSettingsAsync(InstanceSettingsMessage message) { return(_azureQueueSender.SendAsync(_instanceSettingsQueueClient, message)); }