// Insere item cadastrado pelo convidado public async Task <EventoItemUsuario> InsertEventoItemUsuarioAsync(EventoItemUsuario eventoItemUsuario, Usuario usuario = null) { InstaciaClient(); try { var ultimoRegistro = await _client.Child("EventoItemUsuario").OrderByKey().LimitToLast(1).OnceSingleAsync <Dictionary <object, EventoItemUsuario> >(); eventoItemUsuario.ID = ultimoRegistro != null?ultimoRegistro.Values.Last().ID + 1 : 0; if (eventoItemUsuario.ID != null) { await _client.Child("EventoItemUsuario").Child(eventoItemUsuario.ID.ToString()).PutAsync(eventoItemUsuario); } } catch (Firebase.Database.FirebaseException ex) { if (ex.ResponseData.StartsWith("[{") || ex.ResponseData.StartsWith("[null")) { var ultimoRegistro = await _client.Child("EventoItemUsuario").OrderByKey().LimitToLast(1).OnceSingleAsync <List <EventoItemUsuario> >(); eventoItemUsuario.ID = ultimoRegistro.Last().ID + 1; if (eventoItemUsuario.ID != null) { await _client.Child("EventoItemUsuario").Child(eventoItemUsuario.ID.ToString()).PutAsync(eventoItemUsuario); } } } return(eventoItemUsuario); }
public async void CadastrarItemEventoConvidado() { _eventoItemUsuarioFirebase = new FirebaseConfig <EventoItemUsuario>(); EventoItemUsuario eventoItemUsuario = new EventoItemUsuario(); eventoItemUsuario.EventoID = _evento; eventoItemUsuario.EventoItemID = _eventoItemID; eventoItemUsuario.Quantidade = quantidadeTotal; eventoItemUsuario.UsuarioID = _usuarioLogado.ID.Value; var cadItemEvento = await _eventoItemUsuarioFirebase.InsertEventoItemUsuarioAsync(eventoItemUsuario, _usuarioLogado); if (cadItemEvento != null) { await App.Current.MainPage.DisplayAlert("Cadastro", "Sucesso no Cadastro!", "Ok"); await App.Current.MainPage.Navigation.PopModalAsync(); } else { await App.Current.MainPage.DisplayAlert("ERRO!", "Erro no Cadastro!", "Ok"); } }