-
Описание базы данных
1.1. База данных находится на SQL-сервере.
1.2. База изначально заполнена, её нет необходимости модифицировать.
1.3. Описание таблиц
1. Таблица «User» - таблица со списком пользователей 1. Id - идентификатор записи 2. UserDomainName - идентификатор пользователя в формате «roman.polyakov» 3. Таблица содержит соответствующие записи для всех пользователей 2. Таблица «Data» - данные содержит данные для пользователя. Таблица связна с таблицей пользователей связью N:1 1. Id - идентификатор записи 2. Userld - идентификатор пользователя 3. Entity - строковый, внутри в формате JSON содержится сериализованное представление объекта «Сделка»
-
Функциональные требования:
2.1. Реализовать REST WEB-сервис
1. Сервис должен быть реализован как отдельный проект на базе ASP.NET MVC WebAPI и иметь REST-архитектуру 2. Сервис должен работать на компьютере разработчика 3. У сервиса должна быть настроена windows-аутентификация 4. Сервис должен реализовывать 1. Метод, возвращающий сумму последней сделки для вызывающего сервис клиента. Название ресурса, конечный URL для метода разработчик определяет самостоятельно. Пример: "..../trade/max?by='price" 2. Метод должен автоматически определить учетную запись того, кто его вызывает и создать строковый идентификатор пользователя в формате «User». То есть в таком же формате, в какой он лежит в БД В таблице пользователей. 3. Метод обращается к БД, находит в таблице пользователей пользователя по этому идентификатору 4. Метод находит все объекты пользователя из таблицы Data, десериализует поле Entity в объект «Сделка» 5. Сравнивает все полученные для пользователя объекты и находит среди них самую последнюю сделку (у объекта сделка есть поле «Дата сделки», см раздел «Спецификация объекта «Сделка») 6. Возвращает клиенту дату и сумму сделки как отдельный класс. В качестве транспортного формата необходимо использовать JSON. 5. Строку подключения к БД сервис должен брать из конфигурационного файла
2.2. Реализовать консольное приложение, осуществляющее обращение к сервису и вызов метода
1. Приложение должно выводить на консоль дату и сумму последней сделки текущего вызывающего пользователя 2. Дата сделки должна выводиться с учетом часового пояса, в котором находится вызывающий 3. После вывода суммы приложение должно завершаться
2.3. Реализовать веб-приложение на MVC
1. Приложение должно уметь вызывать метод упомянутого WEB-сервиса двумя способами: 1. Через JS 2. Из С# кода 2. Каждому способу должна соответствовать отдельная страница 3. Приложение должно иметь корневую страницу со ссылками на страницы вызова
public class Trade
{
public decimal Amount;
public DateTime Created;
}