/// <summary> /// Redraw all objects on Canvas /// </summary> public static void RedrawAllObjects(Canvas canvas) { //clear canvas canvas.Children.Clear(); //draw roads foreach (var road in Roads) { RoadCreator.DrawRoad(canvas, road); } //draw Buildings foreach (var building in Buildings) { BuildingCreator.DrawBuilding(canvas, building); } //draw Garages foreach (var garage in Garages) { GarageCreator.drawGarage(canvas, garage); } // check for unnessesary intersection if so remove or nessesary IntersectionCreator.UpdateIntersections(Roads, Intersections); //draw Intersection foreach (var intersection in Intersections) { IntersectionCreator.DrawIntersection(canvas, intersection); } }
/// <summary> /// EventHandler that changes the width of a road /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChangeWidthRoadEventHandler(object sender, PropertyChangedEventArgs e) { try { if (Creator.SelectRoad != null) { Creator.SelectRoad.Width = NumericWidthRoad.Value; IntersectionCreator.UpdateIntersection(Creator.SelectRoad, ObjectHandler.Intersections, ObjectHandler.Roads); ObjectHandler.RedrawAllObjects(Canvas); } } catch (NullReferenceException) { } // because creator does not exist before the first event is fired in XML }
public void TestIntersectionOfTwoIntervals() { Assert.True(IntersectionCreator.HasIntersection(_targetInterval, _intervals[0])); Assert.True(IntersectionCreator.HasIntersection(_targetInterval, _intervals[1])); Assert.True(IntersectionCreator.HasIntersection(_targetInterval, _intervals[2])); Assert.True(IntersectionCreator.HasIntersection(_targetInterval, _intervals[3])); Assert.True(IntersectionCreator.HasIntersection(_targetInterval, _intervals[4])); Assert.True(IntersectionCreator.HasIntersection(_targetInterval, _intervals[5])); Assert.False(IntersectionCreator.HasIntersection(_targetInterval, _intervals[6])); Assert.False(IntersectionCreator.HasIntersection(_targetInterval, _intervals[7])); Assert.False(IntersectionCreator.HasIntersection(_targetInterval, _intervals[8])); Assert.False(IntersectionCreator.HasIntersection(_targetInterval, _intervals[9])); }
public async Task <IActionResult> GetIntervals(int userId, [FromBody] DateTimeIntervalForIntersectionDto intervalForIntersection) { var intervalsFromRepo = await _repo.GetIntervals(userId); var targetInterval = _mapper.Map <DateTimeInterval>(intervalForIntersection); if (!DateTimeIntervalValidator.Validate(targetInterval)) { return(BadRequest("Invalid interval")); } var result = IntersectionCreator.CreateIntersection(intervalsFromRepo, targetInterval); var intersection = _mapper.Map <IEnumerable <DateTimeIntervalForReturnDto> >(result); return(Ok(intersection)); }
public void TestResultIntersectionListCreation() { var resultIntersection = IntersectionCreator.CreateIntersection(_intervals, _targetInterval); var dateTimeIntervals = resultIntersection.ToList(); Assert.True(dateTimeIntervals.Count == 6); Assert.Contains(_intervals[0], dateTimeIntervals); Assert.Contains(_intervals[1], dateTimeIntervals); Assert.Contains(_intervals[2], dateTimeIntervals); Assert.Contains(_intervals[3], dateTimeIntervals); Assert.Contains(_intervals[4], dateTimeIntervals); Assert.Contains(_intervals[5], dateTimeIntervals); Assert.DoesNotContain(_intervals[6], dateTimeIntervals); Assert.DoesNotContain(_intervals[7], dateTimeIntervals); Assert.DoesNotContain(_intervals[8], dateTimeIntervals); Assert.DoesNotContain(_intervals[9], dateTimeIntervals); }