Example #1
0
        public async void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListView list = (ListView)sender;
            string   str  = list.SelectedItem?.ToString();
            string   file = await RemoteSave.GetContentFromFtp(str, RemoteSave.State.ROUTE);

            var arr = file.Split(Environment.NewLine.ToCharArray());

            _routesList                  = arr.Where(s => !String.IsNullOrEmpty(s)).ToList();
            _routeListOnPage.Footer      = "";
            _routeListOnPage.ItemsSource = _routesList;
        }
        public async void SaveRoutesInFile(string text)
        {
            string file = Routes.Aggregate <Route, string>(null, (current, route) => current + (route.FlightLeg + Environment.NewLine));

            if (text.Length == 0 || text == "" || file.Length == 0 || file == "")
            {
                return;
            }
            await RemoteSave.SaveContentToFtp(file, text, RemoteSave.State.ROUTE);

            _viewModel.Routes = null;
            FileList          = model.GetFiles();
        }
Example #3
0
        internal async void Start(List <object> websiteMembers, List <Route> flightLeg, DateTimeOffset?dep, DateTimeOffset?arr, string path)
        {
            string conf = websiteMembers.Cast <TemplateTable>().Aggregate <TemplateTable, string>(null, (current, member) => current + (member.Name + ";"));

            conf += Environment.NewLine;
            conf  = flightLeg.Aggregate(conf, (current, route) => current + (route.Departure + route.Delimeter + route.Arrival + ";"));
            conf += Environment.NewLine;
            if (dep != null)
            {
                if (arr != null)
                {
                    conf += $"{dep:yyyy-MM-dd}" + ";" + $"{arr:yyyy-MM-dd}" + Environment.NewLine;
                }
            }
            conf += path + Environment.NewLine;
            var t = Task.Run(async() =>
            {
                await RemoteSave.SaveContentToFtp(conf, "conf", RemoteSave.State.INTERMEDIATE);
            });

            t.Wait();

            StorageFolder folder = ApplicationData.Current.LocalFolder;
            StorageFile   file   = await folder.GetFileAsync("WebsiteCrawler.exe");

            bool success = false;
            var  n       = Task.Run(async() =>
            {
                LauncherOptions options = new LauncherOptions
                {
                    TreatAsUntrusted     = false,
                    DesiredRemainingView = ViewSizePreference.UseMinimum, DisplayApplicationPicker = true,
                };
                success = await Launcher.LaunchFileAsync(file, options);
            });

            n.Wait();
        }
Example #4
0
        /// <summary>
        /// This method parse data from xml in object's variables
        /// </summary>
        /// <param name="fileName">name of file where website preferences saved</param>
        /// <returns></returns>
        public Template GetConfiguration(string fileName)
        {
            Template template = new Template();
            string   xml      = RemoteSave.GetContentFromFtp(fileName, RemoteSave.State.TEMPLATE);
            var      website  = WebsiteTemplate.Deserialize(xml);

            template.CommonInfo.WebsiteName = website.Name;
            template.CommonInfo.WebsiteUrl  = website.URL;

            template.SearchEngine.DeparturePoint.Tag      = website.SearchEngine.DeparturePoint.Tag;
            template.SearchEngine.DeparturePoint.Attr     = website.SearchEngine.DeparturePoint.Attr;
            template.SearchEngine.DeparturePoint.Name     = website.SearchEngine.DeparturePoint.Name;
            template.SearchEngine.DepartureDate.Tag       = website.SearchEngine.DepartureDate.Tag;
            template.SearchEngine.DepartureDate.Attr      = website.SearchEngine.DepartureDate.Attr;
            template.SearchEngine.DepartureDate.Name      = website.SearchEngine.DepartureDate.Name;
            template.SearchEngine.ArrivalPoint.Tag        = website.SearchEngine.ArrivalPoint.Tag;
            template.SearchEngine.ArrivalPoint.Attr       = website.SearchEngine.ArrivalPoint.Attr;
            template.SearchEngine.ArrivalPoint.Name       = website.SearchEngine.ArrivalPoint.Name;
            template.SearchEngine.ArrivalDate.Tag         = website.SearchEngine.ArrivalDate.Tag;
            template.SearchEngine.ArrivalDate.Attr        = website.SearchEngine.ArrivalDate.Attr;
            template.SearchEngine.ArrivalDate.Name        = website.SearchEngine.ArrivalDate.Name;
            template.SearchEngine.Roundtrip.Tag           = website.SearchEngine.Roundtrip.Tag;
            template.SearchEngine.Roundtrip.Attr          = website.SearchEngine.Roundtrip.Attr;
            template.SearchEngine.Roundtrip.Name          = website.SearchEngine.Roundtrip.Name;
            template.SearchEngine.ConfirmationButton.Tag  = website.SearchEngine.ConfirmationButton.Tag;
            template.SearchEngine.ConfirmationButton.Attr = website.SearchEngine.ConfirmationButton.Attr;
            template.SearchEngine.ConfirmationButton.Name = website.SearchEngine.ConfirmationButton.Name;

            template.ResultEngine.DeparturePoint.Tag  = website.ResultEngine.DeparturePoint.Tag;
            template.ResultEngine.DeparturePoint.Attr = website.ResultEngine.DeparturePoint.Attr;
            template.ResultEngine.DeparturePoint.Name = website.ResultEngine.DeparturePoint.Name;
            template.ResultEngine.DepartureDate.Tag   = website.ResultEngine.DepartureDate.Tag;
            template.ResultEngine.DepartureDate.Attr  = website.ResultEngine.DepartureDate.Attr;
            template.ResultEngine.DepartureDate.Name  = website.ResultEngine.DepartureDate.Name;
            template.ResultEngine.DepartureTime.Tag   = website.ResultEngine.DepartureTime.Tag;
            template.ResultEngine.DepartureTime.Attr  = website.ResultEngine.DepartureTime.Attr;
            template.ResultEngine.DepartureTime.Name  = website.ResultEngine.DepartureTime.Name;
            template.ResultEngine.ArrivalPoint.Tag    = website.ResultEngine.ArrivalPoint.Tag;
            template.ResultEngine.ArrivalPoint.Attr   = website.ResultEngine.ArrivalPoint.Attr;
            template.ResultEngine.ArrivalPoint.Name   = website.ResultEngine.ArrivalPoint.Name;
            template.ResultEngine.ArrivalDate.Tag     = website.ResultEngine.ArrivalDate.Tag;
            template.ResultEngine.ArrivalDate.Attr    = website.ResultEngine.ArrivalDate.Attr;
            template.ResultEngine.ArrivalDate.Name    = website.ResultEngine.ArrivalDate.Name;
            template.ResultEngine.ArrivalTime.Tag     = website.ResultEngine.ArrivalTime.Tag;
            template.ResultEngine.ArrivalTime.Attr    = website.ResultEngine.ArrivalTime.Attr;
            template.ResultEngine.ArrivalTime.Name    = website.ResultEngine.ArrivalTime.Name;
            //
            template.ResultEngine.AirlineName.Tag    = website.ResultEngine.AirlineName.Tag;
            template.ResultEngine.AirlineName.Attr   = website.ResultEngine.AirlineName.Attr;
            template.ResultEngine.AirlineName.Name   = website.ResultEngine.AirlineName.Name;
            template.ResultEngine.AirlineNumber.Tag  = website.ResultEngine.AirlineNumber.Tag;
            template.ResultEngine.AirlineNumber.Attr = website.ResultEngine.AirlineNumber.Attr;
            template.ResultEngine.AirlineNumber.Name = website.ResultEngine.AirlineNumber.Name;
            template.ResultEngine.Tariff.Tag         = website.ResultEngine.Tariff.Tag;
            template.ResultEngine.Tariff.Attr        = website.ResultEngine.Tariff.Attr;
            template.ResultEngine.Tariff.Name        = website.ResultEngine.Tariff.Name;
            template.ResultEngine.Tax.Tag            = website.ResultEngine.Tax.Tag;
            template.ResultEngine.Tax.Attr           = website.ResultEngine.Tax.Attr;
            template.ResultEngine.Tax.Name           = website.ResultEngine.Tax.Name;
            template.ResultEngine.Fee.Tag            = website.ResultEngine.Fee.Tag;
            template.ResultEngine.Fee.Attr           = website.ResultEngine.Fee.Attr;
            template.ResultEngine.Fee.Name           = website.ResultEngine.Fee.Name;
            template.ResultEngine.Price.Tag          = website.ResultEngine.Price.Tag;
            template.ResultEngine.Price.Attr         = website.ResultEngine.Price.Attr;
            template.ResultEngine.Price.Name         = website.ResultEngine.Price.Name;

            template.AdditionalInfo.ListAllowed.Tag     = website.AdditionalInfo.ListAllowed.Tag;
            template.AdditionalInfo.ListAllowed.Attr    = website.AdditionalInfo.ListAllowed.Attr;
            template.AdditionalInfo.ListAllowed.Name    = website.AdditionalInfo.ListAllowed.Name;
            template.AdditionalInfo.Back.Tag            = website.AdditionalInfo.Back.Tag;
            template.AdditionalInfo.Back.Attr           = website.AdditionalInfo.Back.Attr;
            template.AdditionalInfo.Back.Name           = website.AdditionalInfo.Back.Name;
            template.AdditionalInfo.Detail.Tag          = website.AdditionalInfo.Detail.Tag;
            template.AdditionalInfo.Detail.Attr         = website.AdditionalInfo.Detail.Attr;
            template.AdditionalInfo.Detail.Name         = website.AdditionalInfo.Detail.Name;
            template.AdditionalInfo.ExactlyAirline.Tag  = website.AdditionalInfo.ExactlyAirline.Tag;
            template.AdditionalInfo.ExactlyAirline.Attr = website.AdditionalInfo.ExactlyAirline.Attr;
            template.AdditionalInfo.ExactlyAirline.Name = website.AdditionalInfo.ExactlyAirline.Name;
            template.AdditionalInfo.OnlyDirect.Tag      = website.AdditionalInfo.OnlyDirect.Tag;
            template.AdditionalInfo.OnlyDirect.Attr     = website.AdditionalInfo.OnlyDirect.Attr;
            template.AdditionalInfo.OnlyDirect.Name     = website.AdditionalInfo.OnlyDirect.Name;
            return(template);
        }
Example #5
0
        /// <summary>
        /// In this method we receive data that was defined in B2B_app application and required for websites and web service investigation
        /// </summary>
        public void GetDataFromUser()
        {
            string        data     = RemoteSave.GetContentFromFtp("conf", RemoteSave.State.INTERMEDIATE);
            var           strArr   = data.Split(Environment.NewLine.ToCharArray());
            List <string> condData = strArr.Where(s => !String.IsNullOrEmpty(s)).ToList();
            var           temp     = condData[0];
            var           temp2    = temp.Split(';');

            foreach (string s in temp2.Where(s => !String.IsNullOrEmpty(s)))
            {
                SiteNames.Add(s);
            }
            temp  = condData[1];
            temp2 = temp.Split(';');
            bool flag;

            foreach (string s in temp2)
            {
                if (!String.IsNullOrEmpty(s))
                {
                    var   temp3 = s.Split('-');
                    Route route = new Route();
                    flag = true;
                    foreach (string s1 in temp3.Where(s1 => !String.IsNullOrEmpty(s1)))
                    {
                        if (flag)
                        {
                            route.Departure = s1;
                            flag            = false;
                        }
                        else
                        {
                            if (s1 != '-'.ToString())
                            {
                                route.Arrival = s1;
                            }
                        }
                    }
                    FlightLegs.Add(route);
                }
            }
            temp  = condData[2];
            temp2 = temp.Split(';');
            flag  = true;
            foreach (string s in temp2)
            {
                if (!String.IsNullOrEmpty(s))
                {
                    if (flag)
                    {
                        // 2016-07-20T15:00:00Z
                        DepartureDate = s;
                        flag          = false;
                    }
                    else
                    {
                        if (s != ';'.ToString())
                        {
                            ArrivalDate = s;
                        }
                    }
                }
            }
            temp           = condData[3];
            temp2          = temp.Split(';');
            ConfigFilePath = temp2[0];
            Config         = new CommonConfig();
            Config         = _configuration.GetConfiguration(ConfigFilePath);
            foreach (string siteName in SiteNames)
            {
                WebsiteDomList.Add(RemoteSave.GetContentFromFtp(siteName, RemoteSave.State.TEMPLATE));
            }
            TemplateConfigModel template = new TemplateConfigModel();

            foreach (string s in SiteNames)
            {
                WebsiteTemplates.Add(template.GetConfiguration(s));
            }
        }