private async void Done_Clicked(object sender, EventArgs e) { Item = new PalletItem(); Item.Description = Description.Text; Item.Barcode = Barcode.Text; Item.Inner = Inner.Text; Item.Outer = Outer.Text; Item.Quantity = Quatity.Text; Item.WrapperName = WrapperName.Text; Item.NewId = ItemNewId; Item.Id = ItemId; if (ItemId != 0 || ItemNewId != 0) { foreach (var newItem in viewModel.PalletItems) { if (ItemNewId < 0 && newItem.NewId == ItemNewId || ItemId > 0 && newItem.Id == ItemId) { viewModel.PalletItems.Remove(newItem); break; } } if (ItemId > 0) { var result = await viewModel.UpdatePalletItem(Item); if (result) { await DisplayAlert("Message", "Item has been updated successfully.", "Ok"); } } } else { Item.NewId = -1 - viewModel.PalletItems.Count(); } viewModel.PalletItems.Add(Item); popupLoadingView.IsVisible = false; }