public EditPage(CompletedShift obj)
        {
            InitializeComponent();
            BindingContext = new PickerViewModel();

            shiftObject = obj;
        }
        private void EditShiftBtn_Clicked(object sender, EventArgs e)
        {
            // To Edit -page, tapped listview item as parameter
            CompletedShift item = (CompletedShift)listView.SelectedItem;

            var editPage = new EditPage(item);

            NavigationPage.SetHasNavigationBar(editPage, false);
            Navigation.PushAsync(editPage);
        }
        private async void DeleteShiftBtn_Clicked(object sender, EventArgs e)
        {
            CompletedShift item = (CompletedShift)listView.SelectedItem;

            // Get confirmation from user for delete
            var answer = await DisplayAlert("Is It My Turn",
                                            "Haluatko varmasti poistaa valitun kirjauksen?\r\n\r\n" +
                                            "Asunto: " + item.ApartmentName + "\r\n" +
                                            "Leikkuu ajankohta: " + item.DateStr, "Kyllä", "Ei");

            // If true, delete from database
            if (answer)
            {
                HttpClient          client   = new HttpClient();
                HttpResponseMessage response = await client.DeleteAsync("https://isitmyturnapi.azurewebsites.net/api/completedshift/" + item.ShiftId.ToString());

                int status = (int)response.StatusCode;

                // Status codes:
                // 200 - Everything OK
                // 201 - A shift has deleted successfully. Some problems with notifications
                if (status == 200)
                {
                    await DisplayAlert("Is It My Turn", "Kirjaus poistettu onnistuneesti!", "OK");

                    var vUpdatedPage = new SeekAndDestroy();
                    Navigation.InsertPageBefore(vUpdatedPage, this);
                    NavigationPage.SetHasNavigationBar(vUpdatedPage, false);
                    await Navigation.PopAsync();
                }
                else if (status == 201)
                {
                    await DisplayAlert("Is It My Turn",
                                       "Kirjauksen poisto onnistui, mutta ilmoitusten lähettämisessä käyttäjille ilmeni ongelmia.\r\n\r\n" +
                                       "Käytä WhatsApp-ryhmää vuoron vaihdon ilmoittamiseen ja ota yhteyttä sovelluksen ylläpitäjään.", "OK");

                    var vUpdatedPage = new SeekAndDestroy();
                    Navigation.InsertPageBefore(vUpdatedPage, this);
                    NavigationPage.SetHasNavigationBar(vUpdatedPage, false);
                    await Navigation.PopAsync();
                }
                else
                {
                    await DisplayAlert("Is It My Turn", "Kirjauksen päivitys epäonnistui! Ole hyvä ja yritä uudelleen.\r\nJos ongelma ei poistu, ota yhteyttä sovelluksen ylläpitäjään.", "OK");
                }
            }
        }
        private async void GetCompletedShifts()
        {
            // Get a list of completed shifts
            HttpClient          client   = new HttpClient();
            HttpResponseMessage response = await client.GetAsync("https://isitmyturnapi.azurewebsites.net/api/completedshift");

            if (response.IsSuccessStatusCode)
            {
                string json = await response.Content.ReadAsStringAsync();

                List <CompletedShift> completedShiftsList = JsonConvert.DeserializeObject <List <CompletedShift> >(json);

                // List object for list of shift. Date to string
                List <CompletedShift> newCompeletedShiftsList = new List <CompletedShift>();

                foreach (var item in completedShiftsList)
                {
                    CompletedShift newListItem = new CompletedShift()
                    {
                        ShiftId       = item.ShiftId,
                        ApartmentId   = item.ApartmentId,
                        ApartmentName = item.ApartmentName,
                        DateStr       = item.Date.ToString("dd.MM.yyyy")
                    };

                    newCompeletedShiftsList.Add(newListItem);
                }

                // List to listview
                listView.ItemsSource = newCompeletedShiftsList;
            }
            else
            {
                await DisplayAlert("Virhe", "Kirjausten haku epäonnistui! Ole hyvä ja lataa sivu uudelleen.", "OK");
            }
        }
 public SeekAndDestroy()
 {
     InitializeComponent();
     BindingContext = new CompletedShift();
 }