void InitControls()
        {
            //Layout
            frame = new FrameLayout(Context);
            frame.LayoutParameters = new FrameLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);
            nButton = new Android.Support.V7.Widget.AppCompatButton(Context);
            //Button
            var nBtnLayout = new FrameLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);

            nBtnLayout.SetMargins(8, 8, 8, 24);
            nButton.SetPadding(0, 0, 0, 0);
            nButton.LayoutParameters = nBtnLayout;
        }
        private void FindView(View view)
        {
            _titleTextView = view.FindViewById <Android.Support.V7.Widget.AppCompatTextView>(Resource.Id.fingerprint_dialog_title_default);
            if (string.IsNullOrWhiteSpace(_dialogConfiguration.DialogTitle))
            {
                _titleTextView.Visibility = ViewStates.Gone;
            }
            else
            {
                _titleTextView.Text = _dialogConfiguration.DialogTitle;
            }

            _descTextView = view.FindViewById <Android.Support.V7.Widget.AppCompatTextView>(Resource.Id.fingerprint_dialog_message_default);
            if (string.IsNullOrWhiteSpace(_dialogConfiguration.DialogDescription))
            {
                _descTextView.Visibility = ViewStates.Gone;
            }
            else
            {
                _descTextView.Text = _dialogConfiguration.DialogDescription;
            }

            _fingerprintIconView = view.FindViewById <Android.Widget.ImageView>(Resource.Id.fingerprint_icon);
            _statusTextView      = view.FindViewById <Android.Support.V7.Widget.AppCompatTextView>(Resource.Id.fingerprint_dialog_status_default);
            _statusTextView.Text = _dialogConfiguration.FingerprintDialogConfiguration.FingerprintHintString;

            _alternativeActionButton        = view.FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.fingerprint_dialog_alternative_default);
            _alternativeActionButton.Text   = _dialogConfiguration.AlternativeActionMessage;
            _alternativeActionButton.Click += (s, e) =>
            {
                //_fingerprintCancellationSignal.Cancel();
                DismissDialog();
                _dialogConfiguration.AlternativeAction?.Invoke();
            };

            _fingerprintStatusPanelLinearLayout = view.FindViewById <Android.Widget.LinearLayout>(Resource.Id.fingerprint_status_panel_default);
        }
Пример #3
0
        protected override void OnCreate(Bundle bundle)
        {
            EditText TextIp = FindViewById <EditText>(Resource.Id.TextIpConfigura);

            base.OnCreate(bundle);
            SetContentView(Resource.Layout.layoutprincipal);
            //==========================================================//
            //              CRIAR BANCO DE DADOS                        //
            //==========================================================//
            mdTemp = new BancoDados("PRINCIPAL");
            mdTemp.CreateDatabases("PRINCIPAL");
            //==========================================================//
            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = "SISTEMA DE PESAGEM PLATAFORMAS VERSÃO 4.6.0";
            var relogioDigital = FindViewById <DigitalClock>(Resource.Id.digitalClock1);

            relogioDigital.Visibility = Android.Views.ViewStates.Visible;
            Android.Support.V7.Widget.AppCompatImageButton BtnCadastroPesagem = FindViewById <Android.Support.V7.Widget.AppCompatImageButton>(Resource.Id.BtnCadastroPesagem);
            Android.Support.V7.Widget.AppCompatButton      BtnClientes        = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.BtnClientesCad);
            Android.Support.V7.Widget.AppCompatButton      BtnVeiculos        = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.BtnVeiculosCad);
            Android.Support.V7.Widget.AppCompatButton      BtnProdutos        = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.BtnProdutosCad);
            Android.Support.V7.Widget.AppCompatButton      BtnPesagem         = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.BtnPesagemCad);
            Android.Support.V7.Widget.AppCompatButton      BtnSair            = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.BtnSair);


            if ((int)Build.VERSION.SdkInt < 23)
            {
                // return;
            }
            else
            {
                if (PackageManager.CheckPermission(Manifest.Permission.ReadExternalStorage, PackageName) != Permission.Granted &&
                    PackageManager.CheckPermission(Manifest.Permission.WriteExternalStorage, PackageName) != Permission.Granted)
                {
                    var permissions = new string[]
                    { Manifest.Permission.ReadExternalStorage, Manifest.Permission.WriteExternalStorage };
                    RequestPermissions(permissions, 1);
                }
            }

            BtnSair.Click += delegate
            {
                BtnSair.Enabled = false;
                this.FinishAffinity();
                //Finish();
            };
            BtnClientes.Click += delegate
            {
                StartActivity(typeof(ActcadastroClientes));
                // this.FinishAffinity();
                //Finish();
            };
            BtnVeiculos.Click += delegate
            {
                StartActivity(typeof(ActCadastroVeiculos));
                // this.FinishAffinity();
                //Finish();
            };
            BtnProdutos.Click += delegate
            {
                StartActivity(typeof(ActProdutos));
                // this.FinishAffinity();
                //Finish();
            };
            BtnPesagem.Click += delegate
            {
                StartActivity(typeof(ActConsultaPesagens));
                // this.FinishAffinity();
                //Finish();
            };

            BtnCadastroPesagem.Click += delegate
            {
                mdTemp.VerNrPlataformasAtivas();


                if (Validacoes.Nrplataformas == 1)
                {
                    StartActivity(typeof(ActCadastroPesagem1));
                    Aguarde();
                }
                if (Validacoes.Nrplataformas == 2)
                {
                    StartActivity(typeof(ActCadastroPesagem2));
                    Aguarde();
                }
                if (Validacoes.Nrplataformas == 3)
                {
                    Aguarde();
                    StartActivity(typeof(ActCadastroPesagem3));
                }
                if (Validacoes.Nrplataformas == 4)
                {
                    Aguarde();
                    StartActivity(typeof(ActCadastroPesagem4));
                }
                if (Validacoes.Nrplataformas == 5)
                {
                    Aguarde();
                    StartActivity(typeof(ActCadastroPesagem5));
                }
                if (Validacoes.Nrplataformas == 6)
                {
                    Aguarde();
                    StartActivity(typeof(ActCadastroPesagem6));
                }
            };
            // Create your application here
        }
        private void UpdateList()
        {
            items = new List <DataDataList>();


            //извлечение данных из 1с   начало
            var mContext = this;

            DataSetWS dataSetWS = new DataSetWS();

            string DatalistResult = string.Empty;

            try
            {
                DatalistResult = dataSetWS.GetList(mRef, AppVariable.Variable.getSessionParametersJSON());
            }
            catch (Exception e)
            {
                mContext.RunOnUiThread(() => {
                    Toast.MakeText(mContext, e.Message, ToastLength.Long).Show();
                    mContext.Finish();
                });
                return;
            }

            JObject jsonResult = JObject.Parse(DatalistResult);

            if (jsonResult.Property("Error") == null)
            {
                foreach (JObject Group in jsonResult["Data"])
                {
                    Newtonsoft.Json.Linq.JValue Name        = (Newtonsoft.Json.Linq.JValue)Group["Name"];
                    Newtonsoft.Json.Linq.JValue Ref         = (Newtonsoft.Json.Linq.JValue)Group["Ref"];
                    Newtonsoft.Json.Linq.JValue Description = (Newtonsoft.Json.Linq.JValue)Group["Description"];



                    items.Add(new DataDataList()
                    {
                        Name = (string)Name.Value, Description = (string)Description.Value, Ref = (string)Ref.Value
                    });
                }
            }
            else
            {
                mContext.RunOnUiThread(() => {
                    Toast.MakeText(mContext, (string)jsonResult.Property("Error").Value, ToastLength.Long).Show();
                    mContext.Finish();
                });
            }
            //извлечение данных из 1с   конец

            Button nButton = new Android.Support.V7.Widget.AppCompatButton(this)
            {
                Id = 0
            };

            nButton.Text   = "Очистить";
            nButton.Click += clearEquip;
            mLinearLayout.AddView(nButton);

            Button nButton2 = new Android.Support.V7.Widget.AppCompatButton(this)
            {
                Id = 1
            };

            nButton2.Text   = "Выбрать";
            nButton2.Click += finishEquip;
            mLinearLayout.AddView(nButton2);


            TableLayout mTableLayout = new TableLayout(this);
            var         param        = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);

            mTableLayout.SetColumnStretchable(0, true);
            mTableLayout.SetColumnShrinkable(0, true);
            mLinearLayout.AddView(mTableLayout, param);



            var curId = 2;

            foreach (var itt in items)
            {
                TableRow mNewRow = new TableRow(this);
                mNewRow.SetGravity(GravityFlags.CenterVertical);
                mTableLayout.AddView(mNewRow);

                TextView mTextViewDesc = new TextView(this);
                mTextViewDesc.Text = itt.Name;
                mNewRow.AddView(mTextViewDesc);


                TextView nTextView = new TextView(this)
                {
                    Id = curId
                };
                nTextView.SetTextSize(Android.Util.ComplexUnitType.Sp, 18);
                nTextView.Text = getSelItemCount(itt.Ref);


                mElements.Add(curId, nTextView);

                mNewRow.AddView(nTextView);
                ImageButton myImageButton1 = new ImageButton(this)
                {
                    Id = curId + 1000
                };
                myImageButton1.SetImageResource(Resource.Drawable.ic_action_new);
                myImageButton1.Click += plusButtonClicked;
                mNewRow.AddView(myImageButton1);

                ImageButton myImageButton2 = new ImageButton(this)
                {
                    Id = curId + 2000
                };
                myImageButton2.SetImageResource(Resource.Drawable.ic_action_minus);
                myImageButton2.Click += minusButtonClicked;
                mNewRow.AddView(myImageButton2);

                curId++;
            }
        }
Пример #5
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.layoutConfiguraPrinter);
            SetResult(Result.Canceled);
            //==========================================================//
            //              CRIAR BANCO DE DADOS                        //
            //==========================================================//
            mdTemp = new BancoDados("PRINCIPAL");
            mdTemp.CreateDatabases("PRINCIPAL");
            //==========================================================//
            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = "CONFIGURAÇÃO COMUNICAÇÃO IMPRESSORAS";
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
            var relogioDigital = FindViewById <DigitalClock>(Resource.Id.digitalClock1);

            relogioDigital.Visibility = Android.Views.ViewStates.Visible;
            TextView textIpHeard      = FindViewById <TextView>(Resource.Id.textIpHeard);
            EditText TextIp           = FindViewById <EditText>(Resource.Id.TextIpConfigura);
            TextView textPortaHeard   = FindViewById <TextView>(Resource.Id.textPortaHeard);
            EditText TextPorta        = FindViewById <EditText>(Resource.Id.TextPortaComunicacao);
            EditText TextSenha        = FindViewById <EditText>(Resource.Id.TextSenhaComunicacao);
            TextView TextHeadBlutooth = FindViewById <TextView>(Resource.Id.textHeaderBluetooth);
            EditText TextBluetooth    = FindViewById <EditText>(Resource.Id.BluetoothConfigura);

            TextBluetooth.Text = Intent.GetStringExtra("nome");
            RadioButton RdnWifi      = FindViewById <RadioButton>(Resource.Id.RdnWifi);
            RadioButton RdnBluetooth = FindViewById <RadioButton>(Resource.Id.RdnBluetooth);

            RadioButton RdnImpressoraAtivada    = FindViewById <RadioButton>(Resource.Id.RdnImpressoraAtivada);
            RadioButton RdnImpressoraDesativada = FindViewById <RadioButton>(Resource.Id.RdnImpressoraDesativada);



            Android.Support.V7.Widget.AppCompatImageButton BtnSair            = FindViewById <Android.Support.V7.Widget.AppCompatImageButton>(Resource.Id.BtnSairComunicacao);
            Android.Support.V7.Widget.AppCompatImageButton BtnSalvar          = FindViewById <Android.Support.V7.Widget.AppCompatImageButton>(Resource.Id.BtnSalvarComunicacao);
            Android.Support.V7.Widget.AppCompatButton      BtnTestarBluetooth = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.btnTestarBluetooth);
            Android.Support.V7.Widget.AppCompatButton      BtnPesquisar       = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.btnPequisaBluetooth);
            StringBuilder        outStringBuffer;
            BluetoothAdapter     bluetoothAdapter  = null;
            BluetoothChatService ServiceConnection = null;

            //================================================================================//
            //                              VALOR CADASTRADOS                                 //
            //================================================================================//
            string sLocation = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            string sDB       = Path.Combine(sLocation, "PRINCIPAL");

            sqldTemp = SQLiteDatabase.OpenOrCreateDatabase(sDB, null);
            bool   bIsExists = File.Exists(sDB);
            string sSQLQuery = "";

            Android.Database.ICursor icursorTemp = null;



            sSQLQuery = "SELECT " +
                        " DESCRICAO_TIPO_CONEXAO, " +
                        " ENDERECO_IP, " +
                        " PORTA, " +
                        " BLUETOOTH, " +
                        " ATIVA " +
                        " FROM CONEXAO_PRINTERS WHERE _id=1";
            icursorTemp = sqldTemp.RawQuery(sSQLQuery, null);
            int ValorCursor = icursorTemp.Count;
            int nrParcelas  = 0;

            if (ValorCursor > 0)
            {
                icursorTemp.MoveToNext();
                if (icursorTemp.GetString(0) == "WIFI")
                {
                    RdnWifi.Checked = true;
                }
                else
                {
                    RdnBluetooth.Checked = true;
                }

                TextIp.Text    = icursorTemp.GetString(1);
                TextPorta.Text = icursorTemp.GetString(3);
                if (TextBluetooth.Text == "")
                {
                    TextBluetooth.Text = icursorTemp.GetString(3);
                }

                if (icursorTemp.GetString(4) == "S")
                {
                    RdnImpressoraAtivada.Checked = true;
                }
                else
                {
                    RdnImpressoraDesativada.Checked = true;
                }
                // Validacoes.NrPlataformas = int.Parse(icursorTemp.GetString(0));
            }
            else
            {
                RdnBluetooth.Checked            = true;
                RdnImpressoraDesativada.Checked = true;
            }



            if (RdnWifi.Checked == true && Validacoes.ConexaoWifiBluetooth != true)
            {
                TextHeadBlutooth.Visibility = ViewStates.Invisible;
                TextBluetooth.Visibility    = ViewStates.Invisible;
                BtnPesquisar.Visibility     = ViewStates.Invisible;
            }
            if (RdnBluetooth.Checked == true || Validacoes.ConexaoWifiBluetooth == true)
            {
                textIpHeard.Visibility    = ViewStates.Invisible;
                TextIp.Visibility         = ViewStates.Invisible;
                textPortaHeard.Visibility = ViewStates.Invisible;
                TextPorta.Visibility      = ViewStates.Invisible;
                RdnBluetooth.Checked      = true;
            }



            RdnBluetooth.Click     += RadioButtonWifi;
            RdnWifi.Click          += RadioButtonBluetooth;
            TextBluetooth.InputType = 0;
            //==============================================//
            //                  BLUETOOTH                   //
            //==============================================//

            var scanButton = FindViewById <Button>(Resource.Id.btnPequisaBluetooth);

            scanButton.Click += (sender, e) =>
            {
                StartActivity(typeof(DeviceListActivity));
                RdnBluetooth.Checked         = true;
                textIpHeard.Visibility       = ViewStates.Invisible;
                TextIp.Visibility            = ViewStates.Invisible;
                textPortaHeard.Visibility    = ViewStates.Invisible;
                TextPorta.Visibility         = ViewStates.Invisible;
                Validacoes.DeviceListPrinter = true;
                Finish();
            };
            Window.SetSoftInputMode(SoftInput.StateHidden);
            // Register for broadcasts when a device is discovered

            BtnSair.Click += delegate
            {
                Finish();
            };

            BtnTestarBluetooth.Click += delegate
            {
                BluetoothAdapter adaptador = BluetoothAdapter.DefaultAdapter; // procura o adap. bluetooth
                ICollection <BluetoothDevice> aparelhos = adaptador.BondedDevices;
                BluetoothDevice[]             apa       = new BluetoothDevice[aparelhos.Count];
                ParcelUuid[]      chaves;
                BluetoothSocket[] socket = new BluetoothSocket[1];
                int i = 0;

                string Conectado = "nao";
                foreach (BluetoothDevice aparelho in aparelhos)
                {
                    apa[i] = aparelho;
                    if (aparelho.Name == TextBluetooth.Text)
                    {
                        Conectado = "sim";
                        chaves    = aparelho.GetUuids();
                        socket[0] = aparelho.CreateInsecureRfcommSocketToServiceRecord(chaves[0].Uuid);
                        break;
                    }
                    i++;
                }
                if (adaptador?.IsEnabled == false)
                {
                    var enableBtIntent = "ok";
                }
                if (Conectado == "sim")
                {
                    var address = apa[i].Address;
                    conectar(socket[0]);
                }
            };

            BtnSalvar.Click += delegate
            {
                if (RdnWifi.Checked == true)
                {
                    if (TextIp.Text == "")
                    {
                        Toast.MakeText(this, "Deve ser digitado um Endereço de nº IP", ToastLength.Short).Show();
                        return;
                    }
                    if (TextPorta.Text == "")
                    {
                        Toast.MakeText(this, "Deve ser digitado uma Porta de comunicação", ToastLength.Short).Show();
                        return;
                    }
                }
                if (RdnBluetooth.Checked == true)
                {
                    if (TextBluetooth.Text == "")
                    {
                        Toast.MakeText(this, "Deve ser digitado um pareamento BlueTooth", ToastLength.Short).Show();
                        return;
                    }
                }
                if (RdnImpressoraAtivada.Checked == true)
                {
                    ImpressoraAtivada = "S";
                }
                if (RdnImpressoraDesativada.Checked == true)
                {
                    ImpressoraAtivada = "N";
                }
                //if (TextSenha.Text == "")
                //{
                //    Toast.MakeText(this, "Deve ser digitada uma Senha", ToastLength.Short).Show();
                //    return;
                //}

                string DescricaoComunicao = "";



                //==============================================================================================//
                //                             VERIFICA SE JÁ EXISTE UM ENDEREÇO GRAVADO                        //
                //==============================================================================================//
                sSQLQuery = "";
                sSQLQuery = "SELECT _id,DESCRICAO_TIPO_CONEXAO " +
                            " FROM CONEXAO_PRINTERS ";
                icursorTemp = sqldTemp.RawQuery(sSQLQuery, null);
                ValorCursor = icursorTemp.Count;
                if (RdnWifi.Checked == true)
                {
                    DescricaoComunicao = "WIFI";
                }
                if (RdnBluetooth.Checked == true)
                {
                    DescricaoComunicao = "BLUETOOTH";
                }

                string Data = System.DateTime.Today.ToShortDateString();
                string Hora = System.DateTime.Today.ToShortTimeString();

                if (ValorCursor == 0)
                {
                    string Valores = "'" +
                                     DescricaoComunicao + "','" +
                                     TextIp.Text + "','" +
                                     TextPorta.Text + "','" +
                                     TextBluetooth.Text + "','" +
                                     TextSenha.Text + "','" +
                                     Data + "','" +
                                     Hora + "','" +
                                     ImpressoraAtivada + "'";
                    string Campos = "DESCRICAO_TIPO_CONEXAO," +
                                    "ENDERECO_IP," +
                                    "PORTA," +
                                    "BLUETOOTH," +
                                    "SENHA," +
                                    "DATA_CADASTRO," +
                                    "HORA_CADASTRO," +
                                    "ATIVA";

                    sSQLQuery = "INSERT INTO " +
                                "CONEXAO_PRINTERS " + "(" + Campos + ") " +
                                "VALUES(" + Valores + ");";
                    sqldTemp.ExecSQL(sSQLQuery);
                    sMessage = "Record is saved.";
                    Toast.MakeText(this, "REGISTRO GRAVADO COM SUCESSO", ToastLength.Long).Show();
                }
                else
                {
                    string ComandoSql = "update CONEXAO_PRINTERS set " +
                                        $" DESCRICAO_TIPO_CONEXAO='{DescricaoComunicao}'," +
                                        $" ENDERECO_IP='{TextIp.Text}'," +
                                        $" PORTA='{TextPorta.Text}', " +
                                        $" BLUETOOTH='{TextBluetooth.Text}', " +
                                        $" SENHA='{TextSenha.Text}', " +
                                        $" DATA_CADASTRO='{Data}', " +
                                        $" HORA_CADASTRO='{Hora}', " +
                                        $" ATIVA='{ImpressoraAtivada}' " +
                                        $" where _id=1  ";


                    sqldTemp.ExecSQL(ComandoSql);
                    Validacoes.ImpressoraAtiva = ImpressoraAtivada;

                    Toast.MakeText(this, "Atualização realizada com sucesso", ToastLength.Long).Show();
                }
                sSQLQuery = "SELECT BLUETOOTH " +
                            " FROM CONEXAO_PRINTERS WHERE _id=1";
                icursorTemp = sqldTemp.RawQuery(sSQLQuery, null);
                ValorCursor = icursorTemp.Count;
                if (ValorCursor > 0)
                {
                    icursorTemp.MoveToNext();
                    Validacoes.ImpressoraAtiva = ImpressoraAtivada;
                    Validacoes.NomeImpressora  = icursorTemp.GetString(0);
                }
            };
            void RadioButtonWifi(object sender, EventArgs e)
            {
                RadioButton rb = (RadioButton)sender;

                TextHeadBlutooth.Visibility     = ViewStates.Visible;
                TextBluetooth.Visibility        = ViewStates.Visible;
                textIpHeard.Visibility          = ViewStates.Invisible;
                TextIp.Visibility               = ViewStates.Invisible;
                textPortaHeard.Visibility       = ViewStates.Invisible;
                TextPorta.Visibility            = ViewStates.Invisible;
                BtnPesquisar.Visibility         = ViewStates.Visible;
                Validacoes.ConexaoWifiBluetooth = true;
            }

            void RadioButtonBluetooth(object sender, EventArgs e)
            {
                RadioButton rb = (RadioButton)sender;

                TextHeadBlutooth.Visibility     = ViewStates.Invisible;
                TextBluetooth.Visibility        = ViewStates.Invisible;
                textIpHeard.Visibility          = ViewStates.Visible;
                TextIp.Visibility               = ViewStates.Visible;
                textPortaHeard.Visibility       = ViewStates.Visible;
                TextPorta.Visibility            = ViewStates.Visible;
                BtnPesquisar.Visibility         = ViewStates.Invisible;
                Validacoes.ConexaoWifiBluetooth = false;
            }
        }
        private void CreatElement(JObject jElement, TableLayout mTableLayout)
        {
            JValue  jReadOnly;
            JObject jParam;
            JValue  jSubType;

            var jType  = jElement["Type"];
            var jValue = jElement["Value"];

            long   Id   = (long)((JValue)jElement["Id"]).Value;
            string Name = (string)((JValue)jElement["Name"]).Value;


            string Description = (string)((JValue)jElement["Description"]).Value;

            TableRow mNewRow = new TableRow(this);

            mTableLayout.AddView(mNewRow);

            TextView mTextViewDesc = new TextView(this);

            if (Description == "")
            {
                mTextViewDesc.Visibility = ViewStates.Invisible;
            }
            else
            {
                mTextViewDesc.Text = Description + ":";
                mTextViewDesc.SetPadding(10, 0, 0, 0);
            }


            string Key = "";

            if (jElement.ContainsKey("Key"))
            {
                Key = (string)((JValue)jElement["Key"]).Value;
                if (Key.Length > 0)
                {
                    mTextViewDesc.SetTextColor(new Android.Graphics.Color(0, 0, 200));
                }
            }

            mNewRow.AddView(mTextViewDesc);

            if (jType.Type != JTokenType.Array) //елси это одиночный тип
            {
                string Type = (string)((JValue)jType).Value;
                switch (Type)
                {
                case "button":
                    mTextViewDesc.Visibility = ViewStates.Gone;
                    string buttonValue = (string)((JValue)jValue).Value;

                    if (buttonValue == "save")
                    {
                        mSaveButtonVisible = true;
                    }
                    else
                    {
                        Button nButton = new Android.Support.V7.Widget.AppCompatButton(this)
                        {
                            Id = (int)Id
                        };

                        nButton.Text   = Description;
                        nButton.Click += (sender, args) =>
                        {
                            AlertDialog.Builder quitDialog = new AlertDialog.Builder(this);
                            quitDialog.SetTitle("Вы уверены?");
                            quitDialog.SetPositiveButton("Да", (senderAlert, argss) =>
                            {
                                lastButtonName  = Name;
                                lastButtonValue = buttonValue;
                                SetDataByRef(Name, buttonValue);
                            });
                            quitDialog.SetNegativeButton("Нет", (senderAlert, argss) =>
                            {
                            });
                            Dialog dialog = quitDialog.Create();
                            dialog.Show();
                        };
                        mLinearLayout.AddView(nButton);
                    }
                    break;

                case "textview":
                    TextView nTextView = new TextView(this)
                    {
                        Id = (int)Id
                    };
                    nTextView.SetTextSize(Android.Util.ComplexUnitType.Sp, 18);
                    nTextView.Text = (string)((JValue)jValue).Value;
                    mNewRow.AddView(nTextView);

                    if (jElement.Property("Param") != null)
                    {
                        jParam = (JObject)jElement["Param"];
                        if (jParam.Property("SubType") != null)
                        {
                            jSubType = (JValue)jParam["SubType"];
                            switch ((string)jSubType.Value)
                            {
                            case "phone":
                                ImageButton nButtonOpenFile = new ImageButton(this)
                                {
                                    Id = (int)Id
                                };
                                nButtonOpenFile.SetImageResource(Resource.Drawable.ic_action_call);
                                nButtonOpenFile.Click += (bsender, bargs) => {
                                    var    uri        = Android.Net.Uri.Parse("tel:" + (string)((JValue)jValue).Value);
                                    Intent callIntent = new Intent(Intent.ActionDial, uri);
                                    StartActivity(callIntent);
                                };
                                mNewRow.AddView(nButtonOpenFile);
                                break;
                            }
                        }
                    }
                    break;

                case "textedit":
                    string TextEditValue = (string)((JValue)jValue).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = TextEditValue
                    });

                    jSubType  = (JValue)jElement["Param"]["SubType"];
                    jReadOnly = (JValue)jElement["Param"]["ReadOnly"];
                    JValue jMultiline = (JValue)jElement["Param"]["Multiline"];

                    EditText nEditText = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    switch ((string)jSubType.Value)
                    {
                    case "text":
                        if ((bool)jMultiline.Value)
                        {
                            nEditText.InputType = Android.Text.InputTypes.ClassText | Android.Text.InputTypes.TextFlagMultiLine;
                            nEditText.SetMinLines(1);
                            nEditText.SetMaxLines(3);
                            nEditText.SetScroller(new Scroller(this));
                            nEditText.VerticalScrollBarEnabled = true;
                        }
                        else
                        {
                            nEditText.InputType = Android.Text.InputTypes.ClassText;
                        }
                        nEditText.SetSingleLine(false);
                        break;

                    case "number":
                        nEditText.InputType = Android.Text.InputTypes.ClassNumber | Android.Text.InputTypes.NumberFlagDecimal | Android.Text.InputTypes.NumberFlagSigned;
                        break;

                    case "email":
                        nEditText.InputType = Android.Text.InputTypes.ClassText | Android.Text.InputTypes.TextVariationEmailAddress;
                        break;

                    case "password":
                        nEditText.InputType = Android.Text.InputTypes.ClassText | Android.Text.InputTypes.TextVariationPassword;
                        break;

                    case "phone":
                        nEditText.InputType = Android.Text.InputTypes.ClassPhone;
                        break;
                    }
                    nEditText.Text = TextEditValue;
                    if ((bool)jReadOnly.Value)
                    {
                        nEditText.Focusable = false;
                    }

                    nEditText.AfterTextChanged += (sender, args) =>
                    {
                        mElements[Id].Data = nEditText.Text;
                    };
                    mNewRow.AddView(nEditText);
                    break;

                case "dateedit":
                    DateTime DateEditValue = (DateTime)((JValue)jValue).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = DateEditValue
                    });

                    EditText nTextDateEdit = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    nTextDateEdit.Focusable = false;
                    nTextDateEdit.Text      = DateEditValue.ToShortDateString();
                    mNewRow.AddView(nTextDateEdit);

                    ImageButton nButtonDateEdit = new ImageButton(this)
                    {
                        Id = (int)Id
                    };
                    nButtonDateEdit.SetImageResource(Resource.Drawable.ic_action_edit);
                    nButtonDateEdit.Click += (bsender, bargs) => {
                        if (mDialogLoading == false)
                        {
                            mDialogLoading = true;
                            DateTime         currently = (mElements[Id].Data == null) ? DateTime.Now : mElements[Id].Data;
                            DatePickerDialog ddialog   = new DatePickerDialog(this, (dsender, dargs) => {
                                string strDate     = ((DateTime)dargs.Date).ToShortDateString();
                                nTextDateEdit.Text = strDate;
                                mElements[Id].Data = (DateTime)dargs.Date;
                                mDialogLoading     = false;
                            }, currently.Year, currently.Month - 1, currently.Day);
                            ddialog.Show();
                            ddialog.CancelEvent += (dsender, dargs) =>
                            {
                                mDialogLoading = false;
                            };
                        }
                    };
                    mNewRow.AddView(nButtonDateEdit);
                    break;

                case "timeedit":
                    DateTime TimeEditValue = (DateTime)((JValue)jValue).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = TimeEditValue
                    });

                    EditText nTextTimeEdit = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    nTextTimeEdit.Focusable = false;
                    nTextTimeEdit.Text      = TimeEditValue.ToShortTimeString();
                    mNewRow.AddView(nTextTimeEdit);

                    ImageButton nButtonTimeEdit = new ImageButton(this)
                    {
                        Id = (int)Id
                    };
                    nButtonTimeEdit.SetImageResource(Resource.Drawable.ic_action_edit);
                    nButtonTimeEdit.Click += (bsender, bargs) => {
                        if (mDialogLoading == false)
                        {
                            mDialogLoading = true;
                            DateTime         tcurrently = (mElements[Id].Data == null) ? DateTime.Now : mElements[Id].Data;
                            TimePickerDialog tdialog    = new TimePickerDialog(this, (tsender, targs) =>
                            {
                                string strTime     = String.Format("{0:d2}", (int)targs.HourOfDay) + ":" + String.Format("{0:d2}", (int)targs.Minute);
                                nTextTimeEdit.Text = strTime;
                                mElements[Id].Data = DateTime.Parse("01.01.0001 " + strTime + ":00");
                                mDialogLoading     = false;
                            }, tcurrently.Hour, tcurrently.Minute, true);
                            tdialog.Show();
                            tdialog.CancelEvent += (dsender, dargs) =>
                            {
                                mDialogLoading = false;
                            };
                        }
                    };
                    mNewRow.AddView(nButtonTimeEdit);

                    break;

                case "checkbox":
                    bool CheckBoxValue = (bool)((JValue)jValue).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = CheckBoxValue
                    });

                    jReadOnly = (JValue)jElement["Param"]["ReadOnly"];

                    CheckBox nCheckBox = new CheckBox(this)
                    {
                        Id = (int)Id
                    };
                    if ((bool)jReadOnly.Value)
                    {
                        nCheckBox.Enabled = false;
                    }
                    nCheckBox.Checked = CheckBoxValue;
                    nCheckBox.Click  += (csender, cargs) =>
                    {
                        mElements[Id].Data = nCheckBox.Checked;
                    };
                    mNewRow.AddView(nCheckBox);
                    break;

                case "datalist":
                    string DataListValue = (string)((JValue)jValue).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = DataListValue
                    });

                    EditText nTextDataList = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    nTextDataList.Focusable = false;
                    mNewRow.AddView(nTextDataList);

                    ImageButton nButtonDataList = new ImageButton(this)
                    {
                        Id = (int)Id
                    };
                    nButtonDataList.SetImageResource(Resource.Drawable.ic_action_edit);

                    PopupMenu DataListMenu = new PopupMenu(this, nButtonDataList);
                    int       menuItemId   = 0;
                    Dictionary <int, string> mElementsDropMenu = new Dictionary <int, string>();
                    foreach (var jDataListValue in jElement["DataArray"])
                    {
                        string PresentMenuItem = String.Empty;
                        string DataMenuItem    = String.Empty;
                        if (jDataListValue.Type == JTokenType.String)
                        {
                            PresentMenuItem = (string)((JValue)jDataListValue).Value;
                            DataMenuItem    = PresentMenuItem;
                        }
                        else
                        {
                            PresentMenuItem = ((JObject)jDataListValue).Property("Present") != null ? (string)(((JObject)jDataListValue).Property("Present")).Value : (string)(((JObject)jDataListValue).Property("Data")).Value;
                            DataMenuItem    = (string)(((JObject)jDataListValue).Property("Data")).Value;
                        }
                        DataListMenu.Menu.Add(0, menuItemId, Menu.None, PresentMenuItem);
                        mElementsDropMenu.Add(menuItemId, DataMenuItem);
                        menuItemId++;

                        if (DataListValue == DataMenuItem)
                        {
                            nTextDataList.Text = PresentMenuItem;
                        }
                    }

                    DataListMenu.MenuItemClick += (psender, pargs) =>
                    {
                        string selectedData = pargs.Item.TitleFormatted.ToString();
                        nTextDataList.Text = selectedData;
                        mElements[Id].Data = mElementsDropMenu[pargs.Item.ItemId];
                    };

                    nButtonDataList.Click += (bsender, bargs) => {
                        DataListMenu.Show();
                    };
                    mNewRow.AddView(nButtonDataList);
                    break;

                case "data":
                    string dataValue = (string)((JValue)jValue["Present"]).Value;
                    string dataRef   = (string)((JValue)jValue["Ref"]).Value;
                    string dataType  = (string)((JValue)jElement["DataType"]).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = dataRef
                    });

                    EditText nTextDataEdit = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    nTextDataEdit.Focusable = false;
                    nTextDataEdit.Text      = dataValue;
                    mNewRow.AddView(nTextDataEdit);

                    ImageButton nButtonDataEdit = new ImageButton(this)
                    {
                        Id = 1000 + (int)Id
                    };
                    nButtonDataEdit.SetImageResource(Resource.Drawable.ic_action_edit);
                    nButtonDataEdit.Click += (bsender, bargs) => {
                        mIdDataSelect = (int)Id;
                        Intent intentData = new Intent(this, typeof(ActivityDataList));
                        mEditTextDataSelect = nTextDataEdit;
                        intentData.PutExtra("ref", dataType);
                        intentData.PutExtra("isTreeSelect", false);
                        intentData.PutExtra("name", Description);
                        intentData.PutExtra("selected", true);
                        StartActivityForResult(intentData, 1);
                    };
                    mNewRow.AddView(nButtonDataEdit);

                    break;

                case "treedata":
                    string treedataValue = (string)((JValue)jValue["Present"]).Value;
                    string treedataRef   = (string)((JValue)jValue["Ref"]).Value;
                    string treedataType  = (string)((JValue)jElement["DataType"]).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = treedataRef
                    });

                    EditText tree_nTextDataEdit = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    tree_nTextDataEdit.Focusable = false;
                    tree_nTextDataEdit.Text      = treedataValue;
                    mNewRow.AddView(tree_nTextDataEdit);

                    ImageButton tree_nButtonDataEdit = new ImageButton(this)
                    {
                        Id = 1000 + (int)Id
                    };
                    tree_nButtonDataEdit.SetImageResource(Resource.Drawable.ic_action_edit);
                    tree_nButtonDataEdit.Click += (bsender, bargs) => {
                        mIdDataSelect = (int)Id;
                        Intent intentData = new Intent(this, typeof(ActivityDataList));
                        mEditTextDataSelect = tree_nTextDataEdit;
                        intentData.PutExtra("ref", treedataType);
                        intentData.PutExtra("isTreeSelect", true);
                        intentData.PutExtra("name", Description);
                        intentData.PutExtra("selected", true);
                        StartActivityForResult(intentData, 1);
                    };
                    mNewRow.AddView(tree_nButtonDataEdit);

                    break;

                case "multiselect":
                    //````в мобильном приложении техники должны указывать не только поставляемое оборудование, но и забираемое оборудование.:0

                    string multi_dataType = (string)((JValue)jElement["DataType"]).Value;
                    string multi_value    = "";


                    var curViewVal = jElement["Value"]["viewVal"];
                    var curWorkVal = jElement["Value"]["workVal"];
                    if (curWorkVal != null)
                    {
                        multi_value = (string)((JValue)curWorkVal).Value;
                    }



                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = multi_value
                    });

                    EditText multi_textEdit = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    multi_textEdit.Focusable = false;
                    if (curViewVal != null)
                    {
                        multi_textEdit.Text = (string)((JValue)curViewVal).Value;
                    }
                    mNewRow.AddView(multi_textEdit);

                    ImageButton multi_nButtonDataEdit = new ImageButton(this)
                    {
                        Id = 1000 + (int)Id
                    };
                    multi_nButtonDataEdit.SetImageResource(Resource.Drawable.ic_action_edit);
                    multi_nButtonDataEdit.Click += (bsender, bargs) =>
                    {
                        mIdDataSelect = (int)Id;
                        Intent intentData = new Intent(this, typeof(ToggleList));
                        mEditTextDataSelect = multi_textEdit;
                        intentData.PutExtra("ref", multi_dataType);
                        intentData.PutExtra("name", Description);
                        intentData.PutExtra("cursel", mElements[Id].Data);

                        StartActivityForResult(intentData, 1);
                    };

                    mNewRow.AddView(multi_nButtonDataEdit);


                    break;

                case "file":
                    string filesValue = (string)((JValue)jValue["Present"]).Value;
                    string filesRef   = (string)((JValue)jValue["Ref"]).Value;

                    TextView nTextViewFile = new TextView(this)
                    {
                        Id = (int)Id
                    };
                    nTextViewFile.SetTextSize(Android.Util.ComplexUnitType.Sp, 18);
                    nTextViewFile.Text = filesValue;
                    mNewRow.AddView(nTextViewFile);

                    ImageButton nButtonTextView = new ImageButton(this)
                    {
                        Id = (int)Id
                    };
                    nButtonTextView.SetImageResource(Resource.Drawable.ic_action_attachment);
                    nButtonTextView.Click += (bsender, bargs) => {
                        Intent intentFiles = new Intent(this, typeof(ActivityFiles));
                        intentFiles.PutExtra("ref", filesRef);
                        intentFiles.PutExtra("name", filesValue);
                        StartActivity(intentFiles);
                    };
                    mNewRow.AddView(nButtonTextView);
                    break;

                case "barcode":
                    string BarCodeEditValue = (string)((JValue)jValue).Value;

                    mElements.Add(Id, new ElementData()
                    {
                        Name = Name, Data = BarCodeEditValue
                    });

                    EditText nTextBarCodeEdit = new EditText(this)
                    {
                        Id = (int)Id
                    };
                    nTextBarCodeEdit.Text = BarCodeEditValue;
                    mNewRow.AddView(nTextBarCodeEdit);

                    ImageButton nButtonBarCodeEdit = new ImageButton(this)
                    {
                        Id = (int)Id
                    };
                    nButtonBarCodeEdit.SetImageResource(Resource.Drawable.ic_action_camera);
                    nButtonBarCodeEdit.Click += async(bsender, bargs) => {
                        /*if (mDialogLoading == false)
                         * {
                         *  mDialogLoading = true;
                         *  DateTime currently = (mElements[Id].Data == null) ? DateTime.Now : mElements[Id].Data;
                         *  DatePickerDialog ddialog = new DatePickerDialog(this, (dsender, dargs) => {
                         *      string strDate = ((DateTime)dargs.Date).ToShortDateString();
                         *      nTextDateEdit.Text = strDate;
                         *      mElements[Id].Data = (DateTime)dargs.Date;
                         *      mDialogLoading = false;
                         *  }, currently.Year, currently.Month - 1, currently.Day);
                         *  ddialog.Show();
                         *  ddialog.CancelEvent += (dsender, dargs) =>
                         *  {
                         *      mDialogLoading = false;
                         *  };
                         * }*/

                        MobileBarcodeScanner.Initialize(Application);
                        var scanner = new ZXing.Mobile.MobileBarcodeScanner();
                        var result  = await scanner.Scan();

                        if (result != null)
                        {
                            nTextBarCodeEdit.Text = result.Text;
                            mElements[Id].Data    = result.Text;
                        }
                    };
                    mNewRow.AddView(nButtonBarCodeEdit);
                    break;

                default:

                    break;
                }
            }
            else //если это массив типов
            {
            }
        }
Пример #7
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            RequestWindowFeature(WindowFeatures.NoTitle);
            SetContentView(Resource.Layout.LayoutConfiguracaoSistema);

            SetResult(Result.Canceled);
            //==========================================================//
            //              CRIAR BANCO DE DADOS                        //
            //==========================================================//
            mdTemp = new BancoDados("PRINCIPAL");
            mdTemp.CreateDatabases("PRINCIPAL");
            //==========================================================//
            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = "CONFIGURAÇÃO SISTEMA";
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
            var relogioDigital = FindViewById <DigitalClock>(Resource.Id.digitalClock1);

            relogioDigital.Visibility = Android.Views.ViewStates.Visible;
            Validacoes.NrSegundosPeso = 1;
            Android.Support.V7.Widget.AppCompatImageButton BtnSair   = FindViewById <Android.Support.V7.Widget.AppCompatImageButton>(Resource.Id.BtnSairComunicacao);
            Android.Support.V7.Widget.AppCompatImageButton BtnSalvar = FindViewById <Android.Support.V7.Widget.AppCompatImageButton>(Resource.Id.BtnSalvarComunicacao);

            Android.Support.V7.Widget.AppCompatButton BtnliberaCalibracao = FindViewById <Android.Support.V7.Widget.AppCompatButton>(Resource.Id.btnLiberarCalibracao);


            BtnliberaCalibracao.Click += (sender, e) =>
            {
                StartActivity(typeof(ActSenhaCalibracao));


                //    Finish();
            };

            spinner         = FindViewById <Spinner>(Resource.Id.spinnernrplataformas);
            selecao         = new string[10];
            selecao[0]      = "01";
            selecao[1]      = "02";
            selecao[2]      = "03";
            selecao[3]      = "04";
            selecao[4]      = "05";
            selecao[5]      = "06";
            selecao[6]      = "07";
            selecao[7]      = "08";
            selecao[8]      = "09";
            selecao[9]      = "10";
            adapter         = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, selecao);
            spinner.Adapter = adapter;
            //================================================================================//
            //                              VALOR CADASTRADOS                                 //
            //================================================================================//
            string sLocation = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            string sDB       = Path.Combine(sLocation, "PRINCIPAL");

            sqldTemp = SQLiteDatabase.OpenOrCreateDatabase(sDB, null);
            bool   bIsExists = File.Exists(sDB);
            string sSQLQuery = "";

            Android.Database.ICursor icursorTemp = null;
            sSQLQuery = "SELECT NR_SEGUNDOS_PESO " +
                        " FROM CONFIGURACAO_SISTEMA WHERE _id=1";
            icursorTemp = sqldTemp.RawQuery(sSQLQuery, null);
            int ValorCursor = icursorTemp.Count;
            int nrParcelas  = 0;

            if (ValorCursor > 0)
            {
                icursorTemp.MoveToNext();
                string TotalSegundos = icursorTemp.GetString(0);
                Validacoes.NrSegundosPeso = int.Parse(TotalSegundos);
            }
            Window.SetSoftInputMode(SoftInput.StateHidden);

            //==============================================//
            //                  BLUETOOTH                   //
            //==============================================//

            if (Validacoes.NrSegundosPeso > 0)
            {
                spinner.SetSelection(Validacoes.NrSegundosPeso);
            }
            spinner.ItemSelected += (s, e) =>
            {
                firstItem = spinner.SelectedItem.ToString();
                if (firstItem.Equals(spinner.SelectedItem.ToString()))
                {
                    Validacoes.NrSegundosPeso = int.Parse(spinner.SelectedItem.ToString());
                }
                else
                {
                    Toast.MakeText(this, "You have selected: " + e.Parent.GetItemIdAtPosition(e.Position).ToString(),
                                   ToastLength.Short).Show();
                }
            };



            // Register for broadcasts when a device is discovered

            BtnSair.Click += delegate
            {
                Finish();
            };


            BtnSalvar.Click += delegate
            {
                string DescricaoComunicao = "";



                //==============================================================================================//
                //                             VERIFICA SE JÁ EXISTE UM ENDEREÇO GRAVADO                        //
                //==============================================================================================//
                sSQLQuery = "";
                sSQLQuery = "SELECT NR_SEGUNDOS_PESO " +
                            " FROM CONFIGURACAO_SISTEMA ";

                icursorTemp = sqldTemp.RawQuery(sSQLQuery, null);
                ValorCursor = icursorTemp.Count;


                string Data = System.DateTime.Today.ToShortDateString();
                string Hora = System.DateTime.Today.ToShortTimeString();

                if (ValorCursor == 0)
                {
                    string Valores = int.Parse(spinner.SelectedItem.ToString()) - 1 + ",'" +
                                     Data + "','" +
                                     Hora + "'";
                    string Campos = "NR_SEGUNDOS_PESO," +
                                    "DATA_CADASTRO," +
                                    "HORA_CADASTRO";

                    sSQLQuery = "INSERT INTO " +
                                "CONFIGURACAO_SISTEMA " + "(" + Campos + ") " +
                                "VALUES(" + Valores + ");";
                    sqldTemp.ExecSQL(sSQLQuery);
                    sMessage = "Record is saved.";
                    Toast.MakeText(this, "REGISTRO GRAVADO COM SUCESSO", ToastLength.Long).Show();
                }
                else
                {
                    string ComandoSql = "update CONFIGURACAO_SISTEMA set " +
                                        $" NR_SEGUNDOS_PESO={int.Parse(spinner.SelectedItem.ToString()) - 1}," +
                                        $" DATA_CADASTRO='{Data}', " +
                                        $" HORA_CADASTRO='{Hora}' " +
                                        $" where _id=1  ";

                    sqldTemp.ExecSQL(ComandoSql);
                    Toast.MakeText(this, "Atualização realizada com sucesso", ToastLength.Long).Show();
                }
                Validacoes.TempoCapturaPeso = int.Parse(spinner.SelectedItem.ToString()) - 1;
            };
        }