Exemplo n.º 1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.frmCardCategoriaLoja);

            if (MainActivity.iCodEmpresa > 0)
            {
                ListView    lwCategoria = FindViewById <ListView> (Resource.Id.lwCategoria);
                TextView    txtLoja     = FindViewById <TextView> (Resource.Id.txtLoja);
                ImageButton btAnt       = FindViewById <ImageButton> (Resource.Id.btAnt);
                ImageButton btCarrinho  = FindViewById <ImageButton> (Resource.Id.imgBtCarrinho);

                sqldb_categoria = new DBCadCategoria("delivery_db");
                sqldb_carrinho  = new DBCadCarrinho("delivery_db");
                sqldb_mensagem  = new DBCadMensagem("delivery_db");

                DBCadPedido sqldb_pedido = new DBCadPedido("delivery_db");

                //Carregar a categoria pelo banco
                categoria = carregaCategoria();

                lwCategoria.Adapter    = new adapter_listview(this, categoria);
                lwCategoria.ItemClick += OnListItemClick;

                btAnt.Click      += new EventHandler(btAnt_Click);
                btCarrinho.Click += new EventHandler(btCarrinho_Click);
                txtLoja.Text      = MainActivity.sNomeEmpresa;

                //verifica se ja exzite
                sql_cursor = sqldb_carrinho.GetRecordCursor("select * from CARRINHO where _codEmpresa = '" + MainActivity.iCodEmpresa +
                                                            "' and numMesa = '" + MainActivity.iNumMesa + "' and dataFechado is null " +
                                                            " and codigoMesa = '" + MainActivity.iCodMesa.ToString() + "'");

                if (sql_cursor.Count == 0)
                {
                    //como o carrinho gerou 0, varifica se ja exite um pedido no banco local em aberto
                    //isso porque o cliente ja poderia ter enviado um carrinho para o pedido e voltou para gerar mais carrinho, o pedido deve ser o mesmo
                    sql_cursor = sqldb_pedido.GetRecordCursor("select * from PEDIDO where _codEmpresa = '" + MainActivity.iCodEmpresa +
                                                              "' and numMesa = '" + MainActivity.iNumMesa + "' and dataFechado is null " +
                                                              " and codigoMesa = '" + MainActivity.iCodMesa.ToString() + "'");

                    if (sql_cursor.Count > 0)
                    {
                        sql_cursor.MoveToFirst();

                        MainActivity.iCodPedido = sql_cursor.GetInt(0);
                    }
                    else
                    {
                        //data do momento
                        DateTime dData = DateTime.Now;

                        sDataPedido = dData.ToString("dd/MM/yyyy HH:mm:ss", DateTimeFormatInfo.InvariantInfo);

                        retornaProxCodigoPedido();
                    }
                }

                verificaMensagem();
            }
            else
            {
                Finish();
                StartActivity(typeof(MainActivity));
            }
        }
Exemplo n.º 2
0
        private void gravaPedido()
        {
            try {
                var webservice = new WS.IdmServerservice(MainActivity.sCaminhoWS.ToString());

                Android.Database.ICursor sql_cursor = null;

                //carregando as informações do pedido
                sql_cursor = sqldb_carrinho.GetRecordCursor("select * from CARRINHO " +
                                                            "  where _codPedido  = '" + MainActivity.iCodPedido + "'" +
                                                            "    and _codEmpresa = '" + MainActivity.iCodEmpresa + "'");

                if (sql_cursor.Count > 0)
                {
                    sql_cursor.MoveToFirst();

                    arVerificaPedido = webservice.BeginVerificaPedido(
                        sql_cursor.GetInt(1),                         //codigoempresa
                        sql_cursor.GetInt(0),                         //codigo pedido
                        sql_cursor.GetInt(2),                         //numero da mesa
                        null, webservice);

                    Thread.Sleep(500);

                    resultadoPedido = webservice.EndVerificaPedido(arVerificaPedido);

                    if (resultadoPedido == "false")
                    {
                        arPedido = webservice.BeginGravaPedido(
                            sql_cursor.GetInt(0),                             //codigo pedido
                            sql_cursor.GetInt(1),                             //codigoempresa
                            sql_cursor.GetInt(2),                             //numero da mesa
                            sql_cursor.GetString(3),                          //data pedidos
                            sql_cursor.GetString(4).Replace(",", "."),        //valortotal
                            sql_cursor.GetString(5),                          //numero serial
                            sql_cursor.GetString(6),                          //numerocelular
                            sql_cursor.GetString(7),                          //data fechado
                            sql_cursor.GetString(8),                          //codigo mesa
                            null, webservice);

                        Thread.Sleep(500);

                        resultadoPedido = webservice.EndGravaPedido(arPedido);

                        if (resultadoPedido == "ok")
                        {
                            DateTime dData = DateTime.Now;
                            string   sDataPedido;

                            sDataPedido = dData.ToString("dd/MM/yyyy HH:mm:ss", DateTimeFormatInfo.InvariantInfo);

                            var webserviceFast = new WS.IdmServerservice(MainActivity.sCaminhoWSFast);

                            arEstatisticas = webserviceFast.BeginEstatistica(
                                "Pedido",                                //codigoempresa
                                sDataPedido,                             //data
                                sql_cursor.GetInt(1),                    //codigoempresa
                                sql_cursor.GetInt(2),                    //numero da mesa
                                null, webserviceFast);

                            Thread.Sleep(500);

                            resultadoEstatisticas = webserviceFast.EndEstatistica(arEstatisticas);
                        }
                    }
                    else
                    {
                        arAtualizaPedido = webservice.BeginAtualizaPedido(
                            sql_cursor.GetInt(1),                             //codigoempresa
                            sql_cursor.GetInt(0),                             //codigo pedido
                            sql_cursor.GetInt(2),                             //numero da mesa
                            sql_cursor.GetString(4).Replace(",", "."),        //valortotal
                            null, webservice);

                        Thread.Sleep(500);

                        resultadoPedido = webservice.EndAtualizaPedido(arAtualizaPedido);

                        if (resultadoPedido == "ok")
                        {
                            DateTime dData = DateTime.Now;
                            string   sDataPedido;

                            sDataPedido = dData.ToString("dd/MM/yyyy HH:mm:ss", DateTimeFormatInfo.InvariantInfo);

                            var webserviceFast = new WS.IdmServerservice(MainActivity.sCaminhoWSFast);
                            //var webserviceFast = new WS.IdmServerservice ("http://10.0.2.2:8091/wsfastdelivery/WsFastDelivery.dll/soap/IdmServer");

                            arEstatisticas = webserviceFast.BeginEstatistica(
                                "Pedido",                                //codigoempresa
                                sDataPedido,                             //data
                                sql_cursor.GetInt(1),                    //codigoempresa
                                sql_cursor.GetInt(2),                    //numero da mesa
                                null, webserviceFast);

                            Thread.Sleep(500);

                            resultadoEstatisticas = webserviceFast.EndEstatistica(arEstatisticas);
                        }
                    }
                }

                if (resultadoPedido == "ok")
                {
                    //carregando as informações do pedido
                    sql_cursor = sqldb_carrinho.GetRecordCursor("select * from CARRINHO " +
                                                                "  where _codPedido  = '" + MainActivity.iCodPedido + "'" +
                                                                "    and _codEmpresa = '" + MainActivity.iCodEmpresa + "'");

                    if (sql_cursor.Count > 0)
                    {
                        sql_cursor.MoveToFirst();

                        Android.Database.ICursor sql_cursor_pedido = null;

                        sql_cursor_pedido = sqldb_pedido.GetRecordCursor("select * from PEDIDO " +
                                                                         "  where _codPedido  = '" + MainActivity.iCodPedido + "'" +
                                                                         "    and _codEmpresa = '" + MainActivity.iCodEmpresa + "'");

                        if (sql_cursor_pedido.Count > 0)
                        {
                            sql_cursor.MoveToFirst();

                            sqldb_pedido.UpdateRecord(
                                sql_cursor.GetInt(1),                                 //codigoempresa
                                sql_cursor.GetInt(0),                                 //codigo pedido
                                sql_cursor.GetInt(2),                                 //numero da mesa
                                sql_cursor.GetString(4).Replace(",", "."));           //valortotal
                        }
                        else
                        {
                            //envia o carrinho para a tabela de pedido no local no tablet
                            sqldb_pedido.AddRecord(
                                sql_cursor.GetInt(0),                                 //codigo pedido
                                sql_cursor.GetInt(1),                                 //codigoempresa
                                sql_cursor.GetInt(2),                                 //numero da mesa
                                sql_cursor.GetString(3),                              //data pedidos
                                sql_cursor.GetString(4).Replace(",", "."),            //valortotal
                                sql_cursor.GetString(5),                              //numero serial
                                sql_cursor.GetString(6),                              //numerocelular
                                sql_cursor.GetString(8));                             //codigo mesa
                        }
                    }

                    if (sqldb_pedido.Message == "ok")
                    {
                        sqldb_carrinho.UpdateRecord(MainActivity.iCodEmpresa, MainActivity.iNumMesa, MainActivity.iCodPedido, 0);
                    }
                }
                else
                {
                    Toast.MakeText(this, "Nossa que feio - Tchau!!", ToastLength.Short).Show();
                }

                //PEDIDO ITEM
                var webserviceItem = new WS.IdmServerservice(MainActivity.sCaminhoWS.ToString());

                //carregando as informações do pedido
                sql_cursor = sqldb_carrinho_item.GetRecordCursor("select * from CARRINHO_ITEM " +
                                                                 "  where _codPedido  = '" + MainActivity.iCodPedido + "'" +
                                                                 "    and _codEmpresa = '" + MainActivity.iCodEmpresa + "'" +
                                                                 "    and enviado = 'N' order by _itemPedido ");

                if (sql_cursor.Count > 0)
                {
                    sql_cursor.MoveToFirst();

                    DateTime agora = DateTime.Now;
                    string   sDataEnvio;
                    sDataEnvio = agora.ToString("dd/MM/yyyy HH:mm:ss:FFF", DateTimeFormatInfo.InvariantInfo);

                    while (sql_cursor.Position < sql_cursor.Count)
                    {
                        arPedidoItem = webserviceItem.BeginGravaPedidoItem(
                            sql_cursor.GetInt(0),                      //codigo empresa
                            sql_cursor.GetInt(1),                      //codigo pedido
                            sql_cursor.GetInt(2),                      //item pedido
                            sql_cursor.GetInt(3),                      //coduto produto
                            sql_cursor.GetString(4),                   //quantidade
                            sql_cursor.GetString(5).Replace(",", "."), //preço unitário
                            sql_cursor.GetString(6),                   //numero serial
                            sql_cursor.GetString(7),                   //numerocelular
                            sql_cursor.GetString(8),                   //lembrete
                            sql_cursor.Count.ToString(),               //quantidade de itens enviando
                            sDataEnvio,                                //codigo de envio ---Alterar calculo
                            null, webserviceItem);

                        Thread.Sleep(500);
                        resultadoPedidoItem = webserviceItem.EndGravaPedidoItem(arPedidoItem);
                        sql_cursor.MoveToNext();
                    }

                    if (resultadoPedidoItem == "ok")
                    {
                        //carregando as informações do pedido
                        sql_cursor = sqldb_carrinho_item.GetRecordCursor("select * from CARRINHO_ITEM " +
                                                                         "  where _codPedido  = '" + MainActivity.iCodPedido + "'" +
                                                                         "    and _codEmpresa = '" + MainActivity.iCodEmpresa + "'" +
                                                                         "    and enviado = 'N'");

                        if (sql_cursor.Count > 0)
                        {
                            sql_cursor.MoveToFirst();

                            while (sql_cursor.Position < sql_cursor.Count)
                            {
                                sqldb_pedido_item.AddRecord(
                                    sql_cursor.GetInt(0),                                     //codigo empresa
                                    sql_cursor.GetInt(1),                                     //codigo pedido
                                    sql_cursor.GetInt(2),                                     //item pedido
                                    sql_cursor.GetInt(3),                                     //coduto produto
                                    sql_cursor.GetFloat(4),                                   //quantidade
                                    sql_cursor.GetFloat(5),                                   //preço unitário
                                    sql_cursor.GetString(6),                                  //numero serial
                                    sql_cursor.GetString(7),                                  //numerocelular
                                    sql_cursor.GetString(8));

                                sql_cursor.MoveToNext();
                            }

                            if (sqldb_pedido_item.Message == "ok")
                            {
                                sqldb_carrinho_item.UpdateRecord(MainActivity.iCodEmpresa, MainActivity.iCodPedido);

                                RunOnUiThread(() => progressDialog.Hide());

                                this.RunOnUiThread(delegate {
                                    AlertDialog.Builder builder3 = new AlertDialog.Builder(this);
                                    builder3.SetTitle("SUCESSO!!!");
                                    builder3.SetIcon(Android.Resource.Drawable.IcDialogAlert);
                                    builder3.SetMessage("Ola! Seu pedido foi enviado para o caixa com sucesso. Por Favor aguarde a entrega!");
                                    builder3.SetNegativeButton("OK", delegate {
                                        Finish();
                                        StartActivity(typeof(CardCategoriaLoja));
                                    });
                                    builder3.Show();
                                });
                            }
                        }
                    }
                    else
                    {
                        Toast.MakeText(this, "PD - Feio!!!", ToastLength.Short).Show();
                    }
                }
            } catch {
                this.RunOnUiThread(delegate {
                    AlertDialog.Builder builder = new AlertDialog.Builder(this);
                    builder.SetTitle("ERRO DE CONEXÃO");
                    builder.SetIcon(Android.Resource.Drawable.IcDialogAlert);
                    builder.SetMessage("Ops! Verifique a conexão da sua internet ou procure um Garçon!");
                    builder.SetCancelable(false);
                    builder.SetPositiveButton("OK", delegate {
                        Finish();
                        StartActivity(typeof(MainActivity));
                    });
                    builder.Show();
                });
            }
        }