Файл: Курсовой проект по теме разработка модуля учёта продаж тюнинг запчасти для автомобилей.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 63
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Макет формы «Пользователи» представлен на рисунке 6.
Рисунок 6 – Макет формы «Пользователи»
2 Реализация программы
2.1 Разработка окна «Авторизация»
Для создания окна «Авторизация» необходимо добавить элемент «Окно (WPF)» и указать ему соответствующие свойства. В созданном окне необходимо разместить 2 элемента «Label», «TextBox», «PasswordBox» и «Button» и задать им свойства.
Листинг окна «Авторизация» представлен ниже:
public AuthPage()
{
InitializeComponent();
}
private void LoginBtn_Click(object sender, RoutedEventArgs e)
{
db.Users.Load();
var user = db.Users.Local.Where(x => x.Login == LoginTbx.Text).ToList();
if (user.Count == 1)
{
if (user.First().Password == PasswordPbx.Password)
{
App.role = user.First().Role;
App.mainWindow.User.Content = LoginTbx.Text;
App.mainWindow.UserGrid.Visibility = Visibility.Visible;
NavigationService?.Navigate(new MenuFrame());
}
else
{
InfoWindow info = new InfoWindow();
info.TextTbck.Text = "Неверный логин или пароль!";
info.ShowDialog();
}
}
else
{
InfoWindow info = new InfoWindow();
info.TextTbck.Text = "Неверный логин или пароль!";
info.ShowDialog();
}
Реализация модуля «Авторизация» представлена на рисунке 7.
Рисунок 7 – Окно «Авторизация»
2.2 Разработка модуля «Статистика»
Для создания страницы «Статистика» необходимо создать элемент «Статистика (WPF)» и задать ему соответствующие свойства. Далее нужно добавить элементы «syncfusion: NumericalAxis», «syncfusion: ColumnSeries» и «TextBlock» и задать им свойства.
Листинг страницы «Статистика» представлен ниже:
public StatisticsPage()
{
InitializeComponent();
db.Orders.Load();
List
db.Orders.Local.ToList().ForEach(o =>
{
if(chartData.Where(x=>x.Date == o.Date).ToList().Count == 0 && Convert.ToDateTime(o.Date) > DateTime.Now.AddDays(-7) &&
Convert.ToDateTime(o.Date) <= DateTime.Now)
{
chartData.Add(new ChartData { Date = o.Date, Cost = o.Cost });
}
else
{
chartData.Where(x => x.Date == o.Date).ToList().ForEach(t=>t.Cost+=o.Cost);
}
});
chartData.ForEach(o =>
{
o.DayOfWeek = CultureInfo.GetCultureInfo("ru-RU").DateTimeFormat.GetDayName(Convert.ToDateTime(o.Date).DayOfWeek);
});
Chart.ItemsSource =
chartData.OrderBy(x=>Convert.ToDateTime(x.Date));
}
Реализация модуля «Статистика» представлена на рисунке 8.
Рисунок 8 – Страница «Статистика»
2.3 Разработка модуля «Заказы»
Для создания страницы «Заказы» необходимо создать элемент «Заказы (WPF)» и задать ему соответствующие свойства. Далее нужно добавить 3 элемента: «Button», «DataGrid» и «TextBlock» и задать им свойства.
Листинг страницы «Заказы» представлен ниже:
public partial class OrdersPage : Page
{
AppContext db = new AppContext();
public OrdersPage()
{
InitializeComponent();
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
db.Orders.Load();
OrdersDG.ItemsSource = db.Orders.Local.ToList();
}
private void deleteBtn_Click(object sender, RoutedEventArgs e)
{
db.Orders.Load();
db.Orders.Remove((Orders)((Button)e.Source).DataContext);
InfoWindow info = new InfoWindow();
info.TextTbck.Text = "Запись удалена!";
info.ShowDialog();
db.Orders.Load();
OrdersDG.ItemsSource = db.Orders.Local.ToList();
}
private void AddBtn_Click(object sender, RoutedEventArgs e)
{
NavigationService?.Navigate(new AddOrder());
}
}
Реализация модуля «Заказы» представлена на рисунке 9.
Рисунок 9 – Страница «Заказы»
2.4 Разработка модуля «Склад»
Для создания страницы «Склад» необходимо создать элемент «Склад (WPF)» и задать ему соответствующие свойства. Далее нужно добавить 3 элемента: «Button», «DataGrid» и «TextBlock» и задать им свойства.
Листинг страницы «Склад» представлен ниже:
public partial class StoragePage : Page
{
AppContext db = new AppContext();
public StoragePage()
{
InitializeComponent();
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
db.Warehouse.Load();
StorageDG.ItemsSource = db.Warehouse.Local.ToList();
}
private void AddBtn_Click(object sender, RoutedEventArgs e)
{
NavigationService?.Navigate(new AddStoragePage());
}
private void EditBtn_Click(object sender, RoutedEventArgs e)
{
Warehouse edit = (Warehouse)((Button)e.Source).DataContext;
AddStoragePage asp = new AddStoragePage();
asp.AddBtn.Content = "Сохранить";
asp.NameTbx.Text = edit.GoodName;
asp.PriceTbx.Text = edit.Price.ToString();
asp.CountTbx.Text = edit.Count.ToString();
asp.edit = edit;
NavigationService?.Navigate(asp);
}
private void deleteBtn_Click(object sender, RoutedEventArgs e)
{
db.Warehouse.Load();
db.Warehouse.Remove((Warehouse)((Button)e.Source).DataContext);
db.SaveChanges();
InfoWindow info = new InfoWindow();
info.TextTbck.Text = "Запись удалена!";
info.ShowDialog();
db.Warehouse.Load();
StorageDG.ItemsSource = db.Warehouse.Local.ToList();
}
}
Реализация модуля «Склад» представлена на рисунке 10.
Рисунок 10 – Страница «Склад»
2.5 Разработка модуля «Клиенты»
Для создания страницы «Клиенты» необходимо создать элемент «Клиенты (WPF)» и задать ему соответствующие свойства. Далее нужно добавить 3 элемента: «Button», «DataGrid» и «TextBlock» и задать им свойства.
Листинг страницы «Клиенты» представлен ниже:
public partial class CostumersPage : Page
{
AppContext db = new AppContext();
\
ublic CostumersPage()
{
InitializeComponent();
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
db.Clients.Load();
CostumersDG.ItemsSource = db.Clients.Local.ToList();
}
private void AddBtn_Click(object sender, RoutedEventArgs e)
{
NavigationService?.Navigate(new AddCostumersPage());
}
private void EditBtn_Click(object sender, RoutedEventArgs e)
{
Clients edit = (Clients)((Button)e.Source).DataContext;
AddCostumersPage acp = new AddCostumersPage();
acp.NameTbx.Text = edit.FullName;
acp.AdresTbx.Text = edit.Adress;
acp.EmailTbx.Text=edit.Email;
acp.PhoneTbx.Text=edit.Phone;
acp.AddBtn.Content = "Сохранить";
acp.edit = edit;
NavigationService?.Navigate(acp);
}
private void deleteBtn_Click(object sender, RoutedEventArgs e)
{
db.Clients.Load();
db.Clients.Remove((Clients)((Button)e.Source).DataContext);
db.SaveChanges();
InfoWindow info = new InfoWindow();
info.TextTbck.Text = "Запись удалена!";
info.ShowDialog();
rehouse.Load();
CostumersDG.ItemsSource = db.Clients.Local.ToList();
}
}
Реализация модуля «Клиенты» представлена на рисунке 11.
Рисунок 11 – Страница «Клиенты»
2.6 Разработка модуля «Пользователи»
Для создания страницы «Пользователи» необходимо создать элемент «Пользователи (WPF)» и задать ему соответствующие свойства. Далее нужно добавить элементы «Button», «DataGrid» и «TextBlock» и задать им свойства.
Листинг страницы «Пользователи» представлен ниже:
public partial class UsersPage : Page
{
AppContext db = new AppContext();
public UsersPage()
{
InitializeComponent();
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
db.Users.Load();
UsersDG.ItemsSource = db.Users.Local.ToList();
}
private void AddBtn_Click(object sender, RoutedEventArgs e)
{
NavigationService?.Navigate(new AddUsersPage());
}
private void EditBtn_Click(object sender, RoutedEventArgs e)
{
Users edit = (Users)((Button)e.Source).DataContext;
AddUsersPage aup = new AddUsersPage();
aup.LoginTbx.Text = edit.Login;
aup.PasswordTbx.Text = edit.Password;
aup.NameTbx.Text = edit.Fullname;
aup.RoleTbx.Text = edit.Role;
aup.LoginTbx.IsReadOnly = true;
aup.AddBtn.Content = "Сохранить";
aup.edit = edit;
Реализация модуля «Пользователи» представлена на рисунке 12.
Рисунок 12 – Страница «Пользователи»
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы был разработан модуль учета продаж тюнинг запчастей для автомобилей, готовый к внедрению, который включает в себя: простой и понятный интерфейс, авторизацию пользователей, учет продаж запчастей, внесение информации о новых заказах и товарах, формирование базы клиентов.
Целью курсовой работы являлось создание модуля ведения заказов для системы учета продаж «Тюнинг запчасти для автомобилей» (разработка пользовательского интерфейса, создание и подключение базы данных).
Задачами разработки модуля учёта продаж тюнинг запчастей для автомобилей являлись:
-
проведение анализа предметной области; -
определение методов и средств разработки; -
составление технического задания; -
спроектировать структуру будущей информационной системы; -
разработка интерфейса.
К достоинствам данной автоматизированной информационной системы можно отнести простой и удобный интерфейс, быстрая обработка информации, отображение клиентской базы и списка заказов. Исходя из этого, можно сказать, что цель курсового проекта полностью достигнута путём реализации поставленных задач.
Разработанная автоматизированная информационная система целиком и полностью удовлетворяет всем требованиям, поставленным на этапе постановки задач курсового проекта.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Metanit : цифровой ресурс : сайт – URL: https://metanit.com/sharp/wpf/ (дата обращения 10.11.2022). – Тест : электронный.
2 Microsoft Docs : цифровой ресурс : сайт – URL: https://docs.microsoft.com/ru-ru/ (дата обращения 10.11.2022). – Текст : электронный.
3 Studopedia : цифровой ресурс : сайт – URL: https://studopedia.org/8-60900.html (дата обращения 10.11.2022). – Текст : электронный.
4 SQLite : цифровой ресурс : сайт – URL: https://www.sqlite.org/docs.html (дата обращения 10.11.2022). – Текст : электронный.
5 WPF Tutorial : цифровой ресурс : сайт – URL: https://www.wpf-tutorial.com/ (дата обращения 10.11.2022). – Текст : электронный.
6 ГОСТ 34.602-20 Информационные технологии. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем : национальный стандарт Российской федерации : издание официальное : утвержден и введен в действие Приказом Федерального агентства по техническому регулированию и метрологии от 21 марта 2020 г. №1042-ст : введен впервые : дата введения 2022-01-01. – Москва – Текст : непосредственный.
7 Что такое техническое задание и как его разрабатывать, tehpis.ru : цифровой ресурс : сайт. – Москва, 2000. –URL: http://tehpis.ru/services/razrabotka_tekhnicheskikh_zadaniy/chto-takoe-tekhnicheskoe-zadanie-i-kak-ego-razrabatyvat/ (дата обращения 09.11.2022). – Режим доступа: для зарегистрир. пользователей. – Текст : электронный.