Exemplo n.º 1
0
        private async void initFirebase()
        {
            await Monitorizacion.getListMonitorizacion(Monitorizacion.empresaLiege);

            await Monitorizacion.getListMonitorizacion(Monitorizacion.empresaSevilla);

            Func <Task <string> > authToken = async delegate()
            {
                return("XQsDE173GieFhbMUUs2t2OD5eUwZFjjrEsAYbq6B");
            };



            var firebase = new FirebaseClient(@"https://flickering-fire-4088.firebaseio.com/", authToken);

            //var consulta = await firebase.Child(@"Pedidos")
            //    .OnceAsync<Dictionary<string,PedidoFireBase>>();

            var items = firebase
                        .Child(@"Pedidos")//.OnceAsync<PedidoFireBase>();

                        .AsObservable <Dictionary <string, PedidoFireBase> >()

                        .Subscribe(OnItemMessage);
        }
Exemplo n.º 2
0
        //Comprobamos que la notificacion de cambio del estado del pedido es diferente a la inicial y así mandar la notificación
        private async void OnItemMessage(FirebaseEvent <Dictionary <string, PedidoFireBase> > message)
        {
            String empresa;

            if (message.Key.Contains("Liege"))
            {
                empresa = Monitorizacion.empresaLiege;
            }
            else
            {
                empresa = Monitorizacion.empresaSevilla;
            }

            foreach (KeyValuePair <string, PedidoFireBase> item in message.Object)
            {
                string pedMessage    = item.Value.codPedido.ToString();
                string estadoMessage = item.Value.descripcion.ToString();


                if (Monitorizacion.listMonitorizacionLieja != null || Monitorizacion.listMonitorizacionSevilla != null)
                {
                    var pedido = Monitorizacion.listMonitorizacionLieja.Where(q => q.codigoPedido.Equals(item.Value.codPedido)).FirstOrDefault();
                    if (pedido == null)
                    {
                        pedido = Monitorizacion.listMonitorizacionSevilla.Where(q => q.codigoPedido.Equals(item.Value.codPedido)).FirstOrDefault();
                    }



                    if (pedido != null)
                    {
                        if (pedido.Estado != item.Value.estado)
                        {
                            await Monitorizacion.getListMonitorizacion(empresa);

                            notificar(item.Value);
                        }
                    }
                    else
                    {
                        await Monitorizacion.getListMonitorizacion(empresa);

                        notificar(item.Value);
                    }
                }
                //if (Monitorizacion.listMonitorizacion.Count > 0)
                //{
                //    for (int i = 0; i < Monitorizacion.listMonitorizacion.Count; i++)
                //    {
                //        string pedidoListado = Monitorizacion.listMonitorizacion[i].codigoPedido.ToString();
                //        if (item.Value.codPedido.Equals(Monitorizacion.listMonitorizacion[i].codigoPedido))
                //        {
                //            string estadoListado = Monitorizacion.listMonitorizacion[i].Estado.ToString();
                //            if (!Monitorizacion.listMonitorizacion[i].Estado.Equals(item.Value.descripcion) && (message.EventType == FirebaseEventType.InsertOrUpdate))
                //            {
                //                notificar(item.Value);
                //            }
                //        }
                //    }
                //}
            }
        }
Exemplo n.º 3
0
 protected async override void OnPostCreate(Bundle savedInstanceState)
 {
     base.OnPostCreate(savedInstanceState);
     this.drawerToggle.SyncState();
     await Monitorizacion.updateListMonitorizacion();
 }
Exemplo n.º 4
0
 private async void getListadoSevilla()
 {
     listMonitorizacionSevilla = await Monitorizacion.getListMonitorizacion(Monitorizacion.empresaSevilla);
 }
Exemplo n.º 5
0
 private async void  getListadoLiege()
 {
     listMonitorizacionLiege = await Monitorizacion.getListMonitorizacion(Monitorizacion.empresaLiege);
 }