Skip to content

Latest commit

 

History

History
49 lines (38 loc) · 2.49 KB

README.md

File metadata and controls

49 lines (38 loc) · 2.49 KB

example workflow

Stack

  • .NET 7
  • AspNet Core
  • Swagger
  • MS SQL
  • EF Core
  • XUnit, Moq, AutoFixture

Приложение представляет из себя WebApi с 3 методами:

Первый метод

Принимает файл вида .csv, в котором на каждой новой строке значение вида:

{Дата и время в формате ГГГГ-ММ-ДД_чч-мм-сс};{Целочисленное значение времени в секундах};{Показатель в виде числа с плавающей запятой}

Пример: 2022-03-18_09-18-17;1744;1632,472

Если файл с таким именем уже существует, перезаписывать значения в базе. Этот файл парсится, значения записываются в базу в таблицу Values.

Валидация:

  • Дата не может быть позже текущей и раньше 01.01.2000
  • Время не может быть меньше 0
  • Значение показателя не может быть меньше 0
  • Количество строк не может быть меньше 1 и больше 10000

Из значений подсчитываются следующие значения и записываются в таблицу Results:

  • Все время (максимальное значение времени минус минимальное значение времени)
  • Минимальное дата и время, как момент запуска первой операции
  • Среднее время выполнения
  • Среднее значение по показателям
  • Медина по показателям
  • Максимальное значение показателя
  • Минимальное значение показателя
  • Количество строк

Второй метод

Возвращает Результаты в формате JSON.

Могут применяться фильтры:

  • По имени файла
  • По времени запуска первой операции (от, до)
  • По среднему показателю (в диапазоне)
  • По среднему времени (в диапазоне)

Третий метод

Получить значения из таблицы Values по имени файла.