На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Аукцион (C#, WPF, SQL Server, SqLite)

Задание

Разработать приложение для аукциона на языке C#. В качестве графического интерфейса рекомендуется использовать WPF, также должна быть реализована логика приложения. 

Функционал программы

  • добавление / удаление / редактирование товаров
  • рассчет суммы на которую был продан товар
  • регистрация / авторизация пользователя
  • кабинет пользователя

Фрагмент программного кода

using System;
using System.Linq;
using System.Windows;
using Auction.BL.Models;
using Auction.BL.Interfaces;

namespace Auction.UI.Windows
{
    /// <summary>
    /// Логика взаимодействия для AddProductsWindow.xaml
    /// </summary>
    public partial class AddProductsWindow : Window
    {
        /// <summary>
        /// Список допустимых товаров 
        /// </summary>
        private static readonly string[] Categories = { "Дома", "Яхты", "Картины", "Ювелирка" };
        /// <summary>
        /// Поле хранит идентификатор товара
        /// </summary>
        private int _id;
        public AddProductsWindow()
        {
            InitializeComponent();
            //Передаем допустимые значения
            cbCategory.ItemsSource = Categories;
            //Задаем начальное значение
            cbCategory.SelectedIndex = 0;
        }

        private void BtnCancel_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }

        private void BtnCalc_Click(object sender, RoutedEventArgs e)
        {
            double quantity;
            double price;

            quantity = Convert.ToDouble(tbQuantity.Text);
            price = Convert.ToDouble(tbPrice.Text);

            switch (CbCalc.Text)
            {
                case "*":

                    tbAmount.Text = Convert.ToString(quantity * price);
                    break;
                default:
                    break;
            }
        }

        private void BtnClear_Click(object sender, RoutedEventArgs e)
        {
            tbProductName.Text = "";
            tbQuantity.Text = "";
            tbPrice.Text = "";
            tbAmount.Text = "";
            CbCalc.Items.Clear();
        }

        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            int? auctionDate = null;

            if (string.IsNullOrEmpty(tbProductName.Text))
            {
                MessageBox.Show("Поле наименование товара  не может быть пустым", "Проверка");
                return;
            }

            if (string.IsNullOrEmpty(tbQuantity.Text))
            {
                MessageBox.Show("Поле количество не может быть пустым", "Проверка");
                return;
            }

            if (string.IsNullOrEmpty(tbPrice.Text))
            {
                MessageBox.Show("Поле цена не может быть пустым", "Проверка");
                return;
            }

            if (string.IsNullOrEmpty(tbAmount.Text))
            {
                MessageBox.Show("Поле сумма не может быть пустым", "Проверка");
                return;
            }

            if (!int.TryParse(tbPlannedDate.Text, out int plannedDate))
            {
                MessageBox.Show("Дата плановая  должена быть целым числом", "Проверка");
                return;
            }

            if (!string.IsNullOrEmpty(tbAuctionDate.Text))
            {
                if (!int.TryParse(tbAuctionDate.Text, out int intAuction))
                {
                    MessageBox.Show("Дата аукциона должена быть целым числом", "Проверка");
                    return;
                }
                if (intAuction < plannedDate)
                {
                    MessageBox.Show("Дата аукциона должна быть больше плановой даты", "Проверка");
                    return;
                }
                auctionDate = intAuction;
            }

            //Создаем объект для передачи данных
            ProductDto product = new ProductDto
            {
                //Заполняем объект данными
                ProductName = tbProductName.Text,
                PlannedDate = plannedDate,
                AuctionDate = auctionDate,
                Category = cbCategory.SelectedItem.ToString(),
                Quantity = tbQuantity.Text,
                Price = tbPrice.Text,
                Amount = tbAmount.Text

            };
            //Именно тут запрашиваем реализованную ранее задачу по работе с товарами 
            IProductProcess productProcess = ProcessFactory.GetProductProcess();
            //если это новый объект - сохраняем его
            if (_id == 0)
            {
                // Сохраняем сотрудника
                productProcess.Add(product);
            }
            else //иначе обновляем
            {
                //копируем обратно идентификатор объекта
                product.Id = _id;
                //обновляем
                productProcess.Update(product);
            }
            //и закрываем форму
            Close();
        }

        public void Load(ProductDto product)
        {
            //если объект не существует, или его статус не в списке допустимых, выходим
            if (product == null || !Categories.Contains(product.Category))
            {
                return;
            }
            //сохраняем id сотрудника
            _id = product.Id;
            //заполняем визуальные компоненты для отображения данных            

            tbProductName.Text = product.ProductName;
            tbPlannedDate.Text = product.PlannedDate.ToString();
            if (product.AuctionDate.HasValue)
            {
                tbAuctionDate.Text = product.AuctionDate.Value.ToString();
            }
            cbCategory.SelectedItem = product.Category;
            tbQuantity.Text = product.Quantity;
            tbPrice.Text = product.Price;
            tbAmount.Text = product.Amount;
        }
    }
}

Структура проекта

Скриншот архива с проектом

Пояснения по запуску программы

Запустить Visual Studio 2019, поменять путь  к базе данных(см. видео), запустить код на выполнение. 

Купить 2000,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

2000,00 

Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

Аукцион.rar
61963472
Оцени работу

рейтинг

Аукцион (C#, WPF, SQL Server, SqLite)
Разработанное приложение предназначено для учета товаров проданных с аукциона. Приложение обладает всем необходимым для этого функционалом.
Категория: Образование
Стоимость: 2000,00