Esempio n. 1
0
        public async Task <EventoUsuario> InsertEventoUsuarioAsync(EventoUsuario eventoUsuario)
        {
            InstaciaClient();
            try
            {
                var ultimoRegistro = await _client.Child("EventoUsuario").OrderByKey().LimitToLast(1).OnceSingleAsync <Dictionary <object, EventoUsuario> >();

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

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

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

                    if (eventoUsuario.ID != null)
                    {
                        await _client.Child("EventoUsuario").Child(eventoUsuario.ID.ToString()).PutAsync(eventoUsuario);
                    }
                }
                else
                {
                    eventoUsuario.ID = 0;
                }
            }
            return(eventoUsuario);
        }
Esempio n. 2
0
        private void EnviaConvite_Clicked(object sender, EventArgs e)
        {
            // Converte o sender para Button
            var parametro = sender as Button;

            var conviteEnviar = new EventoUsuario {
                EventoID = EventoID, StatusConvite = StatusConviteEnum.Pendente, UsuarioMembroID = _usuarioLogado.ID.Value
            };

            Task.Run(async() =>
            {
                await _clientEventoUsuario.InsertEventoUsuarioAsync(conviteEnviar);
            }).Wait();

            App.Current.MainPage.Navigation.PopModalAsync();
        }
Esempio n. 3
0
        // Muda o status de um convite
        public async Task <bool> SetStatusConvite(EventoUsuario eventoUsuario)
        {
            bool response = true;

            // Abre a conexão com o banco
            InstaciaClient();

            try
            {
                // Monta o objeto para mudança no banco
                await _client
                .Child("EventoUsuario")
                .Child(eventoUsuario.ID.ToString())
                .PutAsync(eventoUsuario);
            }
            catch (Exception)
            {
                return(false);
            }

            return(response);
        }
Esempio n. 4
0
        public ResponseViewModel Create(CreateEventoViewModel model)
        {
            ResponseViewModel reponse = new ResponseViewModel();

            try
            {
                model.FechaFinG    = DateTime.Parse(model.FechaFin);
                model.FechaInicioG = DateTime.Parse(model.FechaInicio);

                Evento ev = new Evento
                {
                    Nombre = model.Nombre,

                    Descripcion   = model.Descripcion,
                    Imagen        = model.ImagenMiniatura,
                    FechaInicio   = model.FechaInicioG,
                    FechaFin      = model.FechaFinG,
                    Activo        = "1",
                    IdTipo        = model.IdTipo,
                    FechaRegistro = DateTime.Now
                };
                _eventPlusContext.Evento.Add(ev);
                _eventPlusContext.SaveChanges();

                EventoUsuario evUs = new EventoUsuario
                {
                    IdEvento = ev.Id,
                    IdLogin  = model.IdLogin
                };
                _eventPlusContext.EventoUsuario.Add(evUs);
                _eventPlusContext.SaveChanges();

                if (model.Localizacion != null)
                {
                    foreach (var lista in model.Localizacion)
                    {
                        Localizacion local = new Localizacion
                        {
                            IdEvento      = ev.Id,
                            Activo        = "1",
                            Comentario    = lista.Comentario,
                            Direccion     = lista.Direccion,
                            FechaRegistro = DateTime.Now,
                            Latitud       = lista.Latitud,
                            Longitud      = lista.Longitud
                        };
                        _eventPlusContext.Localizacion.Add(local);
                        _eventPlusContext.SaveChanges();
                    }
                }

                reponse.Type     = "success";
                reponse.Response = "El regitsro se creo exitosamente.";

                return(reponse);
            }
            catch (Exception ex)
            {
                reponse.Type     = "error";
                reponse.Response = "Error en el procedimiento. ---> " + ex.Message;
                return(reponse);
            }
        }
Esempio n. 5
0
        private void BtnSalvarEvento_Click(object sender, EventArgs e)
        {
            if (Singleton.alteracaoDeEvento == false)
            {
                //Checa as validacoes antes
                if (Singleton.ListaConvidado.Convidados.Count == 0)
                {
                    MessageBox.Show("Preencha a lista de convidados");
                }
                else if (DataFim.Value <= DateTime.Now)
                {
                    MessageBox.Show("A data de saida tem q ser maior que a data de hoje");
                }
                else if (DataComeco.Value <= DateTime.Now)
                {
                    MessageBox.Show("A data de comeco tem q ser maior que a data de hoje");
                }
                else if (DataComeco.Value >= DataFim.Value)
                {
                    MessageBox.Show("A data estao com horarios incompativeis");
                }
                else if (TxtEventoLocal.Text.Trim() == "")
                {
                    MessageBox.Show("Preencha o local !");
                }
                else if (TxtEventoNome.Text.Trim() == "")
                {
                    MessageBox.Show("Preencha o nome do evento!");
                }
                else if (TxtDescricao.Text.Trim() == "")
                {
                    MessageBox.Show("Preencha a descricao");
                }
                else
                {
                    bool permiteSalvarNoBanco = true;
                    //Faz uma validacao pra ver se vc ja tem um evento em tal horario
                    //Se o horario de um evento ja marcado bater, vai retornar o item de uma lista
                    List <Evento> comparacaoDeEventoPorHorario = _context.Eventos.ToList();

                    foreach (var item in comparacaoDeEventoPorHorario)
                    {
                        if (item.HorarioComeco > DataComeco.Value && item.HorarioComeco > DataFim.Value)
                        {
                        }
                        else if (item.HorarioFim < DataComeco.Value && item.HorarioFim < DataFim.Value)
                        {
                        }
                        else
                        {
                            MessageBox.Show("Em sua agenda de eventos, dentro do horario estipulado já existe um evento nesse horario");
                            permiteSalvarNoBanco = false;
                            break;
                        }
                    }

                    if (permiteSalvarNoBanco)
                    {
                        string tipoEvento;
                        if (RBtnExclusivo.Checked)
                        {
                            tipoEvento = "Exclusivo";
                        }
                        else
                        {
                            tipoEvento = "Compartilhado";
                        }

                        var _evento = new Evento()
                        {
                            EventoId      = 0,
                            Descricao     = TxtDescricao.Text,
                            EventoTipo    = tipoEvento,
                            Local         = TxtEventoLocal.Text.Trim(),
                            Nome          = TxtEventoNome.Text.Trim(),
                            UsuarioId     = Singleton.UsuarioLogado.UserId,
                            HorarioComeco = DataComeco.Value,
                            HorarioFim    = DataFim.Value,
                        };

                        try
                        {
                            _context.Update(_evento);
                            _context.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            Utilidades.MensagemErro(ex.Message);
                        }

                        List <Participante> participantes = new List <Participante>();
                        foreach (var participante in Singleton.ListaConvidado.Convidados)
                        {
                            participantes.Add(new Participante
                            {
                                ParticipanteId   = 0,
                                EventoId         = _evento.EventoId,
                                NomeParticipante = participante
                            });
                        }

                        try
                        {
                            _context.UpdateRange(participantes);
                            _context.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            Utilidades.MensagemErro(ex.Message);
                        }
                        //Implementar com mais de um usuario, com a lista de amizade
                        EventoUsuario eventoUsuario = new EventoUsuario()
                        {
                            EventoId  = _evento.EventoId,
                            UsuarioId = Singleton.UsuarioLogado.UserId,
                        };

                        var dialogResult = MessageBox.Show("Operacao realizada com sucesso!", "Deseja cadastrar mais um evento?", MessageBoxButtons.YesNo);

                        if (dialogResult == DialogResult.Yes)
                        {
                            TxtDescricao.Text   = "";
                            TxtEventoLocal.Text = "";
                            TxtEventoNome.Text  = "";

                            Singleton.ListaConvidado.Convidados.Clear();
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                }
            }
            else
            {
                //OPERACAO PARA ALTERAR
            }
        }