C# MDI Form + Entity Framework + Data Access Layer + Entity Layer + Business Logic Layer Design Pattern

C# MDI Form + Entity Framework + Data Access Layer + Entity Layer + Business Logic Layer Design Pattern
 

 
   using System;
   using System.Windows.Forms;
   using SoccerApp.MDIChild;
 
   namespace SoccerApp
   {
      public partial class Master : Form
      {
 
         private Team TeamMDIChild;
         private Player PlayerMDIChild;
         private Nation NationMDIChild;
 
         public Master()
         {
            InitializeComponent();
         }
 
         private void Master_Load(object sender, EventArgs e)
         {
         }
 
         private void teamToolStripMenuItem_Click(object sender, EventArgs e)
         {
            MinimizedAll();
 
            if (TeamMDIChild == null || TeamMDIChild.IsDisposed)
            {
               TeamMDIChild = new Team();
               TeamMDIChild.MdiParent = this;
            }
 
            TeamMDIChild.Visible = true;
            TeamMDIChild.WindowState = FormWindowState.Maximized;
         }
 
         private void playerToolStripMenuItem_Click(object sender, EventArgs e)
         {
            MinimizedAll();
 
            if (PlayerMDIChild == null || PlayerMDIChild.IsDisposed)
            {
               PlayerMDIChild = new Player();
               PlayerMDIChild.MdiParent = this;
            }
 
            PlayerMDIChild.Visible = true;
            PlayerMDIChild.WindowState = FormWindowState.Maximized;
         }
 
         private void nationToolStripMenuItem_Click(object sender, EventArgs e)
         {
            MinimizedAll();
 
            if (NationMDIChild == null || NationMDIChild.IsDisposed)
            {
               NationMDIChild = new Nation();
               NationMDIChild.MdiParent = this;
            }
 
            NationMDIChild.Visible = true;
            NationMDIChild.WindowState = FormWindowState.Maximized;
         }
 
         private void MinimizedAll()
         {
            if (TeamMDIChild != null && !TeamMDIChild.IsDisposed)
            {
               TeamMDIChild.Visible = false;
               TeamMDIChild.WindowState = FormWindowState.Minimized;
            }
 
            if (PlayerMDIChild != null && !PlayerMDIChild.IsDisposed)
            {
               PlayerMDIChild.Visible = false;
               PlayerMDIChild.WindowState = FormWindowState.Minimized;
            }
 
            if (NationMDIChild != null && !NationMDIChild.IsDisposed)
            {
               NationMDIChild.Visible = false;
               NationMDIChild.WindowState = FormWindowState.Minimized;
            }
         }
 
      }
   }