using _28_1_DemoFilmlerClassLibrary.Data;
using _28_1_DemoFilmlerClassLibrary.Entities;
using _28_1_DemoFilmlerClassLibrary.Entities.Bases;
using _28_1_DemoFilmlerClassLibrary.Repositories;
using System.Globalization;
namespace _28_3_DemoFilmlerWindowsFormsApp
{
public partial class Form1 : Form
{
FilmRepo filmRepo = new FilmRepo();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
lKayitSayisi.Text = "";
ddlIslem.SelectedIndex = 0;
FillGrid();
}
void FillGrid()
{
dgvFilmler.DataSource = null;
List<Film> filmler = filmRepo.FilmleriGetir().ToList();
dgvFilmler.DataSource = filmler;
SetColumnVisibilitesAndNames();
lKayitSayisi.Text = Veriler.KayitSayisiMesajiGetir(filmler.Count);
}
void FillGrid(string adi)
{
dgvFilmler.DataSource = null;
List<Film> filmler = filmRepo.FilmleriGetir(adi).ToList();
dgvFilmler.DataSource = filmler;
SetColumnVisibilitesAndNames();
lKayitSayisi.Text = Veriler.KayitSayisiMesajiGetir(filmler.Count);
}
void SetColumnVisibilitesAndNames()
{
dgvFilmler.Columns["Adi"].HeaderText = "Adı";
dgvFilmler.Columns["YapimYili"].HeaderText = "Yapım Yılı";
dgvFilmler.Columns["Gisesi"].HeaderText = "Gişesi";
dgvFilmler.Columns["Yonetmeni"].HeaderText = "Yönetmeni";
dgvFilmler.Columns["Id"].HeaderText = "ID";
dgvFilmler.Columns["GosterimTarihi"].HeaderText = "Gösterim Tarihi";
dgvFilmler.Columns["YerliMi"].Visible = false;
dgvFilmler.Columns["OlusturulmaTarihi"].Visible = false;
dgvFilmler.Columns["Platform"].Visible = false;
dgvFilmler.Columns["Adi"].Width = 200;
dgvFilmler.Columns["YapimYili"].Width = 85;
dgvFilmler.Columns["Gisesi"].Width = 90;
dgvFilmler.Columns["Yonetmeni"].Width = 150;
dgvFilmler.Columns["Id"].Width = 55;
dgvFilmler.Columns["GosterimTarihi"].Width = 110;
}
private void bAdaGoreFilmleriListele_Click(object sender, EventArgs e)
{
ddlIslem.SelectedIndex = 0;
string adi = tbAdi.Text.Trim();
FillGrid(adi);
}
private void bIdyeGoreFilmiGoster_Click(object sender, EventArgs e)
{
ddlIslem.SelectedIndex = 0;
int filmId;
if (!int.TryParse(tbId.Text, out filmId))
{
MessageBox.Show("ID girilmelidir!");
return;
}
Show(filmId);
}
void Show(int filmId)
{
Kayit kayit = filmRepo.KayitGetir(filmId);
if (kayit == null)
{
MessageBox.Show(Veriler.KayitBulunamadiMesaji, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
return;
}
Film film = (Film)kayit;
string filmText, yonetmenText, turlerText;
filmText = $"Film\r\n" +
$"ID: {film.Id}\r\n" +
$"Oluşturulma Tarihi: {film.OlusturulmaTarihi.ToString("dd.MM.yyyy HH:mm:ss")}\r\n" +
$"Adı: {film.Adi}\r\n" +
$"Yapım Yılı: {film.YapimYili}\r\n" +
$"Gişesi: {film.Gisesi.ToString("C2", new CultureInfo("tr-TR"))}\r\n" +
$"Gösterim Tarihi: {film.GosterimTarihi.ToString("dd.MM.yyyy")}\r\n" +
$"Platform: {film.Platform}\r\n" +
$"Yerli / Yabancı: {(film.YerliMi ? "Yerli" : "Yabancı")}";
yonetmenText = $"\r\nYönetmen\r\n" +
$"Adı Soyadı: {film.Yonetmeni.Adi} {film.Yonetmeni.Soyadi}\r\n" +
$"Doğum Tarihi: {film.Yonetmeni.DogumTarihi.ToString("dd.MM.yyyy")}\r\n" +
$"Durumu: {(film.Yonetmeni.EmekliMi ? "Emekli" : "Çalışıyor")}";
turlerText = "\r\nTürleri: ";
foreach (Tur tur in film.Turleri)
{
turlerText += tur.Adi + ", ";
}
turlerText = turlerText.Substring(0, turlerText.Length - 2);
MessageBox.Show(filmText + turlerText + yonetmenText, "Film Bilgisi", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
}
private void ddlIslem_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlIslem.SelectedIndex == 1) // film ekle
{
ShowFilmEkleForm();
}
else if (ddlIslem.SelectedIndex == 2) // film düzenle
{
ShowFilmDuzenleForm();
}
else if (ddlIslem.SelectedIndex == 3) // film sil
{
ShowFilmSilForm();
}
}
void ShowFilmEkleForm()
{
FilmEkleForm filmEkleForm = new FilmEkleForm();
filmEkleForm.Show();
}
void ShowFilmDuzenleForm()
{
FilmDuzenleForm filmDuzenleForm = new FilmDuzenleForm();
filmDuzenleForm.Show();
}
void ShowFilmSilForm()
{
FilmSilForm filmSilForm = new FilmSilForm();
filmSilForm.Show();
}
private void listeleToolStripMenuItem_Click(object sender, EventArgs e)
{
ddlIslem.SelectedIndex = 0;
FillGrid();
}
private void ekleToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowFilmEkleForm();
}
private void düzenleToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowFilmDuzenleForm();
}
private void silToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowFilmSilForm();
}
private void yönetmenlerToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowYonetmenForm();
}
void ShowYonetmenForm()
{
Form form = new YonetmenForm();
form.Show();
}
private void türlerToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowTurForm();
}
void ShowTurForm()
{
Form form = new TurForm();
form.Show();
}
}
}