예제 #1
0
        //데이터 추가
        private void InputDataStrip_Click(object sender, EventArgs e)
        {
            InputForm iForm = new InputForm(conn);

            iForm.ShowDialog();

            /*
             * 리스트 아이템이 null이 아닌 경우에(새로 정보를 입력한 경우에)
             * 데이터리스트에 추가를 하고
             * 리스트 뷰에 새로 갱신한 정보를 추가한다.
             */
            if (iForm.IsInputNewData())
            {
                //새로운 리스트 뷰 생성
                ListViewItem newItem = iForm.GetNewItem();
                //새로운 데이터 생성
                PswdData newData = new PswdData(newItem.Name, newItem.SubItems[0].Name, newItem.SubItems[1].Name);
                //데이터리스트에 추가
                dataManager.AddData(newData);
                //리스트 뷰 추가
                DataView.Items.Add(newItem);
            }

            iForm.Dispose();
            return;
        }
예제 #2
0
        private void ModifyBtn_Click(object sender, EventArgs e)
        {
            if (SiteBox.Text == "" || idBox.Text == "" || PswdBox.Text == "")
            {
                MessageBox.Show("해당 칸에 입력을 하지 않으셨습니다.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //똑같을 경우(차이가 없는 경우)

            else if (LastData.IsSame(new PswdData(SiteBox.Text, idBox.Text, PswdBox.Text)))
            {
                Close(); //그냥 나가기
            }
            else //전부다 입력이 되어있고 한 글자라도 변경이 된 경우
            {
                //PswdData 생성
                newData = new PswdData(SiteBox.Text, idBox.Text, PswdBox.Text);

                //DB에 업데이트
                new DataControl(sql).ModifyData(LastData, newData);

                //리스트뷰 아이템 생성
                newItem = new ListViewItem(newData.GetName());
                newItem.SubItems.Add(newData.GetID());
                newItem.SubItems.Add(newData.GetPswd());

                //끝
                Close();
            }
        }
예제 #3
0
        //제거
        private void DeleteDataStrip_Click(object sender, EventArgs e)
        {
            PswdData DeleteData = null;

            //선택된 데이터 설정
            try
            {
                DeleteData = new PswdData(DataView.SelectedItems[0].SubItems[0].Text,
                                          DataView.SelectedItems[0].SubItems[1].Text,
                                          DataView.SelectedItems[0].SubItems[2].Text);
            }
            catch (ArgumentOutOfRangeException) //선택되지 않은 경우
            {
                MessageBox.Show("해당 데이터가 선택되지 않았습니다.", "ERROr", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //정말로 삭제하시겠습니까?
            DialogResult AreYouDelete = MessageBox.Show("정말로 삭제하시겠습니까?", "ERROR", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (AreYouDelete.Equals(DialogResult.No)) //아니오
            {
                return;                               //취소
            }
            else
            {
                //DB에서 삭제
                new DataControl(conn).DeleteData(DeleteData);
                //데이터리스트에서 삭제
                dataManager.DeleteData(DeleteData);
                //뷰에서도 삭제
                DataView.SelectedItems[0].Remove();
            }
        }
예제 #4
0
        //클래스를 이용한 정보수정
        public void ModifyData(PswdData LastData, PswdData newData)
        {
            sql.Open();
            SQLiteCommand cmd = new SQLiteCommand(sql);

            cmd.CommandText = string.Format("update Info set Name = '{0}', ID = '{1}', Pswd = '{2}' where Name = '{3}' and ID = '{4}' and Pswd = '{5}'",
                                            newData.GetName(), newData.GetID(), newData.GetPswd(), LastData.GetName(), LastData.GetID(), LastData.GetPswd());
            cmd.ExecuteNonQuery();
            cmd.Dispose(); sql.Close();
        }
예제 #5
0
        //PswdData 로부터 DB에 정보 삭제
        public void DeleteData(PswdData InputData)
        {
            sql.Open();
            SQLiteCommand cmd = new SQLiteCommand(sql);

            cmd.CommandText = string.Format("delete from Info where Name = '{0}' and ID = '{1}' and Pswd = '{2}'",
                                            InputData.GetName(), InputData.GetID(), InputData.GetPswd());
            cmd.ExecuteNonQuery();

            cmd.Dispose(); sql.Close();
        }
예제 #6
0
        //PswdData 로부터 DB에 정보 입력
        public void InputData(PswdData InputData)
        {
            sql.Open();
            SQLiteCommand cmd = new SQLiteCommand(sql);

            cmd.CommandText = string.Format("insert into Info (Name, ID, Pswd) values ('{0}', '{1}', '{2}')",
                                            InputData.GetName(), InputData.GetID(), InputData.GetPswd());
            cmd.ExecuteNonQuery();

            cmd.Dispose(); sql.Close();
        }
예제 #7
0
        public ListViewItem GetNewItem() => newItem;   //갱신된 아이템 추출


        public ModifyForm(SQLiteConnection conn, PswdData LastData)
        {
            //sql, 이전데이터 세팅
            sql           = conn;
            this.LastData = LastData;

            InitializeComponent();

            //사이트 아이디 비밀번호 텍스트 박스에 이전 데이터 삽입
            SiteBox.Text = this.LastData.GetName();
            idBox.Text   = this.LastData.GetID();
            PswdBox.Text = this.LastData.GetPswd();
        }
예제 #8
0
        //데이터리스트 수정
        public void ModifyData(PswdData LastData, PswdData NewData)
        {
            int index = 0;

            foreach (PswdData SelectedData in DataList)
            {
                if (SelectedData.IsSame(LastData))
                {
                    DataList[index].SetData(NewData);
                    break;
                }
                index++;
            }
        }
예제 #9
0
        //데이터리스트 제거
        public void DeleteData(PswdData DeleteData)
        {
            int index = 0;

            foreach (PswdData SelectedData in DataList)
            {
                if (SelectedData.IsSame(DeleteData))
                {
                    DataList.RemoveAt(index);
                    break;
                }
                index++;
            }
        }
예제 #10
0
        //데이터 수정
        private void ModifyDataStrip_Click(object sender, EventArgs e)
        {
            PswdData LastData = null;

            //선택된 데이터 설정
            try
            {
                LastData = new PswdData(DataView.SelectedItems[0].SubItems[0].Text,
                                        DataView.SelectedItems[0].SubItems[1].Text,
                                        DataView.SelectedItems[0].SubItems[2].Text);
            }
            catch (ArgumentOutOfRangeException) //선택하지 않았을 경우
            {
                MessageBox.Show("해당 데이터가 선택되지 않았습니다.", "ERROr", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //수정 폼 접근
            ModifyForm mForm = new ModifyForm(conn, LastData);

            mForm.ShowDialog();

            PswdData     newData = mForm.GetNewData();
            ListViewItem newItem = mForm.GetNewItem();

            //취소가 아닌 변경을 눌렀을 경우
            if (mForm.isModified())
            {
                //데이터 변경
                dataManager.ModifyData(LastData, newData);
                //리스트 수정
                int index = DataView.SelectedItems[0].Index;

                //1.해당 리스트 삭제
                DataView.Items.RemoveAt(index);
                //2.갱신
                DataView.Items.Add(newItem);
            }
            mForm.Dispose();

            return;
        }
예제 #11
0
 //데이터리스트 추가
 public void AddData(PswdData newData) => DataList.Add(newData);
예제 #12
0
 //내용이 같은지 판단 여부
 public bool IsSame(PswdData cmpData)
 {
     return(cmpData.GetName().Equals(Name) && cmpData.GetID().Equals(ID) &&
            cmpData.GetPswd().Equals(Pswd));
 }
예제 #13
0
 //클래스로 새 정보 수정
 public void SetData(PswdData newData)
 {
     Name = newData.GetName();
     ID   = newData.GetID();
     Pswd = newData.GetPswd();
 }