public async Task <object> PostFullAddress(FullAddressModel address) { var uri = ServerLink; var jsonObject = JsonConvert.SerializeObject(address); HttpContent httpContent = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var res = await _client.PostAsync(uri, httpContent); switch (res.StatusCode) { case System.Net.HttpStatusCode.Created: var s = await res.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <FullAddressModel>(s)); case System.Net.HttpStatusCode.BadRequest: return("Address editing ecountered server error."); case System.Net.HttpStatusCode.NoContent: return("Address editing ecountered server error."); case System.Net.HttpStatusCode.InternalServerError: return("Address editing ecountered server error."); default: return(res.StatusCode.ToString()); } }
private async Task <bool> Delete(FullAddressModel endAddressFromDB) { try { string m = await addressService.DeleteAddress(endAddressFromDB.FullAddressID); switch (m) { case "Address with given parametters not found.": return(false); case "address successesfully deleted.": return(true); default: return(false); } //await DisplayAlert("Server Message", m, "Ok"); } catch (Exception ex) { //await DisplayAlert("Error", "Server Error" + ex.Message + ex.InnerException, "Ok"); return(false); } }
public async Task <string> PutFullAddress(int ID, FullAddressModel address) { var uri = ServerLink + "/" + ID; var jsonObject = JsonConvert.SerializeObject(address); HttpContent httpContent = new StringContent(jsonObject, Encoding.UTF8, "application/json"); var res = await _client.PutAsync(uri, httpContent); switch (res.StatusCode) { case System.Net.HttpStatusCode.NotFound: return("Address you are trying to edit does not exists."); case System.Net.HttpStatusCode.OK: return("Address edited successfully."); case System.Net.HttpStatusCode.BadRequest: return("Address editing ecountered server error."); case System.Net.HttpStatusCode.NoContent: return("Address editing ecountered server error."); case System.Net.HttpStatusCode.InternalServerError: return("Address editing ecountered server error."); default: return(res.StatusCode.ToString()); } }
private void ListEndAddres_SelectedIndexChanged(object sender, EventArgs e) { var x = sender as ListView; FullAddressModel selected = (FullAddressModel)x.SelectedItem; if (selected != null) { delivery.EndAddress = selected; delivery.EndAddressID = selected.FullAddressID; DeliveryGrid.BindingContext = null; DeliveryGrid.BindingContext = delivery; } }
private async Task FillFormAsync() { this.startAddress = await addressService.GetAddressByIDAsync(delivery.StartAddressID); this.endAddress = await addressService.GetAddressByIDAsync(delivery.EndAddressID); this.Titlelbl.Text = "Ažuriranje dostave"; DeliveryGrid.BindingContext = delivery; // StartName.Text = delivery.StartAddress.Name; // StartAddress.Text = delivery.StartAddress.Address; // StartPhone.Text = delivery.StartAddress.Phone; if (delivery.StartAddress.Zone > 0) { ZoneStartSteplbl.Text = "4. Zona adrese pošiljaoca : " + delivery.StartAddress.Zone.ToString(); } else { ZoneStartSteplbl.Text = "4. Zona adrese pošiljaoca : 1"; } // NameEnd.Text = delivery.EndAddress.Name; // EndAddress.Text = delivery.EndAddress.Address; // PhoneEnd.Text = delivery.EndAddress.Phone; if (delivery.EndAddress.Zone > 0) { ZoneEndSteplbl.Text = " 8. Zona adrese primaoca : " + delivery.EndAddress.Zone.ToString(); } else { ZoneEndSteplbl.Text = " 8. Zona adrese primaoca : 1"; } // Price.Text =delivery.DeliveryPrice.ToString(); // DeliveryDetails.Text = delivery.Description; PaymentTypePicker.SelectedIndex = delivery.PaymentTypeID - 1; DeliverTypePicker.SelectedIndex = delivery.DeliveryTypeID - 1; //var unc = activeCouriers.Where(c => c.CourierID == delivery.CourierID).FirstOrDefault(); //if (unc == null) //{ // var courier = await userService.GetCourierModelByID(delivery.CourierID); // if (courier.CourierID != 0) // { // activeCouriers.Add(courier); // CourierPicker.ItemsSource = activeCouriers; // CourierPicker.SelectedItem = courier; // } //} }
public async void DeleteCommand(object sender, EventArgs e) { var mi = ((MenuItem)sender); try { if (int.TryParse(mi.CommandParameter.ToString(), out int IDint)) { FullAddressModel selectedAddress = userAddresses.Where(x => x.FullAddressID == IDint).First(); if (selectedAddress != null) { if (await Delete(selectedAddress)) { userAddresses.Remove(selectedAddress); AddressListView.ItemsSource = null; AddressListView.ItemsSource = userAddresses; await DisplayAlert("Succses", "Address removed.", "ok"); } else { await DisplayAlert("Failed.", " Try again. Check internet connection.", "ok"); } } else { await DisplayAlert("Failed.", " Try again. Check internet connection.", "ok"); } } else { await DisplayAlert("Failed.", " Try again. Check internet connection.", "ok"); } } catch (Exception ex) { await DisplayAlert("Failed.", " Try again. Check internet connection. Error : " + ex.Message + ex.InnerException, "ok"); } }
private async void NextButton_Clicked(object sender, EventArgs e) { bool done = false; try { if (delivery.StartAddressID > 0 && delivery.StartAddress != null) { FullAddressModel startAddressFromDB = await addressService.GetAddressByIDAsync(delivery.StartAddressID); if (startAddressFromDB != null) { if (delivery.StartAddress.CompareTo(startAddressFromDB).ContainsValue(false)) { string str = await DisplayActionSheet("Update or Create new address template?", "Cancel", null, "Update", "Create"); if (str == "Update") { //soft delete to save all addresses as they where bool put = await Delete(startAddressFromDB); bool post = await PostContextOfAddress(); if (put && post) { await DisplayAlert("Success", "Updated existing template for address.", "Ok"); done = true; } else { done = false; } } else if (str == "Create") { if (await PostContextOfAddress()) { await DisplayAlert("Success", "Created new template for address.", "Ok"); done = true; } else { done = false; } } } else { await DisplayAlert("Done", "Selected existing template for senders address of delivery.", "Ok"); done = true; } } else { if (await PostContextOfAddress()) { done = true; await DisplayAlert("Success", "Created new template for address.", "Ok"); } else { done = false; } } } else { if (await PostContextOfAddress()) { done = true; await DisplayAlert("Success", "Created new template for address.", "Ok"); } else { done = false; } } if (done) { await Navigation.PushAsync(new EndAddressPage(delivery, EditEnabled)); } } catch (Exception ex) { Debug.WriteLine(ex.Message + ex.InnerException); await DisplayAlert("Error", ex.Message + ex.InnerException, "ok"); } }
private async Task <bool> EndAddressCheck() { if (delivery.EndAddressID > 0 && delivery.EndAddress != null) { FullAddressModel endAddressFromDB = await addressService.GetAddressByIDAsync(delivery.EndAddressID); if (endAddressFromDB != null) { if (delivery.EndAddress.CompareTo(endAddressFromDB).ContainsValue(false)) { string str = await DisplayActionSheet("Ažuriraj postojeći ili kreraj novi šablon adrese?", null, null, "Ažuriraj", "Kreiraj"); if (str == "Ažuriraj") { //soft delete to save all addresses as they where bool put = await Delete(endAddressFromDB); if (put && await PostContextOfEndAddress()) { await DisplayAlert("BaraBara", "Uspešno ažuriran šablon adrese.", "Ok"); return(true); } else { return(false); } } else //if (str == "Kreiraj") { if (await PostContextOfEndAddress()) { await DisplayAlert("BaraBara", "Uspešno kreiran šablon adrese.", "Ok"); return(true); } else { return(false); } } } else { await DisplayAlert("BaraBara", "Uspešno izabran postojeći šablon adrese.", "Ok"); return(true); } } else { if (await PostContextOfEndAddress()) { await DisplayAlert("BaraBara", "Uspešno kreiran nov šablon adrese.", "Ok"); return(true); } else { return(false); } } } else { if (await PostContextOfEndAddress()) { await DisplayAlert("BaraBara", "Uspešno kreiran nov šablon adrese.", "Ok"); return(true); } else { return(false); } } }
public async void FinishAction(object sender, EventArgs e) { var mi = ((MenuItem)sender); try { if (int.TryParse(mi.CommandParameter.ToString(), out int IDint)) { DeliveryModel selectedDelivery = listOfDeliveries.Where(x => x.DeliveryID == IDint).First(); if (selectedDelivery != null) { selectedDelivery.DeliveryStatus = 4; Xamarin.Essentials.Location l = await locationService.GetCurrentLocation(); if (l != null) { LocationModel lm = new LocationModel() { Latitude = l.Latitude, Longitude = l.Longitude, Altitude = Convert.ToDouble(l.Altitude.ToString()), UserID = Convert.ToInt32(Application.Current.Properties["UserID"].ToString()), DToffSet = l.Timestamp }; LocationModel lmReturned = await locationService.AddLocation(lm); if (lmReturned.LocationID > 1) { FullAddressModel endAddress = await addressService.GetAddressByIDAsync(selectedDelivery.EndAddressID); endAddress.LocationID = lmReturned.LocationID; } selectedDelivery.EndTime = DateTime.Now; var response = await deliveryService.EditDelivery(selectedDelivery); if (response != null) { await DisplayAlert("Succses", "Delivery finished.", "ok"); } else { await DisplayAlert("Delivery confimation failed.", " Try again. Check internet connection.", "ok"); } } else { await DisplayAlert("Location Error.", "Please enable location service on device.", "ok"); } } else { await DisplayAlert("Delivery confimation failed.", " Try again.", "ok"); } } else { await DisplayAlert("Delivery confimation failed.", " Try again. Check internet connection.", "ok"); } } catch (Exception ex) { await DisplayAlert("Delivery confimation failed.", " Try again. Check internet connection. Error : " + ex.Message + ex.InnerException, "ok"); } }