private void ButtonDeleteScript_Click(object sender, EventArgs e) { Log.Debug(TAG, "ButtonDeleteScript_Click"); CardTitle.Text = GetText(Resource.String.delete_script_card_title); CardSubtitle.Text = GetText(Resource.String.delete_script_card_sub_title); CardSubtitle.SetTextColor(Color.IndianRed); ScriptName.Enabled = false; ButtonOk.Enabled = false; ButtonOk.Text = GetText(Resource.String.ok_mute_button_with_remove_script); DeleteScript.Enabled = false; DeleteScript.SetTextColor(Color.Gray); DeleteScript.Click -= ButtonDeleteScript_Click; CommandsScript.Enabled = false; CommandsScript.SetTextColor(Color.Gray); CommandsScript.Click -= ButtonConfigScript_Click; AppCompatTextView appCompatTextView = new AppCompatTextView(this) { Text = GetText(Resource.String.footer_text_with_remove_script), TextSize = 15 }; appCompatTextView.SetTextColor(Color.Red); appCompatTextView.SetWidth(3); FooterLayout.AddView(appCompatTextView); AppCompatButton ButtonConfirmDeleteScript = new AppCompatButton(this) { Text = GetText(Resource.String.button_confirm_remove) }; ButtonConfirmDeleteScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); ButtonConfirmDeleteScript.SetTextColor(Color.DarkRed); ButtonConfirmDeleteScript.Click += new EventHandler((sender, eventArg) => { lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { ScriptModel script = db.Scripts.Find(scriptHardware.Id); db.Scripts.Remove(script); db.SaveChanges(); StartActivity(typeof(ScriptsListActivity)); } } }); FooterLayout.AddView(ButtonConfirmDeleteScript); }
protected override void OnCreate(Bundle savedInstanceState) { Log.Debug(TAG, "OnCreate"); base.OnCreate(savedInstanceState); lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { scriptHardware = db.Scripts.Include(x => x.Commands).Include(x => x.TriggerPort).FirstOrDefault(x => x.Id == Intent.Extras.GetInt(nameof(ScriptModel.Id), 0)); } } TopLayout = FindViewById <LinearLayoutCompat>(Resource.Id.script_top_layout); FooterLayout = FindViewById <LinearLayoutCompat>(Resource.Id.script_footer_layout); CardTitle.Text = GetText(Resource.String.script_edit_title); CardSubtitle.Text = GetText(Resource.String.script_edit_subtitle); DeleteScript = new AppCompatButton(this) { Text = GetText(Resource.String.delete_title) }; DeleteScript.SetTextColor(Color.DarkRed); DeleteScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); FooterLayout.AddView(DeleteScript); ButtonOk.Tag = scriptHardware.Id; CommandsScript = new AppCompatButton(this) { Text = $"{GetString(Resource.String.commands_title)} ({scriptHardware.Commands.Count})" }; CommandsScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); TopLayout.AddView(CommandsScript); StartScript = new AppCompatButton(this) { Text = GetText(Resource.String.run_the_script_title), Enabled = scriptHardware.Commands.Count > 0 }; StartScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); TopLayout.AddView(StartScript); ScriptName.Text = scriptHardware.Name; if (scriptHardware.TriggerPort != null) { AutorunTrigger.Checked = true; PortTrigger.Enabled = true; HardwareTrigger.Enabled = true; StateTrigger.Enabled = true; int indexPosition = Hardwares.Keys.ToList().IndexOf(scriptHardware.TriggerPort.HardwareId); HardwareTrigger.SetSelection(indexPosition); PortsList_UpdateSpinner(scriptHardware.TriggerPort.HardwareId, ref PortTrigger, scriptHardware.TriggerPort.Id);//, ref Ports string[] statuses = Resources.GetStringArray(Resource.Array.script_trigger_port_states_array); if (scriptHardware.TriggerPortState == true) { indexPosition = Array.IndexOf(statuses, GetString(Resource.String.abc_capital_on)); } else if (scriptHardware.TriggerPortState == false) { indexPosition = Array.IndexOf(statuses, GetString(Resource.String.abc_capital_off)); } else { indexPosition = Array.IndexOf(statuses, GetString(Resource.String.abc_capital_switch)); } StateTrigger.SetSelection(indexPosition); } }
protected override void OnCreate(Bundle savedInstanceState) { Log.Debug(TAG, "OnCreate"); base.OnCreate(savedInstanceState); int CommandId = Intent.Extras.GetInt(nameof(CommandModel.Id), 0); if (CommandId > 0) { lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { command = db.Commands.Include(x => x.Script).Include(x => x.PortExecutionCondition).ThenInclude(x => x.Hardware).FirstOrDefault(x => x.Id == CommandId); } } } AbstractSettingsManage.Command = command; List <string> commands_types_array = new List <string>(Resources.GetStringArray(Resource.Array.commands_types_array)); switch (command.TypeCommand) { case TypesCommands.Port: TypesCommand.SetSelection(commands_types_array.IndexOf(GetString(Resource.String.command_type_array_item_port))); break; case TypesCommands.Controller: TypesCommand.SetSelection(commands_types_array.IndexOf(GetString(Resource.String.command_type_array_item_controller))); break; case TypesCommands.Exit: TypesCommand.SetSelection(commands_types_array.IndexOf(GetString(Resource.String.command_type_array_item_transit))); break; } ScriptId = command.ScriptId; DeleteCommand = new AppCompatButton(this) { Text = GetText(Resource.String.delete_title) }; DeleteCommand.SetTextColor(Color.DarkRed); DeleteCommand.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); FooterLayout.AddView(DeleteCommand); HiddenCommandCheckBox.Checked = command.Hidden; CardTitle.Text = command.Script.ToString(); CardSubtitle.Text = command.ToString(); PauseSecondsBeforeStarting.Text = command.PauseBeforeExecution.ToString(); if (command.PortExecutionCondition != null) { RequiredCondition.Checked = true; HardwareCondition.Enabled = true; HardwareCondition.SetSelection(Hardwares.Keys.ToList().IndexOf(command.PortExecutionCondition.HardwareId)); PortCondition.Enabled = true; PortsList_UpdateSpinner(command.PortExecutionCondition.HardwareId, ref PortCondition, command.PortExecutionCondition.Id); //PortCondition.SetSelection(Ports.Keys.ToList().IndexOf(command.PortExecutionCondition.Id)); StateCondition.Enabled = true; StateCondition.SetSelection(GetIndexPortState(command.PortExecutionConditionAllowingState, new List <string>(Resources.GetStringArray(Resource.Array.required_condition_port_states_array)))); } }