public void SolarSystems_TraverseAll()
        {
            var systems = Regions.GetAll()
                          .SelectMany(r => r.Constellations())
                          .SelectMany(c => c.SolarSystems());

            var count = systems.Count();

            count.Should().BeGreaterOrEqualTo(8200);
        }
Exemplo n.º 2
0
 public override void BeforeSave(Sungero.Domain.BeforeSaveEventArgs e)
 {
     // Проверить код региона на уникальность.
     if (!string.IsNullOrWhiteSpace(_obj.Code))
     {
         var region = Regions.GetAll().FirstOrDefault(r => r.Code == _obj.Code &&
                                                      r.Country.Equals(_obj.Country) &&
                                                      r.Status != CoreEntities.DatabookEntry.Status.Closed);
         if (region != null && !region.Equals(_obj))
         {
             e.AddWarning(_obj.Info.Properties.Code, Regions.Resources.CodeDuplicateFormat(region.Name));
         }
     }
 }
        public void SolarSystem_Moons_Warmup_ReturnsAll(int solarSystemId)
        {
            // Warm up.
            var allMoons = Regions.GetAll()
                           .SelectMany(r => r.Constellations())
                           .SelectMany(c => c.SolarSystems())
                           .SelectMany(s => s.Planets())
                           .SelectMany(p => p.Moons())
                           .Count();

            var ss = SolarSystems.Get(solarSystemId).Value;

            var moons = ss.Planets().SelectMany(p => p.Moons()).ToList();

            moons.Should().NotHaveCount(0);
            allMoons.Should().BeGreaterThan(300000);
        }
Exemplo n.º 4
0
        public static IRegion GetRegionFromAddress(string address)
        {
            if (string.IsNullOrWhiteSpace(address))
            {
                return(null);
            }

            var pattern = string.Format(@"(?i:(?<pref>{0}\s)?(?<region>[а-я-]+)(?<suf>\s{0})?)", Constants.Region.AddressTypesMask);
            var match   = System.Text.RegularExpressions.Regex.Match(address, pattern);

            while (match.Success)
            {
                // Нашли республику/округ/край/область.
                if (match.Groups["pref"].Success || match.Groups["suf"].Success)
                {
                    return(Regions.GetAll().FirstOrDefault(r => r.Name.Contains(match.Groups["region"].Value)));
                }

                match = match.NextMatch();
            }

            return(null);
        }
Exemplo n.º 5
0
        public ActionResult Region()
        {
            List <Regions> allRegion = Regions.GetAll();

            return(View(allRegion));
        }