public override void NotifyObserver(NotifyObject notifyObj)
        {
            //throw new Exception("The method or operation is not implemented.");
            //  notifyObj.Name = can be a view id
            //  notifyObj.Type==Notify data type which is defined in the DataNotificationCost.cs file

            if (notifyObj.Name != m_View.ViewID)
            {
                return;
            }

            //will only handle the notification when the ViewID is matching.

            if (notifyObj.Type == DataNotificaitonConst.SelectMarkGroupToLoad)
            {
                SetMarkerTable(m_Model.GetMarkerListByGrp((string)(notifyObj.Body)));
                m_grpName = (string)(notifyObj.Body);
                m_View.PopulateDataMarkerListDataGridView(1);
            }
            if (notifyObj.Type == DataNotificaitonConst.SaveMarkerToGroup)
            {
                m_grpName = (string)(notifyObj.Body);
                SaveMarkerListToGroup((string)(notifyObj.Body));
            }
            if (notifyObj.Type == DataNotificaitonConst.AddMarker)
            {
                AddMarkerToList((EtyMarker)(notifyObj.Body));
            }
            if (notifyObj.Type == DataNotificaitonConst.ModifyMarker)
            {
                KeyValuePair <string, EtyMarker> pair = (KeyValuePair <string, EtyMarker>)(notifyObj.Body);
                ModifyMarker(pair.Key, pair.Value);
            }
        }