using System;
using System.Collections.Generic;
using System.Data.Common;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using TravelAgencyWindow.Data;
using TravelAgencyWindow.Model;
using TravelAgencyWindow.Pages;

namespace TravelAgencyWindow
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        /// <summary>
        /// Метод для преобразовани данных из папки проекта в
        /// байт-массив и последующим сохранением в БД.
        /// </summary>
        /// <param name="path">Путь к папке, откуда требуется сохранить фотограции.</param>
        public static void ImgIntoDB(string path)
        {
            //Получение спика, куда нужны картинки.
            List<Tour> listTour = GlobalData.ConnectionDB.Tour.ToList();
            //Получения списка путей к картинкам.
            List<string> images = Directory.GetFiles(path).ToList();
            //Метод для обработки какая картинку куды.
            foreach (string image in images)
            {
                Tour tour = listTour.FirstOrDefault(x => image.ToLower().Contains(x.Name.ToLower().Trim()));

                if (tour != null)
                {
                    byte[] image_bytes = File.ReadAllBytes(image);
                    tour.ImagePreview = image_bytes;
                }
            }
            //Сохранение измененйи в БД.
            GlobalData.ConnectionDB.SaveChanges();
        }

        public MainWindow()
        {
            //ImgIntoDB("..\\..\\Туры фото");
            InitializeComponent();
            GlobalData.MainFrame = FrameOfMain;
            //GlobalData.MainFrame.Navigate(new ListOfTourPage());
            GlobalData.MainFrame.Navigate(new ListOfHotelPage());
        }

        private void btnOnPage_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;
            if(btn.Content.ToString() == "Туры")
            {
                GlobalData.MainFrame.Navigate(new ListOfTourPage());
            }
            else if(btn.Content.ToString() == "Отели")
            {
                GlobalData.MainFrame.Navigate(new ListOfHotelPage());
            }
        }
    }
}
