Exemplo n.º 1
0
        private void FillEventsListModel(EventsGetResponse eventsGetResponse)
        {
            view.Model.Clear();

            EventButton viewItemMessages      = null;
            EventButton viewItemComments      = null;
            EventButton viewItemFriends       = null;
            EventButton viewItemFriendsNews   = null;
            EventButton viewItemFriendsPhotos = null;
            EventButton viewItemWallMessages  = null;

            foreach (Event ev in eventsGetResponse.events)
            {
                switch (ev.type)
                {
                case EventType.Messages:
                    viewItemMessages       = new EventButton(Resources.MainView_Label_Messages, Convert.ToInt16(ev.number), ev.type, MasterForm.SkinManager.GetImage("Message"));
                    viewItemMessages.Count = ev.number;
                    break;

                case EventType.Comments:
                    viewItemComments       = new EventButton(Resources.MainView_Label_Comments, Convert.ToInt16(ev.number), ev.type, MasterForm.GetSkinManagerImageInvoked("Guest"));
                    viewItemComments.Count = ev.number;
                    break;

                case EventType.Friends:
                    viewItemFriends       = new EventButton(Resources.MainView_Label_Friends, Convert.ToInt16(ev.number), ev.type, MasterForm.GetSkinManagerImageInvoked("Mark"));
                    viewItemFriends.Count = ev.number;
                    break;

                case EventType.FriendsNews:
                    viewItemFriendsNews       = new EventButton(Resources.MainView_Label_FriendsNews, Convert.ToInt16(ev.number), ev.type, MasterForm.GetSkinManagerImageInvoked("Notification"));
                    viewItemFriendsNews.Count = ev.number;
                    break;

                case EventType.FriendsPhotos:
                    viewItemFriendsPhotos       = new EventButton(Resources.MainView_Label_FriendsPhotos, Convert.ToInt16(ev.number), ev.type, MasterForm.GetSkinManagerImageInvoked("Activities"));
                    viewItemFriendsPhotos.Count = ev.number;
                    break;

                case EventType.WallMessages:
                    viewItemWallMessages       = new EventButton(Resources.MainView_Label_WallMessages, Convert.ToInt16(ev.number), ev.type, MasterForm.GetSkinManagerImageInvoked("Discussion"));
                    viewItemWallMessages.Count = ev.number;
                    break;
                }
            }

            // формирование списка по порядку

            // сообщения
            if (Globals.BaseLogic.IDataLogic.GetShowButtonMessages())
            {
                if (viewItemMessages == null)
                {
                    viewItemMessages       = new EventButton(Resources.MainView_Label_Messages, 0, EventType.Messages, MasterForm.GetSkinManagerImageInvoked("Message"));
                    viewItemMessages.Count = 0;
                    view.Model.Add(viewItemMessages);
                }
                else
                {
                    view.Model.Add(viewItemMessages);
                }
            }

            // уведомления
            if (Globals.BaseLogic.IDataLogic.GetShowButtonComments())
            {
                if (viewItemComments == null)
                {
                    viewItemComments       = new EventButton(Resources.MainView_Label_FriendsNews, 0, EventType.Comments, MasterForm.GetSkinManagerImageInvoked("Notification"));
                    viewItemComments.Count = 0;
                    view.Model.Add(viewItemComments);
                }
                else
                {
                    view.Model.Add(viewItemComments);
                }
            }

            // обсуждения
            if (Globals.BaseLogic.IDataLogic.GetShowButtonFriends())
            {
                if (viewItemFriends == null)
                {
                    viewItemFriends       = new EventButton(Resources.MainView_Label_WallMessages, 0, EventType.Friends, MasterForm.GetSkinManagerImageInvoked("Discussion"));
                    viewItemFriends.Count = 0;
                    view.Model.Add(viewItemFriends);
                }
                else
                {
                    view.Model.Add(viewItemFriends);
                }
            }

            // лента
            if (Globals.BaseLogic.IDataLogic.GetShowButtonFriendsNews())
            {
                if (viewItemFriendsNews == null)
                {
                    viewItemFriendsNews       = new EventButton(Resources.MainView_Label_FriendsPhotos, 0, EventType.FriendsNews, MasterForm.GetSkinManagerImageInvoked("Activities"));
                    viewItemFriendsNews.Count = 0;
                    view.Model.Add(viewItemFriendsNews);
                }
                else
                {
                    view.Model.Add(viewItemFriendsNews);
                }
            }

            // гости
            if (Globals.BaseLogic.IDataLogic.GetShowButtonFriendsPhotos())
            {
                if (viewItemFriendsPhotos == null)
                {
                    viewItemFriendsPhotos       = new EventButton(Resources.MainView_Label_Comments, 0, EventType.FriendsPhotos, MasterForm.GetSkinManagerImageInvoked("Guest"));
                    viewItemFriendsPhotos.Count = 0;
                    view.Model.Add(viewItemFriendsPhotos);
                }
                else
                {
                    view.Model.Add(viewItemFriendsPhotos);
                }
            }

            // оценки
            if (Globals.BaseLogic.IDataLogic.GetShowButtonWallMessages())
            {
                if (viewItemWallMessages == null)
                {
                    viewItemWallMessages       = new EventButton(Resources.MainView_Label_Friends, 0, EventType.WallMessages, MasterForm.GetSkinManagerImageInvoked("Mark"));
                    viewItemWallMessages.Count = 0;
                    view.Model.Add(viewItemWallMessages);
                }
                else
                {
                    view.Model.Add(viewItemWallMessages);
                }
            }
        }