public SearchRouteArgs(Delegates.UpdateInformationAboutSearching delegateToUpdatingInformationAboutSearching,
     Delegates.DeliverResults delegateToDeliverResultsToView, SearchArgs userSearchArgs)
 {
     DelegateToUpdatingInformationAboutSearching = delegateToUpdatingInformationAboutSearching;
     UserSearchArgs = userSearchArgs;
     DelegateToDeliverResultsToView = delegateToDeliverResultsToView;
 }
        private void SearchRoute(object sender, SearchArgs arg)
        {
            if (arg.SoughtConnectionByUser.StartBusStop == "" || arg.SoughtConnectionByUser.EndBusStop == "" || arg.SoughtConnectionByUser.StartBusStop.Equals(arg.SoughtConnectionByUser.EndBusStop))
            {
                _communicationRoutesGui.ShowMessage("Wrong data. You have to choose proper bus stops");
                return;
            }

            SearchRouteArgs argsForSearching = new SearchRouteArgs(_ShowTimeForSearchingRoute, _deliverResultsToView, arg);
            Thread searchingRoutesThread = new Thread(new ParameterizedThreadStart(_communicationRoutesModel.SearchRoute));
            searchingRoutesThread.Name = "Searching routes - thread";
            searchingRoutesThread.Start(argsForSearching);
            _communicationRoutesGui.SaveThread(searchingRoutesThread);
        }