public async void CadastrarItemEvento()
        {
            _eventoItemFirebase = new FirebaseConfig <EventoItem>();
            EventoItem eventoItem = new EventoItem();

            eventoItem.EventoID           = _evento;
            eventoItem.Nome               = getNome;
            eventoItem.QuantidadeDesejada = quantidadeTotal;
            eventoItem.Tipo               = (TipoItemEnum)Enum.Parse(typeof(TipoItemEnum), getTipo);
            eventoItem.TipoUnidade        = getTipoUnidade;
            var obj = Enum.GetNames(typeof(TipoItemEnum));

            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(getGramas));

            var cadItemEvento = await _eventoItemFirebase.InsertEventoItemAsync(eventoItem, _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");
            }
        }
예제 #2
0
        public async Task <IActionResult> PutEventoItem(long id, EventoItem eventoItem)
        {
            if (id != eventoItem.Id)
            {
                return(BadRequest());
            }

            _context.Entry(eventoItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EventoItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        // Retorna lista de itens cadastrados pelo criador do evento
        public async Task <List <EventoItem> > GetEventoItemAsync(long eventoID)
        {
            InstaciaClient();
            List <EventoItem> itensEventoRetorno = new List <EventoItem>();
            EventoItem        eventoItem         = new EventoItem();

            try
            {
                var eventoItemRetorno = await _client.Child("EventoItem").OrderBy("EventoID").EqualTo(eventoID).OnceSingleAsync <Dictionary <long, EventoItem> >();

                var eventoRetorno =
                    await _client
                    .Child("Eventos")
                    .OrderBy("ID")
                    .EqualTo(eventoID)
                    .OnceSingleAsync <Dictionary <long, Evento> >();

                //var teste = eventoItemRetorno.Values.First();
                //eventoItem.Nome = teste.Nome;

                foreach (EventoItem eventItem in eventoItemRetorno.Values)
                {
                    itensEventoRetorno.Add(eventItem);
                }
            }
            catch (Exception)
            {
            }
            return(itensEventoRetorno);
        }
예제 #4
0
        // Insere item cadastrado pelo criador
        public async Task <EventoItem> InsertEventoItemAsync(EventoItem eventoItem, Usuario usuario = null)
        {
            InstaciaClient();
            try
            {
                var ultimoRegistro = await _client.Child("EventoItem").OrderByKey().LimitToLast(1).OnceSingleAsync <Dictionary <object, EventoItem> >();

                eventoItem.ID = ultimoRegistro != null?ultimoRegistro.Values.Last().ID + 1 : 0;

                if (eventoItem.ID != null)
                {
                    await _client.Child("EventoItem").Child(eventoItem.ID.ToString()).PutAsync(eventoItem);
                }
            }
            catch (Firebase.Database.FirebaseException ex)
            {
                if (ex.ResponseData.StartsWith("[{") || ex.ResponseData.StartsWith("[null"))
                {
                    var ultimoRegistro = await _client.Child("EventoItem").OrderByKey().LimitToLast(1).OnceSingleAsync <List <EventoItem> >();

                    eventoItem.ID = ultimoRegistro.Last().ID + 1;

                    if (eventoItem.ID != null)
                    {
                        await _client.Child("EventoItem").Child(eventoItem.ID.ToString()).PutAsync(eventoItem);
                    }
                }
                else
                {
                    eventoItem.ID = 0;
                }
            }
            return(eventoItem);
        }
예제 #5
0
        public async Task <ActionResult <EventoItem> > PostEventoItem(EventoItem eventoItem)
        {
            _context.EventoItems.Add(eventoItem);
            await _context.SaveChangesAsync();

            // return CreatedAtAction("GetEventoItem", new { id = eventoItem.Id }, eventoItem);
            return(CreatedAtAction(nameof(GetEventoItem), new { id = eventoItem.Id }, eventoItem));
        }
예제 #6
0
        public ItensEventoDetalheViewModel(Usuario usuarioLogado, long eventoID)
        {
            var teste = new EventoItem();
            List <EventoItem> items = new List <EventoItem>();

            //Deixa o usuário logado em memória
            _usuarioLogado  = usuarioLogado;
            _firebaseClient = new FirebaseConfig <EventoItem>();
            _eventoID       = eventoID;
            //AcessEventoCommand = new Command(async (object obj) => await AccessEventoDetalheCommand(obj));
            //Task.Run(async () =>
            //{
            //    items = await _firebaseClient.GetEventoItemAsync(_eventoID);
            //}).Wait();
            //foreach(var i in items)
            //{
            //    nome = i.Nome;
            //}
        }