protected override void OnResume()
        {
            Log.Debug(TAG, "OnResume");
            base.OnResume();

            CommandsScript.Click += ButtonConfigScript_Click;
            StartScript.Click    += ButtonStartScript_Click;
            DeleteScript.Click   += ButtonDeleteScript_Click;

            int count_commands = 0;

            lock (DatabaseContext.DbLocker)
            {
                using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                {
                    count_commands = db.Commands.Where(x => x.ScriptId == scriptHardware.Id).Count();
                }
            }
            CommandsScript.Text = $"{GetText(Resource.String.commands_title)} ({count_commands})";

            if (count_commands == 0)
            {
                StartScript.Enabled = false;
                StartScript.SetTextColor(Color.Gray);
            }
            else
            {
                StartScript.Enabled = true;
                StartScript.SetTextColor(Color.Indigo);
            }
        }
示例#2
0
 public static void UpdateTextColor(this AppCompatButton button, XColor color, ColorStateList?defaultColor)
 {
     if (color.IsDefault)
     {
         button.SetTextColor(defaultColor);
     }
     else
     {
         button.SetTextColor(color.ToNative());
     }
 }
        private void ButtonDeleteHardware_Click(object sender, EventArgs e)
        {
            Log.Debug(TAG, "ButtonDeleteHardware_Click");

            HardwareCardHeader.Text = GetText(Resource.String.delete_hardware_card_title);

            HardwareCardSubHeader.Text = GetText(Resource.String.delete_hardware_card_sub_title);
            HardwareCardSubHeader.SetTextColor(Color.IndianRed);

            HardwareName.Enabled     = false;
            HardwareAddress.Enabled  = false;
            HardwarePassword.Enabled = false;

            HardwareAlarmSubscribing.Enabled = false;
            HardwareCommandsAllowed.Enabled  = false;

            HardwareCardButtonOk.Enabled = false;
            HardwareCardButtonOk.Text    = GetText(Resource.String.ok_mute_button_with_remove_hardware);

            buttonDeleteHardware.Enabled = false;
            buttonDeleteHardware.SetTextColor(Color.Gray);
            buttonDeleteHardware.Click -= ButtonDeleteHardware_Click;

            SystemSettingsHardware.Enabled = false;
            SystemSettingsHardware.SetTextColor(Color.Gray);
            SystemSettingsHardware.Click -= SystemSettingsHardware_Click;

            AppCompatTextView appCompatTextView = new AppCompatTextView(this)
            {
                Text = GetText(Resource.String.footer_text_with_remove_hardware), TextSize = 15
            };

            appCompatTextView.SetTextColor(Color.Red);
            appCompatTextView.SetWidth(3);
            HardwareFooterLayout.AddView(appCompatTextView);

            AppCompatButton ButtonConfirmDeleteHardware = new AppCompatButton(this)
            {
                Text = GetText(Resource.String.button_confirm_remove)
            };

            ButtonConfirmDeleteHardware.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            ButtonConfirmDeleteHardware.SetTextColor(Color.DarkRed);
            ButtonConfirmDeleteHardware.Click += new EventHandler((sender, eventArg) =>
            {
                lock (DatabaseContext.DbLocker)
                {
                    using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                    {
                        HardwareModel hardware = db.Hardwares.Find(hardwareId);
                        db.Hardwares.Remove(hardware);
                        db.SaveChanges();

                        StartActivity(typeof(HardwaresListActivity));
                    }
                }
            });
            HardwareFooterLayout.AddView(ButtonConfirmDeleteHardware);
        }
        private AppCompatButton DaySelectorButton(bool active = false)
        {
            var btn = new AppCompatButton(this);

            btn.SetTextSize(ComplexUnitType.Sp, 12f);
            btn.SetTextColor(Color.White);
            btn.Background = active ? buttonBackgroundA : buttonBackground;
            btn.Click     += DaySelectorButtonOnClick;
            return(btn);
        }
        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);
        }
示例#6
0
        private void ButtonDeleteUser_Click(object sender, EventArgs e)
        {
            Log.Debug(TAG, "ButtonDeleteUser_Click");

            AppCompatButton buttonDeleteUser = sender as AppCompatButton;

            buttonDeleteUser.Enabled     = false;
            UserCardButtonOk.Enabled     = false;
            UserCardButtonOk.Text        = GetText(Resource.String.ok_mute_button_with_remove_user);
            UserName.Enabled             = false;
            UserEmail.Enabled            = false;
            UserPhone.Enabled            = false;
            UserAlarmSubscribing.Enabled = false;
            UserCommandsAllowed.Enabled  = false;
            UserCardSubHeader.Text       = GetText(Resource.String.delete_user_card_sub_title);
            UserCardHeader.Text          = GetText(Resource.String.delete_user_card_header);
            UserCardSubHeader.SetTextColor(Color.IndianRed);
            buttonDeleteUser.SetTextColor(Color.Gray);

            AppCompatTextView appCompatTextView = new AppCompatTextView(this)
            {
                Text = GetText(Resource.String.footer_text_with_remove_user), TextSize = 15
            };

            appCompatTextView.SetTextColor(Color.Red);
            appCompatTextView.SetWidth(3);
            UserFooterLayout.AddView(appCompatTextView);

            AppCompatButton buttonConfirmDeleteUser = new AppCompatButton(this)
            {
                Text = GetText(Resource.String.button_confirm_remove)
            };

            buttonConfirmDeleteUser.SetTextColor(Color.DarkRed);
            buttonConfirmDeleteUser.Click += new EventHandler((sender, eventArg) =>
            {
                lock (DatabaseContext.DbLocker)
                {
                    using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                    {
                        UserModel user = db.Users.Find(userId);
                        db.Users.Remove(user);
                        db.SaveChanges();

                        StartActivity(typeof(UsersListActivity));
                    }
                }
            });
            buttonConfirmDeleteUser.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            UserFooterLayout.AddView(buttonConfirmDeleteUser);
        }
示例#7
0
 public static void UpdateColor(this AppCompatButton appCompatButton, IButton button) =>
 appCompatButton.SetTextColor(button.Color.ToNative());
        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);
            }
        }
        private void LoadDaySelectorButtons(int type = 1)
        {
            layoutButtons = FindViewById <LinearLayout>(Resource.Id.layout_buttons);
            layoutButtons.RemoveAllViews();
            var layoutButtonParams = new LinearLayoutCompat.LayoutParams(
                (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics),
                (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics))
            {
                Width     = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics),
                Height    = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics),
                MarginEnd = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 5, Resources.DisplayMetrics)
            };
            int      dayIndex = ReturnDayIndex();
            DateTime baseDate = DateTime.Today;

//            var today = baseDate;
//            var yesterday = baseDate.AddDays(-1);
            DateTime thisWeekStart = baseDate.AddDays(-dayIndex);
//            var thisWeekEnd = thisWeekStart.AddDays(7).AddSeconds(-1);
//            var lastWeekStart = thisWeekStart.AddDays(-7);
//            var lastWeekEnd = thisWeekStart.AddSeconds(-1);
            DateTime thisMonthStart = baseDate.AddDays(1 - baseDate.Day);

//            var thisMonthEnd = thisMonthStart.AddMonths(1).AddSeconds(-1);
//            var lastMonthStart = thisMonthStart.AddMonths(-1);
//            var lastMonthEnd = thisMonthStart.AddSeconds(-1);

            switch (type)
            {
            case 1:
                GetDataForChart(thisWeekStart, _dataType == "BloodPressure");
                break;

            case 2:
                GetDataForChart(thisMonthStart, _dataType == "BloodPressure");
                break;

            case 3:
                GetDataForChart(new DateTime(DateTime.Now.Year, 1, 1), _dataType == "BloodPressure");
                break;

            default:
                return;
            }

            if (type != 3)
            {
                string[] days                = { "L", "M", "M", "J", "V", "S", "D" };
                int      dayOfMonth          = DateTime.Now.Day;
                int      numberOfDaysInMonth = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
                int      size                = type == 1 && type != 3 ? days.Length : numberOfDaysInMonth;

                var activeButton = new AppCompatButton(this);
                for (var i = 0; i < size; i++)
                {
                    bool            isActive = type == 1 && type != 3 ? i == dayIndex : i + 1 == dayOfMonth;
                    AppCompatButton btn      = DaySelectorButton(isActive);
                    btn.Id               = i + 1;
                    btn.Text             = type == 1 && type != 3 ? i < days.Length ? days[i] : i.ToString() : (i + 1).ToString();
                    btn.LayoutParameters = layoutButtonParams;
                    if (type == 1 && type != 3 && i > dayIndex)
                    {
                        btn.Enabled = false;
                        btn.SetTextColor(Resources.GetColor(Resource.Color.colorSecondary, Theme));
                    }
                    else
                    if (i + 1 > dayOfMonth)
                    {
                        btn.Enabled = false;
                        btn.SetTextColor(Resources.GetColor(Resource.Color.colorSecondary, Theme));
                    }
                    if (isActive)
                    {
                        activeButton = btn;
                    }
                    layoutButtons.AddView(btn);
                }

                if (type == 2)
                {
                    _scrollViewButtons.PostDelayed(delegate { _scrollViewButtons.SmoothScrollTo(activeButton.Left - 5, 0); }, 30);
                }
            }
            else
            {
                Drawable img = Resources.GetDrawable(Resource.Drawable.calendar_date, Theme);
                img.SetBounds(0, 0, 50, 50);
                var btn = new AppCompatButton(this)
                {
                    Id   = 1,
                    Text = "Data"
                           //Background = buttonBackgroundA,
                           //LayoutParameters = layoutButtonParams
                };
                btn.SetTextColor(Color.White);
                btn.Background = buttonBackgroundDatePicker;
                btn.SetAllCaps(false);
                btn.SetCompoundDrawables(img, null, null, null);
                btn.SetPadding((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics),
                               (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics),
                               (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics),
                               (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics));

                btn.Click += (sender, args) =>
                {
                    var frag = SharingDatePickerFragment.NewInstance(delegate(DateTime time)
                    {
                        //_tbDate.Text = time.ToShortDateString();
                        _tvDate.Text = time.ToShortDateString();
                        switch (_dataType)
                        {
                        case "BloodPressure":
                            verticalScrollLinearLayout.RemoveAllViewsInLayout();
                            horizontalScrollLinearLayout.RemoveAllViewsInLayout();
                            LoadDataInScrollLayouts(time);
                            break;

                        case "BloodGlucose":
                            verticalScrollLinearLayout.RemoveAllViewsInLayout();
                            LoadDataInScrollLayouts(time, false);
                            break;
                        }
                    });
                    frag.Show(SupportFragmentManager, SharingDatePickerFragment.TAG);
                };
                layoutButtons.AddView(btn);
            }
        }
示例#10
0
 public static void UpdateTextColor(this AppCompatButton appCompatButton, IButton button, XColor defaultColor) =>
 appCompatButton.SetTextColor(button.TextColor.Cleanse(defaultColor).ToNative());
示例#11
0
        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))));
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            Log.Debug(TAG, "OnCreate");

            base.OnCreate(savedInstanceState);
            hardwareId = Intent.Extras.GetInt(nameof(HardwareModel.Id), 0);
            if (hardwareId < 1)
            {
                string err_title = GetText(Resource.String.err_title_2);
                HardwareName.Text    = err_title;
                HardwareName.Enabled = false;

                HardwareAddress.Text    = err_title;
                HardwareAddress.Enabled = false;

                HardwarePassword.Text    = err_title;
                HardwarePassword.Enabled = false;

                HardwareAlarmSubscribing.Enabled = false;
                HardwareCommandsAllowed.Enabled  = false;

                HardwareCardSubHeader.Text    = err_title;
                HardwareCardSubHeader.Enabled = false;

                HardwareCardButtonOk.Enabled = false;
                return;
            }

            lock (DatabaseContext.DbLocker)
            {
                using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                {
                    hardware              = db.Hardwares.FirstOrDefault(x => x.Id == hardwareId);
                    hardwareId            = hardware?.Id ?? 0;
                    HardwareName.Text     = hardware?.Name;
                    HardwareAddress.Text  = hardware?.Address;
                    HardwarePassword.Text = hardware?.Password;

                    HardwareAlarmSubscribing.Checked = hardware.AlarmSubscriber;
                    HardwareCommandsAllowed.Checked  = hardware.CommandsAllowed;
                }
            }

            HardwareCardHeader.Text    = GetText(Resource.String.edit_hardware_title);
            HardwareCardSubHeader.Text = GetText(Resource.String.edit_hardware_sub_title);

            buttonDeleteHardware = new AppCompatButton(this)
            {
                Text = GetText(Resource.String.delete_title)
            };
            buttonDeleteHardware.SetTextColor(Color.DarkRed);
            buttonDeleteHardware.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            HardwareFooterLayout.AddView(buttonDeleteHardware);

            SystemSettingsHardware = new AppCompatButton(this)
            {
                Text = GetText(Resource.String.system_settings_title)
            };
            SystemSettingsHardware.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            HardwareTopLayout.AddView(SystemSettingsHardware);
        }
示例#13
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            Log.Debug(TAG, "OnCreate");

            base.OnCreate(savedInstanceState);
            UserFooterLayout = FindViewById <LinearLayout>(Resource.Id.user_footer_layout);
            int user_id = Intent.Extras.GetInt(nameof(UserModel.Id), 0);

            if (user_id < 1)
            {
                string err_title = GetText(Resource.String.err_title_2);
                UserName.Text    = err_title;
                UserName.Enabled = false;

                UserEmail.Text    = err_title;
                UserEmail.Enabled = false;

                UserPhone.Text    = err_title;
                UserPhone.Enabled = false;

                UserAlarmSubscribing.Enabled = false;
                UserCommandsAllowed.Enabled  = false;

                UserCardSubHeader.Text    = err_title;
                UserCardSubHeader.Enabled = false;

                UserCardButtonOk.Enabled = false;
                return;
            }

            UserModel user = null;

            lock (DatabaseContext.DbLocker)
            {
                using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                {
                    user = db.Users.Find(user_id);
                }
            }
            userId         = user.Id;
            UserName.Text  = user.Name;
            UserEmail.Text = user.Email;
            UserPhone.Text = user.Phone;
            UserAlarmSubscribing.Checked = user.AlarmSubscriber;
            UserCommandsAllowed.Checked  = user.CommandsAllowed;

            TelegramUserModel telegramUser = null;

            lock (DatabaseContext.DbLocker)
            {
                using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                {
                    telegramUser = db.TelegramUsers.FirstOrDefault(x => x.LinkedUserId == user.Id);
                }
            }
            if (telegramUser != null)
            {
                TelegramAccount.SetSelection(TelegramUsers.Keys.ToList().IndexOf(telegramUser.Id));
            }

            UserCardHeader.Text    = GetText(Resource.String.edit_user_title);
            UserCardSubHeader.Text = GetText(Resource.String.edit_user_sub_title);

            AppCompatButton buttonDeleteUser = new AppCompatButton(this)
            {
                Text = GetText(Resource.String.delete_title)
            };

            buttonDeleteUser.SetTextColor(Color.DarkRed);
            buttonDeleteUser.Click           += ButtonDeleteUser_Click;
            buttonDeleteUser.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            UserFooterLayout.AddView(buttonDeleteUser);
        }