Задание
Разработать упрощенный вариант интернет магазина по продаже компьютерных игр. Для разработки приложения использовать C#, Bootstrap, подключить шрифты, использовать css для стилизации контента и добавления фона сайта. Должен быть реализован минимальный функционал такой как: корзина и оформление заказа. Также должна быть реализована возможность удалять товары из корзины и должна выводиться информация о кол-ве и общей стоимости.
Функционал программы
- добавление / удаление / изменение данных только через БД
- добавление товара в корзину
- полсчет количества и общей стоимости
- удаление товара из корзины
- оформление заказа
Фрагмент программного кода
using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; namespace GamesShop.Data.Models { public class ShopCart { private AppDbContext _appDbContext; public ShopCart(AppDbContext appDbContext) { _appDbContext = appDbContext; } public string ShopCartId { get; set; } public int GameCount { get; set; } // количество товаров public double TotalPrice { get; set; } // общая сумма заказа public List<ShopCartItem> ListShopItems { get; set; } public static ShopCart GetCart(IServiceProvider services) { ISession session = services.GetRequiredService<IHttpContextAccessor>()?.HttpContext.Session; var context = services.GetService<AppDbContext>(); string ShopCartId = session.GetString("CartId") ?? Guid.NewGuid().ToString(); session.SetString("CartId", ShopCartId); return new ShopCart(context) { ShopCartId = ShopCartId }; } public void AddToCart(Game game) { _appDbContext.ShopCartItem.Add(new ShopCartItem { ShopCartId = ShopCartId, Game = game, Price = game.Price }); _appDbContext.SaveChanges(); } public List<ShopCartItem> GetShopCartItems() { return _appDbContext.ShopCartItem.Where(c => c.ShopCartId == ShopCartId).Include(g => g.Game).ToList(); } public void RemoveFromCart(int gameId) { var item = _appDbContext.ShopCartItem.FirstOrDefault(i => i.Game.Id == gameId && i.ShopCartId == ShopCartId); if (item != null) { _appDbContext.ShopCartItem.Remove(item); _appDbContext.SaveChanges(); } } } }
Скриншот архива с проектом
Пояснения по запуску программы
Открыть проект с помощью Visual Studio 2022 Community. Запустить код на выполнение. Перед этим также потребуется установка ПО: MS SQL Server Management Studio 2019.
admin