using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Data.Entity;

namespace AplikacjaBazodanowa
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        BazaDanychEntities bazaDanych;

        private async void Form1_Load(object sender, EventArgs e)
        {
            bazaDanych = new BazaDanychEntities();
            //bazaDanych.Osoby.Load();
            //osobyDataGridView.DataSource = bazaDanych.Osoby.Local.ToBindingList();

            Task<bool> wartośćLogicznaZadanie = ZwróćBoolAsync();
            //bool wartośćLogiczna = wartośćLogicznaZadanie.Result;
            //MessageBox.Show(wartośćLogiczna.ToString());
            bool wartośćLogiczna = await wartośćLogicznaZadanie;
            //MessageBox.Show(wartośćLogiczna.ToString());            
            this.Text = wartośćLogiczna.ToString();

            await bazaDanych.Osoby.LoadAsync();
            osobyDataGridView.DataSource = bazaDanych.Osoby.Local.ToBindingList();            
        }

        Task<bool> ZwróćBoolAsync()
        {            
            return Task.Run(() => 
            {
                System.Threading.Thread.Sleep(10000);
                return true; 
            });
        }


        private void button1_Click(object sender, EventArgs e)
        {
            var zapytanie = from o in bazaDanych.Osoby
                            orderby o.Nazwisko
                            select o.Imię + " " + o.Nazwisko + " (" + o.Wiek + ")";

            string s = "Wynik zapytania:\n";
            foreach(string osoba in zapytanie)
            {
                s += osoba + "\n";
            }
            MessageBox.Show(s);


        }
    }
}
