using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using trade_akapralov.classes;
using MySqlConnector;
using Dapper;

namespace trade_akapralov.idataprovider
{
    public class DBDataProvider : IDataProvider
    {
        // Строка подключения к базе данных
        private static string connectionString = "Server=kolei.ru; User ID=abolshakova; Password=250105; Database=abolshakova_trade2";

        // Метод для получения списка продуктов
        public IEnumerable<Product> getProduct()
        {
            using (MySqlConnection db = new MySqlConnection(connectionString))
            {
                // Новый SQL-запрос для выбора данных из таблицы Product
                string query = @"
SELECT 
    p.ProductID,
    p.ProductArticleNumber, 
    p.ProductDescription,
    p.ProductName, 
    p.ProductCategoryID, 
    p.ProductPhoto, 
    p.ManufacturerID, 
    p.ProductCost, 
    p.ProductDiscountAmount, 
    p.ProductQuantityInStock,
    c.CategoryName AS ProductCategoryName,
    m.ManufacturerName AS ManufacturerName,
    CONCAT('file:///C:/Users/Neptu/source/repos/trade_akapralov/trade_akapralov/bin/Debug/net8.0-windows/photo/', p.ProductArticleNumber, '.jpg') AS ProductPhotoPath
FROM Product p
INNER JOIN Category c ON p.ProductCategoryID = c.CategoryID
INNER JOIN Manufacturer m ON p.ManufacturerID = m.ManufacturerID";


                // Выполнение запроса и возврат данных в виде списка продуктов
                return db.Query<Product>(query).AsList();
            }
        }
    }
}
