Ejemplo n.º 1
0
 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 코드가 있습니다.");
     }
 }
Ejemplo n.º 2
0
 private void Add(User user)
 {
     if (isValidId(user))
     {
         DataManager.Users.Add(user);
         DataManager.Save();
     }
     else
     {
         MessageBox.Show("중복된 ID가 있습니다.");
     }
 }
Ejemplo n.º 3
0
 private void Add(Book book)
 {
     if (isValidIsbn(book))
     {
         DataManager.Books.Add(book);
         DataManager.Save();
     }
     else
     {
         MessageBox.Show("중복된 ISBN 코드가 있습니다.");
     }
 }
Ejemplo n.º 4
0
 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가 있습니다.");
     }
 }
Ejemplo n.º 5
0
        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("존재하지 않는 도서 또는 사용자입니다.");
                }
            }
        }
Ejemplo n.º 6
0
        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("존재하지 않는 도서 또는 사용자입니다.");
                }
            }
        }
Ejemplo n.º 7
0
        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("존재하지 않는 도서 또는 사용자입니다."); // 조건에 맞는 대상이 없다면
                }
            }
        }
Ejemplo n.º 8
0
        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("존재하지 않는 도서 또는 사용자 입니다.");
                }
            }
        }
Ejemplo n.º 9
0
        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("존재하지 않는 도서입니다");
                }
            };
        }
Ejemplo n.º 10
0
 private void Delete(string isbn)
 {
     DataManager.Books.RemoveAt(DataManager.Books.FindIndex(x => x.Isbn == isbn));
     DataManager.Save();
 }
Ejemplo n.º 11
0
 private void Delete(int a)
 {
     DataManager.Users.RemoveAt(DataManager.Users.FindIndex(x => x.Id == a));
     DataManager.Save();
 }
Ejemplo n.º 12
0
        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("존재하지 않는 사용자입니다");
                }
            };
        }