РАЗРАБОТКА СЦЕНАРИЕВ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ
По разработанным макетам пользовательского интерфейса были составлены сценарии использования системы, так называемые пользовательские сценарии. Данные сценарии представляют из себя набор действий «кто» и «что» может сделать с рассматриваемой системой. Далее будут приведены несколько основных пользовательских сценариев.
Сценарий добавления нового пользователя
Сценарий описывает добавления пользователя в базу.
1. На главной странице переходим к списку пользователей.
2. В открывшемся окне нажимаем «Добавить».
3. Заполняем форму с данными и пользователе и жмем «Добавить»
Результат – пользователь успешно добавлен в базу.
Сценарий удаления пользователя
Сценарий описывает удаление пользователя.
1. На главной странице переходим к списку пользователей.
2. Из представленного списка или с помощью поиска выбираем необходимого пользователя.
3. Нажимаем “Удалить”.
Результат – пользователь успешно удален.
Сценарий изменения данных о пользователе
Данный сценарий описывает редактирование данных о пользователе.
1. На главной странице переходим к списку пользователей.
2. Из представленного списка или с помощью поиска выбираем необходимого пользователя.
3. Нажимаем “Изменить”.
4. Далее в появившемся окне редактирования изменяем интересующие нас данные.
5. Жмем “Изменить”.
Результат – изменения успешно применены.
|
|
Сценарий добавления новой лицензии
Сценарий описывает процесс добавления новой лицензии в пул.
1. На главной странице переходим к списку лицензий.
2. В открывшемся окне нажимаем «Добавить».
3. Заполняем форму с данными и пользователе и жмем «Добавить»
Результат – лицензия успешно добавлена в пул.
Просмотр информации о лицензии пользователя
Сценарий описывает процесс просмотра информации о конкретной лицензии данного пользователя.
1. На главной странице переходим к списку пользователей.
2. Из представленного списка или с помощью поиска выбираем необходимого пользователя.
3. Выбираем необходимый компьютер, связанный с данным пользователем.
4. В появившемся списке лицензий, связанных с данным компьютером, двойным щелчком кликаем на необходимую и переходим на страницу информации.
Результат –просмотр информации о лицензии.
РАЗРАБОТКА КАРКАСА ПРИЛОЖЕНИЯ И СВЯЗЬ С БД
Для разработки приложения использовалась база данных SQLServer, доступ к ней осуществляется посредством использования Entity Framework (EF) — ORM-платформы .NET. ПлатформаORM позволяет работать с таблицами, столбцами и строками реляционной базы данных,используя обычные объекты С#. Использование Entity Framework было выбрано по ряду причин Во-первых, она проста и ее легко привести в рабочее состояние. Во-вторых, она прекрасно интегрирована с LINQ. В-третьих, она действительно достаточно хороша. Более ранним версиям были присущи недостатки, но текущие версии очень изящны и предоставляют большие функциональные возможности.
|
|
Отображение
Подключение к созданной базе данных хранится в файле Web.config.
<connectionStrings> <addname="EFDbContext"connectionString="Data Source=WINCROFF;Initial Catalog=SrortStore;Integrated Security=True;Pooling=False;User ID=adam;Password=adam"providerName="System.Data.SqlClient" /> <addname="DefaultConnection"providerName="System.Data.SqlClient"connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebUI-20140407140556;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebUI-20140407140556.mdf" /> </connectionStrings> |
Подключение к базе данных
Теперь нам надо создать класс нашего хранилища. Он будет реализовать интерфейс IProductsRepositoryи использует экземпляр EFDbContextдля получения данных из базы данных посредством EntityFramework.
usingSportsStore.Domain.Abstract; usingSportsStore.Domain.Entities; using System; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; namespaceSportsStore.Domain.Concrete { publicclassEFProductRepository:IProductRepository { privateEFDbContext context = newEFDbContext(); publicIQueryable<Product>Products {get {returncontext.Products;}} } |
|
|
Теперь наше приложение отображает данные следующим образом на рис. 3.1.
Рисунок. 3.1 Отображение списка из базы данных
Редактирование
Для того чтобы редактировать и сохранять изменения в нашу базу данных необходимо добавить соответствующий обработчик этого события. Первым делом изменим отображение полей с данными, которые можно будет редактировать. Это делается в файле представления List.cshtml
@model IEnumerable<SportsStore.Domain.Entities.Product> @{ ViewBag.Title = "Products"; } @foreach (var p in Model) { using (Html.BeginForm()) { <divclass="item"> <h3>@Html.EditorFor(x =>p.ProductId) @Html.EditorFor(x =>p.Name) @Html.EditorFor(x =>p.Category) @Html.EditorFor(x =>p.Price) @Html.EditorFor(x =>p.Description)</h3> <inputclass=" actionButton "type="submit"value=" Save "/> </div> } } |
В файле ProductController.csобработка события нажатия клавиши Save.
[HttpPost] publicRedirectToRouteResultList(Domain.Entities.Productp) { repository.SetProduct(p); returnRedirectToAction("List"); } |
Функцию SetProductописываем в файле EFProductRepository, для этого вначале объявили её в файле IProductsRepository.
publicvoidSetProduct(Product d) { ProductOldProduct = context.Products.FirstOrDefault(x =>x.ProductId == d.ProductId); if (OldProduct == null) return; OldProduct.Name = d.Name; OldProduct.Price = d.Price; OldProduct.Description = d.Description; OldProduct.Category = d.Category; context.SaveChanges(); } |
|
|
После внесенных изменений приложение приобретает следующий вид, показанный на рисунке 3.2.
Рисунок. 3.2 Редактирование загруженных из базы данных записей
ЛОГИРОВАНИЕ
Логирование – учет и запись некоторых событий в каком-либо виде, например, в текстовый файл. Для установки в проект этой функции используется менеджер пакетов NuGet, в котором выбирается установщик пакетов логирования NLog. После этого в проекте автоматически создаются ссылки на нужные объекты и для того, чтобы логирование заработало необходимо модифицировать файл Web.configи контроллер, который в нашем случае называется ProductController.cs.
<configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <sectionname="entityFramework"type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"requirePermission="false" /> <sectionname="nlog"type="NLog.Config.ConfigSectionHandler, NLog"/> </configSections> <nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <targetname="info"xsi:type="File"fileName="D:\University\Универ\3 курс(семестр 2)\КонструированиеПО\Solution1\infolog.txt" layout="${longdate} ${callsite} ${level} ${message}"/> <targetname="errorFile"xsi:type="File"fileName="D:\University\Универ\3 курс(семестр 2)\КонструированиеПО\Solution1\errorlog.txt" layout="${exception:format=ToString,StackTrace}${newline}"/> <targetname="Mail"xsi:type="Mail"html="true"subject="Error Received"body="${message}" to="TestNLog@yandex.ru" from="TestNLog@yandex.ru" Encoding="UTF-8" smtpUsername="TestNLog@yandex.ru" enableSsl="False" smtpPassword="TestTestTestTest" smtpAuthentication="Basic" smtpServer="smtp.yandex.ru" smtpPort="25" /> </targets> <rules> <loggername="*"level="Info"writeTo="info"/> <loggername="*"minlevel="Error"writeTo="errorFile"/> <loggername="*"minlevel="Error"writeTo="Mail"/> </rules> </nlog> |
ВыдержкаизфайлаWeb.config
Дата добавления: 2018-02-18; просмотров: 745; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!