Скриншот архива с проектом
Структура проектов
Задание
Выдержки из ТЗ:
- Введение
Владелец аукционного дома обратился с просьбой разработать мобильное приложение для учета аукционных сделок. Приложение должно быть реализовано на языке C# с использованием двух технологий: .NET MAUI и Xamarin.Forms.
- Цели и задачи
Основной целью является разработка мобильного приложения, которое позволит пользователям вести учет товаров и продаж на аукционе. Приложение должно обеспечивать возможность регистрации и авторизации пользователей, а также предоставлять удобные инструменты для управления данными.
Функционал программы (Xamarin Forms)
- регистрация и авторизация пользователей
- профиль пользователя
- учет товаров с функцией добавления, удаления и редактирования
- учёт сделок ( то же что и с товарами)
Функционал программы (MAUI)
Для Android-приложения:
- учёт товаров:
- добавление товаров
- удаление товаров
- редактирование товаров
Для Windows-приложения функционал аналогичен.
Содержание отчета к программе
Фрагмент программного кода (Xamarin)
using AuctionXamarinApp.Models.Entities.Products; using AuctionXamarinApp.Views.Admin; using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace AuctionXamarinApp.Views { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class ProductsPage : ContentPage { public ProductsPage () { InitializeComponent (); } protected override void OnAppearing() { productsList.ItemsSource = App.ProductDatabase.GetProducts(); base.OnAppearing(); } // обработка нажатия элемента в списке private async void OnItemSelected(object sender, SelectedItemChangedEventArgs e) { Product selectedProduct = (Product)e.SelectedItem; AddProductPage addProduct = new AddProductPage { BindingContext = selectedProduct }; await Navigation.PushAsync(addProduct); } // обработка нажатия кнопки добавления private async void CreateProduct(object sender, EventArgs e) { Product product = new Product(); AddProductPage addProduct = new AddProductPage { BindingContext = product }; await Navigation.PushAsync(addProduct); } private async void Back(object sender, EventArgs e) { await Navigation.PushAsync(new ProfilePage()); } } }
Фрагмент программного кода (MAUI)
using Auction.BusinessLayer.Models; namespace Auction.MAUI.Views; public partial class ProductsPage : ContentPage { public ProductsPage() { InitializeComponent(); } protected override void OnAppearing() { productsList.ItemsSource = App.ProductDatabase.GetList(); base.OnAppearing(); } // обработка нажатия элемента в списке private async void OnItemSelected(object sender, SelectedItemChangedEventArgs e) { ProductDto selectedProduct = (ProductDto)e.SelectedItem; AddProductPage addProduct = new AddProductPage { BindingContext = selectedProduct }; await Navigation.PushAsync(addProduct); } // обработка нажатия кнопки добавления private async void CreateProduct_Click(object sender, EventArgs e) { ProductDto product = new ProductDto() { AuctionDate = DateTime.Now, }; AddProductPage addProduct = new AddProductPage { BindingContext = product }; await Navigation.PushAsync(addProduct); } }
Пояснения по запуску программы
1. Убедитесь в том что используете Visual Studio 2022 Community (не Code). 2. Убедитесь в том что выбраны все необходимые рабочие области - в частности разработка на MAUI и что в дополнительных параметрах также добавлен Xamarin. 3. Если у вас процессор Intel, то в Дополнительных параметрах нужно выбрать два пункта связанных с эмуляцией андроид-устройств. Находятся в самом низу (VS Installer - рабочие нагрузки - Дополнительно). 4. Запускаете проект и создаете устройство андроид. 5. Запускаете приложение на данном устройстве (запускается все также как если бы это был проект на Windows Forms или ЦЗА). Тоже самое и со вторым проектом. Выбираете Windows Machine/ Проект компилируется и запускается главное окно. Для запуска на андроид - андроид-эмулятор - ваш эмулятор (раннее созданный при запуске Xamarin приложения).
Здесь еще никто не оставлял свои комментарии, будь первым!