• 1405/06/23

تمرین جلسه 101 :

با سلام

 

using Barnamenevis.Net.RtlMessageBox.WindowsForms;
using DataLayer.Context;
using DataLayer.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows;
using System.Windows.Forms;
using Tools.Convertor;
namespace BookKeeper.Books
{
    public partial class frmBookManagement : Form
    {
        BookKeeper_DB_Context bookKeeper = new();


        public frmBookManagement()
        {
            InitializeComponent();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void frmBookManagement_Load(object sender, EventArgs e)
        {
            BindGrid();
        }

        #region Data Grid View Books
        void BindGrid()
        {
            dgvBooks.Rows.Clear();
            var book = bookKeeper.Books.AsNoTracking().ToList();
            foreach (var item in book)
            {
                dgvBooks.Rows.Add(item.Id,
                    item.Title,
                    item.Subject,
                    item.AuthorName,
                    item.Description,
                    item.Rating,
                    item.IsAvailable ? "موجود" : "ناموجود",
                    item.IsFavorite ? "⭐" : "-",
                    item.IsWishlist ? "📌" : "-",
                    item.AddedDate.ToShamsiDateOnly()
                    );
            }
        }
        #endregion

        private void btnAdd_Click(object sender, EventArgs e)
        {
            frmAddBook frmAddBook = new frmAddBook();
            frmAddBook.ShowDialog();
            if (frmAddBook.DialogResult == DialogResult.Yes)
            {
                BindGrid();
            }

        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (dgvBooks.CurrentRow != null)
            {
                string id = dgvBooks.CurrentRow.Cells[0].Value.ToString();
                string bookName = dgvBooks.CurrentRow.Cells[1].Value.ToString();
                string authotName = dgvBooks.CurrentRow.Cells[3].Value.ToString();

                if (bookName == "CAN'T HURT ME")
                {
                    RtlMessageBox.Show("نمیتوانید از خط را پاک کنید", "خطا", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Stop);
                }
                else
                {
                    int bookId = Convert.ToInt32(id);
                    string message = $"آیا مطمئنی میخوای کتاب : '{bookName}' از نویسنده : '{authotName}' را پاک کنی؟ ";
                    var result = RtlMessageBox.Show(message, "سوال", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question);
                    if (result == MessageBoxResult.Yes)
                    {
                        var bookDelete = bookKeeper.Books.Single(b => b.Id == bookId);
                        bookKeeper.Books.Remove(bookDelete);
                        bookKeeper.SaveChanges();
                        BindGrid();

                    }

                }
            }
        }

        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (dgvBooks.CurrentRow != null)
            {
                string id = dgvBooks.CurrentRow.Cells[0].Value.ToString();
                int bookId = Convert.ToInt32(id);
                frmEdit frmEdit = new frmEdit(bookId);
                var result = frmEdit.ShowDialog();
                if (result == DialogResult.Yes)
                {
                    BindGrid();
                }



            }
        }

        private void txtSearch_Click(object sender, EventArgs e)
        {

        }

        private void txtSearch_TextChanged(object sender, EventArgs e)
        {
            dgvBooks.Rows.Clear();
            var book = bookKeeper.Books.Where(b =>
            b.Title.Contains(txtSearch.Text) ||
            b.Subject.Contains(txtSearch.Text) ||
           b.AuthorName.Contains(txtSearch.Text
           )).ToList();
            foreach (var item in book)
            {
                dgvBooks.Rows.Add(item.Id,
                    item.Title,
                    item.Subject,
                    item.AuthorName,
                    item.Description,
                    item.Rating,
                    item.IsAvailable ? "موجود" : "ناموجود",
                    item.IsFavorite ? "⭐" : "-",
                    item.IsWishlist ? "📌" : "-",
                    item.AddedDate.ToShamsiDateOnly()
                    );
            }
        }
    }
}

using DataLayer.Context;
using DataLayer.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace BookKeeper.Books
{
    public partial class frmEdit : Form
    {
        int _bookid;
        BookKeeper_DB_Context _context = new BookKeeper_DB_Context();
        public frmEdit(int bookId)
        {
            InitializeComponent();
            _bookid = bookId;

        }

        bool ValidateInpute()
        {
            bool validate = true;
            if (string.IsNullOrEmpty(txtBookName.Text) || string.IsNullOrWhiteSpace(txtBookName.Text))
            {
                txtBookName.BackColor = Color.Tomato;
                validateInputName.Visible = true;
                validate = false;
                lblError.Visible = true;

            }
            else
            {
                validateInputName.Visible = false;
                txtBookName.BackColor = Color.White;

            }

            if (string.IsNullOrEmpty(txtAuthorName.Text) || string.IsNullOrWhiteSpace(txtAuthorName.Text))
            {
                txtAuthorName.BackColor = Color.Tomato;
                validateInputAuthorName.Visible = true;
                lblError.Visible = true;
                validate = false;
            }
            else
            {
                validateInputAuthorName.Visible = false;
                txtAuthorName.BackColor = Color.White;
            }

            if (string.IsNullOrEmpty(txtSubject.Text) || string.IsNullOrWhiteSpace(txtSubject.Text))
            {
                txtSubject.BackColor = Color.Tomato;
                validateInputSubject.Visible = true;
                validate = false;
                lblError.Visible = true;
            }
            else
            {
                validateInputSubject.Visible = false;
                txtSubject.BackColor = Color.White;
            }


            return validate;

        }

        private void frmEdit_Load(object sender, EventArgs e)
        {
            if (_bookid != 0)
            {
                #region Instantiation


                var book = _context.Books.Single(q => q.Id == _bookid);

                #endregion 


                #region Populating

                txtBookName.Text = book.Title;
                txtAuthorName.Text = book.AuthorName;
                txtRating.Value = book.Rating;
                txtSubject.Text = book.Subject;

                #region Radio Button

                rbIsFavorite.Checked = book.IsFavorite;
                if (book.IsFavorite != true)
                {
                    rbNotFavorite.Checked = true;
                }

                rbIsWhishList.Checked = book.IsWishlist;
                if (book.IsWishlist != true)
                {
                    rbNotWhishList.Checked = true;
                }

                #endregion

                #endregion






            }
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void txtBookName_TextChanged(object sender, EventArgs e)
        {

        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            btnCancel.DialogResult = DialogResult.Cancel;
        }

        private void rbIsWhishList_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (ValidateInpute())
            {

                var book = _context.Books.Single(q => _bookid == q.Id);
                book.Title = txtBookName.Text;
                book.AuthorName = txtAuthorName.Text;
                book.Subject = txtSubject.Text;
                book.Rating = Convert.ToInt32(txtRating.Value);
                #region RadioButton
                if (rbIsWhishList.Checked == false)
                {
                    book.IsWishlist = false;
                }
                else
                {
                    book.IsWishlist = true;
                }
                if (rbIsFavorite.Checked == false)
                {
                    book.IsFavorite = false;
                }
                else
                {
                    book.IsFavorite = true;
                }
                #endregion
                if (rbNotWhishList.Checked == false)
                {
                    book.IsAvailable = true;
                }
                else
                {
                    book.IsWishlist = false;
                }


                _context.Books.Update(book);
                _context.SaveChanges();

                this.DialogResult = DialogResult.Yes;
                this.Close();
            }
        }

        private void frmEdit_Leave(object sender, EventArgs e)
        {

        }
    }
}
  • 1405/06/23
  • ساعت 14:37

بسیار عالی 

ظاهر جالبی هم داره 


  • 1405/06/23
  • ساعت 22:43

بسیار سپاسگزارم استاد 🙏🏼🌹