public ICommandResult GetFilterExamResult(Guid idExam) { var command = new FilterExamResultCommand { IdExam = idExam }; var result = (CommandResult)_handler.Handle(command); return(result); }
public ICommandResult Handle(FilterExamResultCommand command) { var exam = _repository.GetExam(command.IdExam); if (exam == null) { return(new CommandResult(false, "Exame não encontrado", Notifications)); } var frames = exam.Frames.Select(f => f.Analog[exam.Channel]); var filteredFrames = new List <double>(); var butterworthFilter = new ButterworthFilterService(exam.Frequency, exam.Type); foreach (var frame in frames) { var realValue = SensorService.GetTransferFunction(frame, exam.Type); double filteredFrame = butterworthFilter.Filter(realValue); filteredFrames.Add(filteredFrame); } return(new CommandResult(true, "Filtragem realizada com sucesso", filteredFrames)); }