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



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


Задание
Выдержки из ТЗ:
- Введение
Владелец аукционного дома обратился с просьбой разработать мобильное приложение для учета аукционных сделок. Приложение должно быть реализовано на языке 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 приложения).


Телеграм
-