async void OnSearchBookmarkTapped(object sender, EventArgs eventArgs)
        {
            //check if user is logged in
            if (userSession.userLoginCookie == "")
            {
                await DisplayAlert("Login required", "Please login first to saved your custom search", "OK");
            }
            else
            {   //if none of the fields are edited, output error
                if (String.IsNullOrEmpty(tenderReferenceInput.Text) && String.IsNullOrEmpty(tenderTitleInput.Text) && selectedSource == "" && closingdatefrom == "" && closingdateto == "")
                {
                    await DisplayAlert("Error", "Please enter at least one search field", "Okay");
                }
                else
                {
                    string identifier = await InputBox(this.Navigation);

                    //Generate random number for Custom Search ID
                    Random rand1        = new Random();
                    string randomnumber = "";


                    for (int i = 0; i < 7; i++)
                    {
                        randomnumber = rand1.Next().ToString();
                    }


                    string tenderReference   = tenderReferenceInput.Text;
                    string tenderTitle       = tenderTitleInput.Text;
                    string originatingSource = selectedSource;
                    string closingDateFrom   = closingdatefrom;
                    string closingDateTo     = closingdateto;

                    DisplayAlert("Add bookmark", "Search preferences added and can be viewed at the Custom Searches page", "OK");

                    string postbookmarkhttptask = await Task.Run <string>(() => HttpRequestHandler.PostManageSearchBookmark(randomnumber, tenderReference, tenderTitle, originatingSource, closingDateFrom, closingDateTo, userSession.username, identifier, "add"));

                    var postbookmarkhttpresult = postbookmarkhttptask.ToString();
                    Console.WriteLine(postbookmarkhttpresult);
                    int count = 0;

                    while (count < 3 && postbookmarkhttpresult != "Success")
                    {
                        Console.WriteLine("Looping for failure add");
                        postbookmarkhttptask = await Task.Run <string>(() => HttpRequestHandler.PostManageSearchBookmark(randomnumber, tenderReference, tenderTitle, originatingSource, closingDateFrom, closingDateTo, userSession.username, identifier, "add"));

                        postbookmarkhttpresult = postbookmarkhttptask.ToString();
                        count++;
                    }
                }
            }
        }
Beispiel #2
0
        async void onDeleteTapped(object sender, EventArgs args)
        {
            var customSearchesSelected = ((TappedEventArgs)args).Parameter;
            customSearchesItem        customSearches     = (customSearchesItem)customSearchesSelected;
            List <customSearchesItem> tempcustomSearches = (List <customSearchesItem>)listView.ItemsSource;

            var answer = await DisplayAlert("Remove Favourite Search", "Are you sure you want to remove favourite search '" + customSearches.identifier + "'?", "YES", "NO");

            if (answer)
            {
                //remove bookmark from listview
                foreach (var searchesItem in tempcustomSearches.ToList())
                {
                    if (searchesItem == customSearches)
                    {
                        int index = tempcustomSearches.IndexOf(searchesItem);
                        tempcustomSearches.Remove(searchesItem);
                    }
                }

                //Refresh listview
                listView.ItemsSource = tempcustomSearches.ToList();

                //Display error message when there are no bookmark
                if (tempcustomSearches.Count <= 0)
                {
                    errorMsg.Text      = "No favourite searches found.";
                    errorMsg.IsVisible = true;
                    upBtn.IsVisible    = false;
                }

                //Remove bookmark from database
                string httpTask = await Task.Run <string>(() => HttpRequestHandler.PostManageSearchBookmark(customSearches.searchID, customSearches.tenderReference, customSearches.tenderTitle, customSearches.originatingSource, customSearches.closingDateFrom, customSearches.closingDateTo, userSession.username, customSearches.identifier, "delete"));

                Console.WriteLine(customSearches.identifier);
                var httpResult = httpTask.ToString();
                Console.WriteLine(httpResult);
                int count = 0;

                while (count < 3 && httpResult != "Success")
                {
                    Console.WriteLine("Looping for failure delete");
                    httpTask = await Task.Run <string>(() => HttpRequestHandler.PostManageSearchBookmark(customSearches.searchID, customSearches.tenderReference, customSearches.tenderTitle, customSearches.originatingSource, customSearches.closingDateFrom, customSearches.closingDateTo, userSession.username, customSearches.identifier, "delete"));

                    httpResult = httpTask.ToString();
                    count++;
                }
            }
        }