private void Update(Book book, string defaultIsbn) { if (isValidIsbn(book) || book.Isbn == defaultIsbn) { DataManager.Books[DataManager.Books.FindIndex(x => x.Isbn == defaultIsbn)] = book; DataManager.Save(); } else { MessageBox.Show("중복된 ISBN 코드가 있습니다."); } }
private void Add(User user) { if (isValidId(user)) { DataManager.Users.Add(user); DataManager.Save(); } else { MessageBox.Show("중복된 ID가 있습니다."); } }
private void Add(Book book) { if (isValidIsbn(book)) { DataManager.Books.Add(book); DataManager.Save(); } else { MessageBox.Show("중복된 ISBN 코드가 있습니다."); } }
private void Update(User user, int defaultId) { if (isValidId(user) || user.Id == defaultId) { DataManager.Users[DataManager.Users.FindIndex(x => x.Id == defaultId)].Name = user.Name; DataManager.Users[DataManager.Users.FindIndex(x => x.Id == defaultId)].Id = user.Id; DataManager.Save(); } else { MessageBox.Show("중복된 ID가 있습니다."); } }
private void btnReturn_Click(object sender, EventArgs e) { if (tbxIsbn.Text.Trim() == "") { MessageBox.Show("ISBN을 입력해주세요"); } else { try { Book book = DataManager.Books.Single((x) => x.Isbn == tbxIsbn.Text); if (book.isBorrowed) { User user = DataManager.Users.Single((x) => x.Id.ToString() == book.UserId.ToString()); book.UserId = 0; book.UserName = ""; book.isBorrowed = false; DateTime dt = book.BorrowedAt; book.BorrowedAt = new DateTime(); dataGridViewBook.DataSource = null; dataGridViewBook.DataSource = DataManager.Books; DataManager.Save(); if (dt.AddDays(7) < DateTime.Now) { MessageBox.Show("\"" + book.Name + "\"이/가 연체 상태로 반납되었습니다."); } else { MessageBox.Show("\"" + book.Name + "\"이/가 반납되었습니다."); } lblBookCount_Borrowed2.Text = DataManager.Books.Where((x) => x.isBorrowed).Count().ToString(); lblBookCount_Overdue2.Text = DataManager.Books.Where((x) => { return(x.isBorrowed && x.BorrowedAt.AddDays(7) < DateTime.Now && x.BorrowedAt != new DateTime(0000 - 00 - 00)); }).Count().ToString(); } else { MessageBox.Show("대여 상태가 아닙니다."); } } catch (Exception exception) { MessageBox.Show("존재하지 않는 도서 또는 사용자입니다."); } } }
private void Button2_Click(object sender, EventArgs e) // 반납 { if (textBox1.Text.Trim() == "") { MessageBox.Show("Isbn을 입력해주세요"); } else { try { Book book = DataManager.Books.Single((x) => x.Isbn == textBox1.Text); if (book.isBorrowed) { User user = DataManager.Users.Single((x) => x.Id.ToString() == book.UserId.ToString()); book.UserId = 0; book.UserName = ""; book.isBorrowed = false; book.BorrowedAt = new DateTime(); Refresh_Form1(); DataManager.Save(); if (book.BorrowedAt.AddDays(7) > DateTime.Now) { MessageBox.Show("\"" + book.Title + "\"이/가 연체 상태로 반납되었습니다."); } else { MessageBox.Show("\"" + book.Title + "\"이/가 반납되었습니다."); } } else { MessageBox.Show("대여 상태가 아닙니다."); } } catch (Exception exception) { MessageBox.Show("존재하지 않는 도서 또는 사용자입니다."); } } }
private void Button1_Click(object sender, EventArgs e) // 대여 { if (textBox1.Text.Trim() == "") { MessageBox.Show("Isbn을 입력해주세요"); } else if (textBox3.Text.Trim() == "") { MessageBox.Show("사용자 Id를 입력해주세요"); } else { try { Book book = DataManager.Books.Single((x) => x.Isbn == textBox1.Text); if (book.isBorrowed) { MessageBox.Show("이미 대여 중인 도서입니다."); } else { User user = DataManager.Users.Single((x) => x.Id.ToString() == textBox3.Text); // Single() 메서드는 조건에 맞는 대상 객체 하나를 추출하는 메서드, 조건에 안맞을 때 예외 발생 book.UserId = user.Id; book.UserName = user.Name; book.isBorrowed = true; book.BorrowedAt = DateTime.Now; // 그리드를 새로고침, XML로 저장하는 코드 Refresh_Form1(); DataManager.Save(); MessageBox.Show("\"" + book.Title + "\"이/가 \"" + user.Name + "\"님께 대여되었습니다."); } } catch (Exception exception) { MessageBox.Show("존재하지 않는 도서 또는 사용자입니다."); // 조건에 맞는 대상이 없다면 } } }
private void btnBorrow_Click(object sender, EventArgs e) { if (tbxIsbn.Text.Trim() == "") { MessageBox.Show("ISBN을 입력해주세요"); } else if (tbxUserId.Text.Trim() == "") { MessageBox.Show("사용자 ID를 입력해주세요"); } else { try { Book book = DataManager.Books.Single((x) => x.Isbn == tbxIsbn.Text); if (book.isBorrowed) { MessageBox.Show("이미 대여 중인 도서입니다."); } else { User user = DataManager.Users.Single((x) => x.Id.ToString() == tbxUserId.Text); book.UserId = user.Id; book.UserName = user.Name; book.isBorrowed = true; book.BorrowedAt = DateTime.Today; dataGridViewBook.DataSource = null; dataGridViewBook.DataSource = DataManager.Books; DataManager.Save(); MessageBox.Show("\"" + book.Name + "\"이/가 \"" + user.Name + "\"님께 대여되었습니다."); lblBookCount_Borrowed2.Text = DataManager.Books.Where((x) => x.isBorrowed).Count().ToString(); } } catch (Exception exception) { MessageBox.Show("존재하지 않는 도서 또는 사용자 입니다."); } } }
public Form2() { InitializeComponent(); Text = "도서 관리"; // 그림 pictureBox1.Size = new System.Drawing.Size(100, 150); pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; pictureBox1.BorderStyle = BorderStyle.Fixed3D; pictureBox2.Size = new System.Drawing.Size(100, 150); pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage; pictureBox2.BorderStyle = BorderStyle.Fixed3D; // 데이터 그리드 설정 dataGridView1.DataSource = DataManager.Books; dataGridView1.CurrentCellChanged += DataGridView1_CurrentCellChanged; dataGridView2.CurrentCellChanged += DataGridView2_CurrentCellChanged; // 갱신 // 버튼 설정 // 추가 버튼 button1.Click += (sender, e) => { try { if (DataManager.Books.Exists((x) => x.Isbn == textBox1.Text)) // Exists(), 리스트에 조건에 맞는 객체가 있는지 확인, { MessageBox.Show("이미 존재하는 도서입니다"); } else { Book book = new Book() { Isbn = textBox1.Text, Title = textBox2.Text, Publisher = textBox3.Text, Page = int.Parse(textBox4.Text), Image = imageurl }; // MessageBox.Show(imageurl); DataManager.Books.Add(book); dataGridView1.DataSource = null; dataGridView1.DataSource = DataManager.Books; DataManager.Save(); } } catch (Exception exception) { MessageBox.Show("추가버튼\n" + exception); } }; // 수정 버튼 button2.Click += (sender, e) => { try { Book book = DataManager.Books.Single((x) => x.Isbn == textBox1.Text); book.Title = textBox2.Text; book.Publisher = textBox3.Text; book.Page = int.Parse(textBox4.Text); dataGridView1.DataSource = null; dataGridView1.DataSource = DataManager.Books; DataManager.Save(); } catch (Exception exception) { MessageBox.Show("존재하지 않는 도서입니다"); } }; // 삭제 버튼 button3.Click += (sender, e) => { try { Book book = DataManager.Books.Single((x) => x.Isbn == textBox1.Text); DataManager.Books.Remove(book); dataGridView1.DataSource = null; dataGridView1.DataSource = DataManager.Books; DataManager.Save(); } catch (Exception exception) { MessageBox.Show("존재하지 않는 도서입니다"); } }; }
private void Delete(string isbn) { DataManager.Books.RemoveAt(DataManager.Books.FindIndex(x => x.Isbn == isbn)); DataManager.Save(); }
private void Delete(int a) { DataManager.Users.RemoveAt(DataManager.Users.FindIndex(x => x.Id == a)); DataManager.Save(); }
public Form3() { InitializeComponent(); Text = "사용자 관리"; // 데이터 그리드 설정 dataGridView1.DataSource = DataManager.Users; dataGridView1.CurrentCellChanged += DataGridView1_CurrentCellChanged; // 버튼 설정 button1.Click += (sender, e) => { // 추가 버튼 try { if (DataManager.Users.Exists((x) => x.Id == int.Parse(textBox1.Text))) { MessageBox.Show("사용자 ID가 겹칩니다"); } else { User user = new User() { Id = int.Parse(textBox1.Text), Name = textBox2.Text }; DataManager.Users.Add(user); dataGridView1.DataSource = null; dataGridView1.DataSource = DataManager.Users; DataManager.Save(); } } catch (Exception exception) { } }; button2.Click += (sender, e) => { // 수정 버튼 try { User user = DataManager.Users.Single((x) => x.Id == int.Parse(textBox1.Text)); user.Name = textBox2.Text; dataGridView1.DataSource = null; dataGridView1.DataSource = DataManager.Users; } catch (Exception exception) { MessageBox.Show("존재하지 않는 사용자입니다"); } }; button3.Click += (sender, e) => { // 수정 버튼 try { User user = DataManager.Users.Single((x) => x.Id == int.Parse(textBox1.Text)); DataManager.Users.Remove(user); dataGridView1.DataSource = null; dataGridView1.DataSource = DataManager.Users; DataManager.Save(); } catch (Exception exception) { MessageBox.Show("존재하지 않는 사용자입니다"); } }; }