Esempio n. 1
0
        public static bool Add(SQLiteConnection connection, RSABookInfo newItem)
        {
            var reqStr = $"INSERT INTO RSABOOKS (user_id, email, own_private_key, own_public_key, " +
                         $"own_priv_key_ecp, own_pub_key_ecp, email_public_key, " +
                         $"email_public_key_ecp) VALUES('{newItem.UserId}', '{newItem.Email}', " +
                         $"'{newItem.OwnPrivate}', '{newItem.OwnPublic}', '{newItem.OwnPrivateECP}', " +
                         $"'{newItem.OwnPublicECP}', '{newItem.EmailPublic}', '{newItem.EmailPublicECP}')";

            if (!IsBookExists(connection, newItem.Email, int.Parse(newItem.UserId)))
            {
                using (var cmd = new SQLiteCommand(reqStr, connection))
                {
                    cmd.ExecuteNonQuery();
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 2
0
        public static List <RSABookInfo> GetBooks(SQLiteConnection connection, int userId)
        {
            var books  = new List <RSABookInfo>();
            var reqStr = $"SELECT id, user_id, email, own_private_key, own_public_key, " +
                         $"own_pub_key_ecp, own_priv_key_ecp, email_public_key, " +
                         $"email_public_key_ecp FROM RSABOOKS WHERE user_id = '{userId}' ";

            if (connection.State == ConnectionState.Open)
            {
                using (var cmd = new SQLiteCommand(reqStr, connection))
                {
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var item = new RSABookInfo()
                            {
                                Id             = reader.GetInt32(0),
                                UserId         = userId.ToString(),
                                Email          = reader.GetString(2).Trim(' '),
                                OwnPrivate     = reader.GetString(3).Trim(' '),
                                OwnPublic      = reader.GetString(4).Trim(' '),
                                OwnPrivateECP  = reader.GetString(5).Trim(' '),
                                OwnPublicECP   = reader.GetString(6).Trim(' '),
                                EmailPublic    = reader.GetString(7).Trim(' '),
                                EmailPublicECP = reader.GetString(8).Trim(' ')
                            };

                            books.Add(item);
                        }
                    }
                }
            }

            return(books);
        }
Esempio n. 3
0
        private void addKeysBtn_Click(object sender, EventArgs e)
        {
            var         email         = keysEmailTxt.Text.Trim(' ');
            var         privateKey    = keysPrivateTxt.Text.Trim(' ');
            var         publicKey     = keysPublicTxt.Text.Trim(' ');
            var         privateECPKey = keysPrivateSignTxt.Text.Trim(' ');
            var         publicECPKey  = keysPublicSignTxt.Text.Trim(' ');
            var         remoteKey     = keysRemoteTxt.Text.Trim(' ');
            var         remoteECPKey  = keysRemoteSignTxt.Text.Trim(' ');
            RSABookInfo book;

            if (string.IsNullOrEmpty(email))
            {
                checkInputPrv.SetError(keysEmailTxt, "Заполните данное поле");
                return;
            }

            if (string.IsNullOrEmpty(privateKey))
            {
                checkInputPrv.SetError(keysPrivateTxt, "Заполните данное поле");
                return;
            }

            if (string.IsNullOrEmpty(publicKey))
            {
                checkInputPrv.SetError(keysPublicTxt, "Заполните данное поле");
                return;
            }

            if (string.IsNullOrEmpty(privateECPKey))
            {
                checkInputPrv.SetError(keysPrivateSignTxt, "Заполните данное поле");
                return;
            }

            if (string.IsNullOrEmpty(publicECPKey))
            {
                checkInputPrv.SetError(keysPublicSignTxt, "Заполните данное поле");
                return;
            }

            if (string.IsNullOrEmpty(remoteKey))
            {
                checkInputPrv.SetError(keysRemoteTxt, "Заполните данное поле");
                return;
            }

            if (string.IsNullOrEmpty(remoteECPKey))
            {
                checkInputPrv.SetError(keysRemoteSignTxt, "Заполните данное поле");
                return;
            }

            book = new RSABookInfo()
            {
                UserId         = StudMail.UserId.ToString(),
                Email          = email,
                OwnPrivate     = privateKey,
                OwnPublic      = publicKey,
                OwnPrivateECP  = privateECPKey,
                OwnPublicECP   = publicECPKey,
                EmailPublic    = remoteKey,
                EmailPublicECP = remoteECPKey
            };

            if (!DBRSABooks.Add(DBConnection.Connection, book))
            {
                checkInputPrv.SetError(keysEmailTxt, "Данная запись уже существует");
                return;
            }

            updateBooksWorker.RunWorkerAsync();
        }