Файл: Курсовой проект по теме разработка модуля учёта продаж тюнинг запчасти для автомобилей.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 chartData = new 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). – Режим доступа: для зарегистрир. пользователей. – Текст : электронный.