/// <summary>
 /// Updates the labels on the view to inform the user what they are looking at.
 /// </summary>
 /// <param name="_model">The model that has been udpated</param>
 public void UpdateView(ITopHandleBarModel _model)
 {
     lbl_Country.Text = _model.CurrentCountry;
     lbl_reportGenerationDate.Text = _model.ReportGenerationDate;
     lbl_Performance.Text          = _model.Performance;
     lbl_Section.Text  = _model.Section;
     lbl_Category.Text = _model.Category;
 }
        /// <summary>
        /// Creates the top handle bar controller.
        /// </summary>
        public void CreateTopHandleBarViewController()
        {
            // Ceate a new  top handle bar model
            topHandleBarModel = new TopHandleBarModel();

            // Create an instance of the controller
            topHandleBarController = new TopHandleBarController(topHandleBar, TopHandleBarNavigation_Click, topHandleBarModel);
        }
        /// <summary>
        /// Custom Constructor
        /// </summary>
        /// <param name="_view">The view this controll will control</param>
        public TopHandleBarController(ITopHandleBarView _view, EventHandler _handler, ITopHandleBarModel _model)
        {
            // set the model instance to the one provided.
            Model = _model;

            // Grab the instance of the view to send messages back and forth.
            view = _view;

            // Register the ToggleNavigation handler
            ToggleNavigation += _handler;

            // Register the views hamburger icon click event
            view.HamburgerClick += (sender, e) => { ToggleNavigation(sender, e); };

            // Register the models update event
            // When the model is updated, pass the model to the view by value to be updated
            Model.TopHandleModelUpdated += (sender, e) => { view.UpdateView(Model); };

            // update the top handle bar model
            Model.Update("N/A", "N/A", "N/A");
        }