示例#1
0
        internal static async Task <List <string> > GetSystemRomsAsync(string systemName)
        {
            if (!SystemRoms.ContainsKey(systemName))
            {
                SystemRoms[systemName] = new HashSet <string>();
            }

            var romNames = SystemRoms[systemName];

            foreach (var system in SystemList.Where(s => s.Name == systemName))
            {
                if (system.Roms == null)
                {
                    await system.GetRomsAsync();
                }


                foreach (var rom in system.Roms)
                {
                    romNames.Add(rom.Name);
                }
            }
            var output = romNames.ToList();

            output.Sort();
            return(output);
        }
 public async void TappedCommand(LoaclItemOfTaskDto dto)
 {
     try
     {
         if (SystemList == null || SystemList.Count == 0)
         {
             return;
         }
         if (null != SystemDto)
         {
             int seq = SystemDto.SeqNo;
             LoaclItemOfTaskDto currentDto = SystemList.Where(p => p.SeqNo == seq &&
                                                              p.TPId == SystemDto.TPId &&
                                                              p.TIId == SystemDto.TIId).FirstOrDefault();
             try
             {
                 await Navigation.PushAsync <LocalRegistScoreViewModel>((vm, v) => vm.Init(SystemList, currentDto), true);
             }
             catch (Exception)
             {
             }
         }
     }
     catch (Exception)
     {
     }
 }
示例#3
0
        internal static List <Rom> GetRomsByName(string systemName, string romName)
        {
            List <Rom> output = new List <Rom>();

            foreach (var system in SystemList.Where(s => s.Name == systemName))
            {
                var matchingRoms = system.Roms?.Where(rom => romName == rom.Name);
                foreach (var rom in matchingRoms)
                {
                    output.Add(rom);
                }
            }
            return(output);
        }
示例#4
0
        internal static List <string> GetSystemRoms(string systemName)
        {
            HashSet <string> romNames = new HashSet <string>();

            foreach (var system in SystemList.Where(s => s.Name == systemName))
            {
                system.Roms?.ForEach(rom => romNames.Add(rom.Name));
            }

            var output = romNames.ToList();

            output.Sort();
            return(output);
        }
示例#5
0
        private void GoRegistScore(ItemOfTaskDto dto)
        {
            try
            {
                if (SystemList == null || SystemList.Count == 0)
                {
                    return;
                }

                if (null != dto)
                {
                    int           seq        = dto.SeqNo;
                    ItemOfTaskDto currentDto = SystemList.Where(p => p.SeqNo == seq &&
                                                                p.TPId == dto.TPId &&
                                                                p.TIId == dto.TIId).FirstOrDefault();
                    //int index = SystemList.IndexOf(currentDto);

                    //if (index == -1)
                    //{
                    //    _commonFun.AlertLongText("获取索引失败");
                    //    return;
                    //}

                    Device.BeginInvokeOnMainThread(async() =>
                    {
                        //await Navigation.PushAsync<RegistScoreViewModel>(true);
                        //SystemList.FirstOrDefault().CurrentIndex = index;
                        //MessagingCenter.Send<List<ItemOfTaskDto>>(SystemList, "PassSystemList");
                        try
                        {
                            if (currentDto.IsClicked)
                            {
                                await Navigation.PushAsync <RegistScoreViewModel>((vm, v) => vm.Init(SystemList, currentDto), true);
                            }
                            else
                            {
                                await Navigation.PushAsync <ViewRegistScoreViewModel>((vm, v) => vm.Init(SystemList, currentDto), true);
                            }
                        }
                        catch (Exception)
                        {
                        }
                    });
                }
            }
            catch (Exception)
            {
            }
        }