public List <DirectionType> GetFilteredDirections()
        {
            var direcitonRepository = DirectionTypeRepositoryFactory.Create();
            var includedDirections  = FilterDirections.Where(f => f.Include).Select(f => f.DirectionTypeId).ToList();
            var directionsList      = direcitonRepository.GetDirectionsByIDs(includedDirections);

            return(directionsList);
        }
        private void RemoveApproachesFromSignalByDirection(Models.Signal signal)
        {
            var approachesToRemove = new List <Approach>();

            foreach (var approach in signal.Approaches)
            {
                if (FilterDirections.Where(f => !f.Include).Select(f => f.DirectionTypeId).ToList()
                    .Contains(approach.DirectionTypeID))
                {
                    approachesToRemove.Add(approach);
                }
            }
            foreach (var approach in approachesToRemove)
            {
                signal.Approaches.Remove(approach);
            }
        }