Example #1
0
        // 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");
            }
        }