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)); } }
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(); }); } }