Exemple #1
0
        public ICommandResult GetFilterExamResult(Guid idExam)
        {
            var command = new FilterExamResultCommand
            {
                IdExam = idExam
            };

            var result = (CommandResult)_handler.Handle(command);

            return(result);
        }
Exemple #2
0
        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));
        }