Задание
Разработать упрощенный вариант интернет магазина по продаже компьютерных игр. Для разработки приложения использовать 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.
Телеграм
-