public static void DeserializeData(byte[] data) { var nm = Singleton <NetManager> .instance; var nodes = nm.m_nodes; int i = 0; foreach (var hasLights in data.Select(Convert.ToBoolean)) { var node = nodes.m_buffer[i]; if (hasLights) { //this if is utterly unnecessary... if (!CitiesHelper.HasTrafficLights(node.m_flags)) { node.m_flags |= NetNode.Flags.TrafficLights; } } else //(!hasLights) { //" if (CitiesHelper.HasTrafficLights(node.m_flags)) { node.m_flags &= ~NetNode.Flags.TrafficLights; } } nodes.m_buffer[i] = node; i++; } }
protected void UpdateCityData(int IdCountry, int IdState) { CitiesHelper ch = new CitiesHelper(IdCountry, IdState); cmbCities.DataSource = ch.Data; cmbCities.ValueMember = "Id"; cmbCities.DisplayMember = "CityName"; }
public static IEnumerable <byte> SerializeData() { return(Singleton <NetManager> .instance.m_nodes.m_buffer .Select(n => CitiesHelper.HasTrafficLights(n.m_flags)) .Select(Convert.ToByte)); }
public async Task <List <PublicEventListItem> > Handle(GetPublicEventsQuery request, CancellationToken cancellationToken) { IQueryable <PublicEvent> publicEvents; CitiesHelper citiesHelper = new CitiesHelper(); if (request.CategoryId != 0 && request.CategoryId != 10) { publicEvents = from p in _context.PublicEvents .Where(p => p.Category.CategoryId == request.CategoryId || p.Category.ParentCategoryId == request.CategoryId) .Where(e => e.Date.Date > DateTime.Now.AddDays(-2).Date) select p; } else { publicEvents = from p in _context.PublicEvents .Where(e => e.Date.Date > DateTime.Now.AddDays(-2).Date) select p; } if (!String.IsNullOrEmpty(request.Date)) { if (request.Date.Length >= 21) { publicEvents = publicEvents.Where(e => e.Date.ToString("dd'.'MM'.'yyyy") == request.Date || (e.Date >= DateTime.Parse(request.Date.Substring(0, 10)) && e.Date <= DateTime.Parse(request.Date.Substring(13, 10)))); } else { publicEvents = publicEvents.Where(e => e.Date.ToString("dd'.'MM'.'yyyy") == request.Date || e.Date.ToString("yyyy-MM-dd") == request.Date); } } if (!String.IsNullOrEmpty(request.City)) { publicEvents = publicEvents.Where(e => citiesHelper.GetCityName(e.Place) == request.City); } switch (request.SortBy) { case "date": publicEvents = publicEvents.OrderBy(e => e.Date); break; case "follows": publicEvents = publicEvents.OrderByDescending(e => e.Follows); break; } var data = publicEvents .Include(p => p.Category) .ThenInclude(c => c.ParentCategory) .Include(te => te.TagEvents) .ThenInclude(t => t.Tag) .ThenInclude(t => t.TagType) .Skip(request.PageSize * request.PageNumber - request.PageSize).Take(request.PageSize).ToList(); var publicEventsList = data.AsQueryable().Select(p => new PublicEventListItem { PublicEventId = p.PublicEventId, Name = p.Name, Description = p.Description, Date = p.Date, CategoryId = p.CategoryId, ImagePath = p.ImagePath, Url = p.Url, Follows = p.Follows, Place = p.Place, City = citiesHelper.GetCityName(p.Place), Promotor = p.Promotor, Price = p.Price, IsFollowed = p.IsFollowed, TagEvents = p.TagEvents, Category = p.Category }).ToList(); if (!string.IsNullOrEmpty(request.UserId)) { var user = _context.Users .Include(f => f.UserFollows).SingleOrDefault(u => u.Id == request.UserId); foreach (var p in publicEventsList) { if (user.UserFollows.Select(e => e.PublicEventId).Contains(p.PublicEventId)) { p.IsFollowed = true; } } } return(publicEventsList); }
public async Task <List <PublicEventListItem> > GetPublicEvents(int?categoryId = 0, string sortBy = "date", string date = "", string city = "", int pageNumber = 1, int pageSize = 25, string userId = "") { IQueryable <PublicEvent> publicEvents; CitiesHelper citiesHelper = new CitiesHelper(); if (categoryId != 0 && categoryId != 10) { publicEvents = from p in _context.PublicEvents .Where(p => p.Category.CategoryId == categoryId || p.Category.ParentCategoryId == categoryId) .Where(e => e.Date.Date > DateTime.Now.AddDays(-2).Date) select p; } else { publicEvents = from p in _context.PublicEvents .Where(e => e.Date.Date > DateTime.Now.AddDays(-2).Date) select p; } if (!String.IsNullOrEmpty(date)) { if (date.Length >= 21) { publicEvents = publicEvents.Where(e => e.Date.ToString("dd'.'MM'.'yyyy") == date || (e.Date >= DateTime.Parse(date.Substring(0, 10)) && e.Date <= DateTime.Parse(date.Substring(13, 10)))); } else { publicEvents = publicEvents.Where(e => e.Date.ToString("dd'.'MM'.'yyyy") == date || e.Date.ToString("yyyy-MM-dd") == date); } } if (!String.IsNullOrEmpty(city)) { publicEvents = publicEvents.Where(e => citiesHelper.GetCityName(e.Place) == city); } switch (sortBy) { case "date": publicEvents = publicEvents.OrderBy(e => e.Date); break; case "follows": publicEvents = publicEvents.OrderByDescending(e => e.Follows); break; } var data = await publicEvents .Include(p => p.Category) .ThenInclude(c => c.ParentCategory) .Include(te => te.TagEvents) .ThenInclude(t => t.Tag) .ThenInclude(t => t.TagType) .Skip(pageSize * pageNumber - pageSize) .Take(pageSize) .ToListAsync(); var publicEventsList = data.Select(p => new PublicEventListItem { PublicEventId = p.PublicEventId, Name = p.Name, Description = p.Description, Date = p.Date, CategoryId = p.CategoryId, ImagePath = p.ImagePath, Url = p.Url, Follows = p.Follows, Place = p.Place, City = citiesHelper.GetCityName(p.Place), Promotor = p.Promotor, Price = p.Price, IsFollowed = p.IsFollowed, TagEvents = p.TagEvents, Category = p.Category }).ToList(); foreach (var pe in publicEventsList) { if (!string.IsNullOrEmpty(userId)) { pe.IsFollowed = await IsEventFollowed(pe.PublicEventId, userId); } else { pe.IsFollowed = false; } } return(publicEventsList); }
public static void Change(ushort nodeId, ref NetNode node, ChangeMode mode, ref ChangedStatistics stats) { stats.Action = mode.ToString(); if (node.m_flags == NetNode.Flags.None) { return; } stats.NumberOfNodesNotNone++; if (!Node.IsValidIntersection(nodeId, ref node)) { return; } if (!Node.IsInsideBuildableArea(nodeId, ref node)) { return; } var ai = node.Info.GetAI() as RoadBaseAI; if (ai == null) { return; } stats.NumberOfIntersections++; var wantLights = ai.WantTrafficLights(); var hasLights = CitiesHelper.HasTrafficLights(node.m_flags); var isCustom = CitiesHelper.IsCustomTrafficLights(node.m_flags); bool shouldHasLights; switch (mode) { case ChangeMode.Remove: shouldHasLights = false; break; case ChangeMode.Add: shouldHasLights = true; break; case ChangeMode.Reset: shouldHasLights = wantLights; break; default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); } bool shouldBeCustom = mode != ChangeMode.Reset; if (wantLights) { stats.NumberOfWantLights++; } else { stats.NumberOfWantNoLights++; } if (hasLights) { stats.NumberOfHadLights++; } else { stats.NumberOfHadNoLights++; } if (isCustom) { stats.NumberOfWasCustom++; } else { stats.NumberOfWasNotCustom++; } if (shouldHasLights) { stats.NumberOfHasLights++; } else { stats.NumberOfHasLights++; } if (shouldBeCustom) { stats.NumberOfIsCustom++; } else { stats.NumberOfIsNotCustom++; } // test if should change if (hasLights == shouldHasLights && isCustom == shouldBeCustom) { return; } stats.NumberOfChanges++; if (hasLights != shouldHasLights) { if (shouldHasLights) { node.m_flags |= NetNode.Flags.TrafficLights; stats.NumberOfAddedLights++; } else { node.m_flags &= ~NetNode.Flags.TrafficLights; stats.NumberOfRemovedLights++; } } if (isCustom != shouldBeCustom) { if (shouldBeCustom) { node.m_flags |= NetNode.Flags.CustomTrafficLights; stats.NumberOfAddedCustoms++; } else { node.m_flags &= ~NetNode.Flags.CustomTrafficLights; stats.NumberOfRemovedCustoms++; } } }