/// <summary>
        /// Отправка кода на почту.
        /// </summary>
        private void SendKey()
        {
            MailAddress from = new MailAddress(Shifrator.DeShifrat(EmailName), "Восстановление пароля");
            MailAddress to   = new MailAddress(edt.Text);

            MailMessage message = new MailMessage(from, to);

            message.Subject = "Kод восстановления доступа в приложении Хранилище паролей.";

            Random rnd = new Random();

            Key = rnd.Next(1000, 10000);

            message.Body = "Ваш код для восстановления доступа: " + Key + " для аккаунта " + Log + "\n" +
                           "Если вы не пытаетесь восстановить доступ просто поигнорируйте это сообщение и не сообщайте никому код.";

            SmtpClient smtp = new SmtpClient("smtp.mail.ru", 587);

            smtp.EnableSsl   = true;
            smtp.Credentials = new NetworkCredential(Shifrator.DeShifrat(Login), Shifrator.DeShifrat(Password));

            try
            {
                smtp.Send(message);
            }
            catch (Exception)
            {
                Toast.MakeText(this, "Не удалось отправить код восстановления.", ToastLength.Short).Show();
                return;
            }
        }
        /// <summary>
        /// Регистрация.
        /// </summary>
        public ControlerUser(string login, string passw)
        {
            user       = new User();
            user.Login = login;
            user.Passw = Shifrator.Shifrated(passw);

            FillFile(login);
        }
        /// <summary>
        /// Редактирование пароля.
        /// </summary>
        /// <param name="idPassw"></param>
        /// <param name="name"></param>
        /// <param name="login"></param>
        /// <param name="password"></param>
        public void EditPassw(int idPassw, string name, string login, string password)
        {
            user.ListPassword[idPassw].Name   = name;
            user.ListPassword[idPassw].Login  = Shifrator.Shifrated(login);
            user.ListPassword[idPassw].Passwd = Shifrator.Shifrated(password);

            FillFile(user.Login);
        }
        /// <summary>
        /// Добавление пароля.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="login"></param>
        /// <param name="password"></param>
        public void AddPassw(string name, string login, string password)
        {
            Password newPassw = new Password();

            newPassw.Name   = name;
            newPassw.Login  = Shifrator.Shifrated(login);
            newPassw.Passwd = Shifrator.Shifrated(password);

            user.ListPassword.Add(newPassw);

            FillFile(user.Login);
        }
        /// <summary>
        /// Настройки.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnPropert_Click(object sender, System.EventArgs e)
        {
            Intent proper = new Intent(this, typeof(PropertiPage));

            proper.PutExtra("Log", controlerUser.user.Login);
            proper.PutExtra("Pass", Shifrator.DeShifrat(controlerUser.user.Passw));
            if (!string.IsNullOrWhiteSpace(controlerUser.user.E_mail))
            {
                proper.PutExtra("Email", Shifrator.DeShifrat(controlerUser.user.E_mail));
            }
            StartActivityForResult(proper, 3);
        }
        /// <summary>
        /// Проверка на подлиность.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="pass"></param>
        /// <returns></returns>
        public static bool IsLogIn(string login, string pass)
        {
            User testUser = ReadInFile(login);

            if (testUser.Login == login && Shifrator.DeShifrat(testUser.Passw) == pass)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// Получить электроную почту выбраного пользователя.
        /// </summary>
        /// <returns></returns>
        public static string GetEmail(string login)
        {
            User tst = ReadInFile(login);

            if (!string.IsNullOrWhiteSpace(tst.E_mail))
            {
                return(Shifrator.DeShifrat(tst.E_mail));
            }
            else
            {
                return("");
            }
        }
        /// <summary>
        /// Получить все пароли.
        /// </summary>
        /// <returns></returns>
        public List <string> GetPassw()
        {
            List <string> lst = new List <string>();

            for (int i = 0; i < user.ListPassword.Count; i++)
            {
                string t = user.ListPassword[i].Name
                           + "#" + Shifrator.DeShifrat(user.ListPassword[i].Login)
                           + "#" + Shifrator.DeShifrat(user.ListPassword[i].Passwd);
                lst.Add(t);
            }

            return(lst);
        }
        /// <summary>
        /// При закрытии одной из форм.
        /// </summary>
        /// <param name="requestCode"></param>
        /// <param name="resultCode"></param>
        /// <param name="data"></param>
        protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);

            //Закрылась форма регистрации.
            if (requestCode == 0)
            {
                if (resultCode == Result.Ok)
                {
                    //Регистрация
                    if (data.GetStringExtra("LogIn") == null)
                    {
                        string login = data.GetStringExtra("Rlogin");
                        string pass  = data.GetStringExtra("Rpass");

                        new Android.App.AlertDialog.Builder(this).
                        SetTitle("Добро пожаловать").
                        SetMessage("Сверху находятся все необходимые кнопки\n" +
                                   "-Добавить пароль(Плюс)\n" +
                                   "-Удалить пароль(Корзина)\n" +
                                   "-Редактировать пароль(Карандаш)\n" +
                                   "-Настройки(Шестеренка)\n" +
                                   "-Выход\n\n" +
                                   "Рекомендация:\n" +
                                   "Укажите свою почту во вкладке Настройки " +
                                   "и тогда, если вы забудете пароль от аккаунты," +
                                   "вы сможете его восстановить.").
                        SetIcon(Resource.Drawable.information_info_1565).
                        SetPositiveButton("Ок", delegate { }).
                        Show();

                        try
                        {
                            controlerUser = new ControlerUser(login, pass);
                        }
                        catch
                        {
                            Toast.MakeText(this, "Не удалось создать учетную запись.", ToastLength.Short).Show();
                            Finish();
                        }
                    }
                    else//Вход
                    {
                        controlerUser = new ControlerUser(data.GetStringExtra("LogIn"));
                    }

                    SetPassword();
                }
                else
                {
                    Finish();
                }
            }

            //Закрылась форма добавления пароля.
            if (requestCode == 1)
            {
                if (resultCode == Result.Ok)
                {
                    string name  = data.GetStringExtra("Name");
                    string login = data.GetStringExtra("Login");
                    string pass  = data.GetStringExtra("Pass");

                    controlerUser.AddPassw(name, login, pass);
                    SetPassword();
                }
            }

            //Закрылась форма редактирования пароля.
            if (requestCode == 2)
            {
                if (resultCode == Result.Ok)
                {
                    string name  = data.GetStringExtra("Name");
                    string login = data.GetStringExtra("Login");
                    string pass  = data.GetStringExtra("Pass");

                    controlerUser.EditPassw(spinPass.SelectedItemPosition, name, login, pass);
                    SetPassword();
                }
            }

            //Закрылась форма с настройками.
            if (requestCode == 3)
            {
                if (resultCode == Result.Ok)
                {
                    string name = data.GetStringExtra("Login");
                    string pass = data.GetStringExtra("Pass");
                    string em   = data.GetStringExtra("email");

                    controlerUser.EditUser(name, Shifrator.Shifrated(pass), Shifrator.Shifrated(em));
                }

                if (StatesTheme.IsDark())
                {
                    SetDarkThem();
                }
                else
                {
                    SetWhiteThem();
                }
            }
        }