Ejemplo n.º 1
0
        private void newItemAddMenuItem_Click(object sender, EventArgs e)
        {
            itemCollection = new LogicItemCollection();
            formAddItem = new FormAddItem();
            formAddItem.TodaysDate = TodaysDate;
            formAddItem.ShowDialog();

            // formAddItemオブジェクトが破棄されていない場合、LogicItemCollection型へ内容を格納。
            if (formAddItem.IsDisposed)
            {
                return;
            }
            else
            {
                // 新規アイテム追加フォームのプロパティから、LogicItemCollection型へ内容を格納する。
                itemCollection.UserCheckPassHash = yourPassHash;
                itemCollection.Purpose = formAddItem.PassPurpose;
                itemCollection.Account = formAddItem.PassAccount;
                itemCollection.PassWord = formAddItem.PassWord;
                itemCollection.IsAlarmLimitOnOrOff = formAddItem.IsAlarmLimitOnOrOff;
                itemCollection.IsAlarmOnOrOff = formAddItem.IsAlarmOnOrOff;
                itemCollection.LimitDate = formAddItem.LimitDate;
                formAddItem.Dispose();
                alreadyExportdb = false;
            }

            listViewMode = "LIST";
            searchTextBox.Text = "";
            searchButton.Enabled = false;
            clearButton.Enabled = true;
            itemList.Add(itemCollection);
            OnListRefresh();
            InitializeControl();
            ShowMyDialog.ShowInfoMessageBox("新しいアイテムの登録が完了しました。", "- 新規アイテムの登録の完了");
        }
Ejemplo n.º 2
0
        private LogicItemCollection CheckFormAndDoDecryptAES(string[] fields)
        {
            LogicItemCollection decryptItem = new LogicItemCollection();
            // フィールドの数の確認。
            if (fields.Length != 7)
            {
                decryptItem.IsErrorFromCsv = true;
                throw new IOException
                   ("dbファイルの一部を読み込む事が出来ませんでした。\n\n" +
                    "ファイルのフォーマットが正しくない、ファイルが破損している可能性があります。\n" +
                    "プログラムを起動する前に無効なdbファイルを修復する必要があります。\n\n" +
                    "プログラムはアイテムのインポートを中止します。");
            }
            foreach (string _tmpLengthCheck in fields)
            {
                if (_tmpLengthCheck.Length == 0)
                {
                    decryptItem.IsErrorFromCsv = true;
                    throw new IOException
                        ("dbファイルの一部を読み込む事が出来ませんでした。\n\n" +
                         "ファイルのフォーマットが正しくない、ファイルが破損している可能性があります。\n" +
                         "プログラムを起動する前に無効なdbファイルを修復する必要があります。\n\n" +
                         "プログラムはアイテムのインポートを中止します。");
                }
            }

            decryptItem.UserCheckPassHash = fields[0];                                                          // ユーザ認証パスワードのHASH値を取得。
            decryptItem.Purpose = logicAes.DoDecryptAES(fields[1], fields[0]);                                  // パスワードの用途の複合化。
            decryptItem.Account = logicAes.DoDecryptAES(fields[2], fields[0]);                                  // パスワードのアカウントの複合化。
            decryptItem.PassWord = logicAes.DoDecryptAES(fields[3], fields[0]);                                 // パスワードの複合化。
            decryptItem.IsAlarmLimitOnOrOffTypeString = logicAes.DoDecryptAES(fields[4], fields[0]);            // パスワードの有効期限の有無の複合化。
            decryptItem.IsAlarmOnOrOffTypeString = logicAes.DoDecryptAES(fields[5], fields[0]);                 // アラームの有無の復号化
            decryptItem.LimitDateTypeString = logicAes.DoDecryptAES(fields[6], fields[0]);                      // パスワードの有効期限の複合化。

            // 文字列で受け取った"Bool"の値をbool値に変換して格納。
            decryptItem.IsAlarmLimitOnOrOff = decryptItem.String2Bool(decryptItem.IsAlarmLimitOnOrOffTypeString);
            decryptItem.IsAlarmOnOrOff = decryptItem.String2Bool(decryptItem.IsAlarmOnOrOffTypeString);

            if (decryptItem.IsAlarmLimitOnOrOff)
            {
                // 文字列で受け取った"期日"の値をDateTime型に変換して格納。
                decryptItem.LimitDate = decryptItem.String2DateTime(decryptItem.LimitDateTypeString);
            }
            return decryptItem;
        }
Ejemplo n.º 3
0
 private void InitializeObject()
 {
     _newEditItem = new LogicItemCollection();
     _stringCheckZenkaku = new Regex(@"[^\x01-\x7E]");
     _stringCheckHankaku = new Regex(@"[\x20-\x7E]");
 }
Ejemplo n.º 4
0
        public IEnumerable<LogicItemCollection> ImportCsv(string FILENAME, string encryptionType)
        {
            importItem = new LogicItemCollection();
            importStream = new FileStream(FILENAME, FileMode.Open, FileAccess.Read);
            importencode = Encoding.UTF8;
            using (TextFieldParser textFieldParser = new TextFieldParser(importStream, importencode))
            {
                textFieldParser.TextFieldType = FieldType.Delimited;
                textFieldParser.SetDelimiters(",");
                textFieldParser.HasFieldsEnclosedInQuotes = false;
                textFieldParser.TrimWhiteSpace = false;

                if (encryptionType == "AES")
                {
                    while (!textFieldParser.EndOfData)
                    {
                        // 一行の各要素(CSVフォーマット)を各配列の要素に格納。
                        string[] _tmpArray = textFieldParser.ReadFields();
                        importItem = CheckFormAndDoDecryptAES(_tmpArray);
                        importItem.NowReadStreamSize = importencode.GetByteCount(_tmpArray[0] + _tmpArray[1] + _tmpArray[2] + _tmpArray[3] + _tmpArray[4] + _tmpArray[5] + _tmpArray[6]);
                        yield return importItem;
                    }
                }
                else if (encryptionType == "3DES")
                {
                    while (!textFieldParser.EndOfData)
                    {
                        // 一行の各要素(CSVフォーマット)を各配列の要素に格納。
                        string[] _tmpArray = textFieldParser.ReadFields();
                        importItem = CheckFormAndDoDecrypt3DES(_tmpArray);
                        importItem.NowReadStreamSize = importencode.GetByteCount(_tmpArray[0] + _tmpArray[1] + _tmpArray[2] + _tmpArray[3] + _tmpArray[4] + _tmpArray[5] + _tmpArray[6]);
                        yield return importItem;
                    }
                }
            }
        }