示例#1
0
        public void Convert()
        {
            HashSet <string> memberTouchCache = new HashSet <string>();

            foreach (var ns in _store.Namespaces)
            {
                NamespacePages.Add(ns.Key, FormatNamespace(ns.Value));
            }

            foreach (var type in _store.TypesByUid.Values)
            {
                switch (type.ItemType)
                {
                case ItemType.Enum:
                    var enumPage = FormatEnum(type, memberTouchCache);
                    TypePages.Add(enumPage.Uid, enumPage);
                    break;

                case ItemType.Class:
                case ItemType.Interface:
                case ItemType.Struct:
                    var tPage = FormatType(type);
                    TypePages.Add(tPage.Uid, tPage);
                    break;

                case ItemType.Delegate:
                    var dPage = FormatDelegate(type);
                    TypePages.Add(dPage.Uid, dPage);
                    break;
                }

                var mGroups = type.Members
                              ?.Where(m => !memberTouchCache.Contains(m.Uid))
                              .GroupBy(m => m.Overload);
                if (mGroups != null)
                {
                    foreach (var mGroup in mGroups)
                    {
                        var parentType = (Models.Type)mGroup.FirstOrDefault()?.Parent;
                        var ol         = parentType?.Overloads.FirstOrDefault(o => o.Uid == mGroup.Key);
                        if (mGroup.Key == null)
                        {
                            foreach (var m in mGroup)
                            {
                                OverloadPages.Add(m.Uid, FormatOverload(null, new List <Member> {
                                    m
                                }));
                            }
                        }
                        else
                        {
                            OverloadPages.Add(mGroup.Key, FormatOverload(ol, mGroup.ToList()));
                        }
                    }
                }
            }
        }
 public UpdateAndNewMatchPage(MatchesViewModel viewModel, TypePages typePreviousPage)
 {
     _viewModel  = viewModel;
     _typeOfPage = typePreviousPage;
     _viewModel.SetMatchAdditionalDetails();
     InitializeComponent();
     BindingContext = _viewModel.SelectedLiveMatch;
     SetPageButtonsAndTitle(typePreviousPage);
     CreateMatchActionButtons();
 }
        private void SetPageButtonsAndTitle(TypePages typePreviousPage)
        {
            switch (typePreviousPage)
            {
            case TypePages.UpdatePage:
                PageNameLabel.Text = "UPDATE MATCH";
                break;

            case TypePages.NewPage:
                PageNameLabel.Text = "NEW MATCH";
                break;
            }
        }
        private void SetPageButtonsAndTitle(TypePages typePreviousPage)
        {
            switch (typePreviousPage)
            {
            case TypePages.UpdatePage:
                DeleteButton.IsVisible = true;
                Title = "Update match";
                break;

            case TypePages.NewPage:
                DeleteButton.IsVisible = false;
                Title = "New match";
                break;
            }
        }
 public UpdateAndNewMatchPage(Match match, MatchesViewModel viewModel, TypePages typePreviousPage)
 {
     InitializeComponent();
     _viewModel        = viewModel;
     _typePreviousPage = typePreviousPage;
     SetPageButtonsAndTitle(typePreviousPage);
     Match            = match;
     Match.Teams      = viewModel.Teams;
     Match.Categories = viewModel.Categories;
     Match.MatchTypes = viewModel.MatchTypes;
     Match.Squads     = viewModel.Squads;
     Match.Statuses   = viewModel.Statuses;
     Match.Rounds     = viewModel.Rounds;
     BindingContext   = this;
 }