public static List <StudentReadInfo> StudentReadList() { List <StudentReadInfo> degerler = new List <StudentReadInfo>(); OleDbCommand komut1 = new OleDbCommand("Select * from StudentReadInfoTable Order By TakenDate", Connection.baglanti); if (komut1.Connection.State != ConnectionState.Open) { komut1.Connection.Open(); } OleDbDataReader dr = komut1.ExecuteReader(); while (dr.Read()) { StudentReadInfo stdnread = new StudentReadInfo(); EntityStudent student = DALStudent.StudentList().FirstOrDefault(n => n.StudentId == int.Parse(dr["StudentID"].ToString())); EntityBook book = DALBook.BookList().FirstOrDefault(n => n.bookID == int.Parse(dr["BookID"].ToString())); stdnread.StudentId = student; stdnread.BookId = book; stdnread.TakenDate = dr["TakenDate"].ToString(); stdnread.GivenDate = dr["GivenDate"].ToString(); stdnread.isGiven = bool.Parse(dr["isGiven"].ToString()); degerler.Add(stdnread); } dr.Close(); return(degerler); }
private void BtnGiveBook_Click(object sender, EventArgs e) { // Burada öğrencinin okuduğu kitaplar nesnesini üretiyoruz StudentReadInfo studentread = new StudentReadInfo(); // Üretilen nesnenin hangi öğrenci olduğunu Comboboxtan gelen veriyi StudentList içinde bulup seçtirilir studentread.StudentId = DALStudent.StudentList().FirstOrDefault(n => n.StudentName == comboBox1.SelectedItem.ToString()); // Üretilen nesnenin hangi kitap olduğunu Comboboxtan gelen veriyi BookList içinde bulup seçtirilir studentread.BookId = DALBook.BookList().FirstOrDefault(n => n.bookName == comboBox2.SelectedItem.ToString()); // Öğrencinin okuduğu kitaplar nesnesi üzerinde bulunan kitapın alınma tarihine DateTimePickerdan gelen değeri atanır studentread.TakenDate = dateTimePicker1.Value.Date.ToString(); // Entity katmanında TakenDate String olarak tutulduğu için gerekli tip dönüşüm işlemleri yapılır DateTime DueDate = Convert.ToDateTime(studentread.TakenDate); // DueDate kitabın teslim edilme tarihini teslim eder bunu DatetimePickerden gelen tarihe 15gün ekleyerek elde edilir. DueDate = DueDate.AddDays(15); // Entity'miz String olduğu için tekrar tip dönüşümü yapılır studentread.GivenDate = DueDate.ToString(); // Entitymizin Kitabın verilip verilmediğini isGiven değişkeni üzerinde saklanır // Kitap verildiği taktirde isGiven true olur. studentread.isGiven = true; // Gerekli mantıksal işlemler yapılması için LLStudentBookSave methoduna gönderilir. LogicStudentRead.LLStudentBookSave(studentread); MessageBox.Show("Kitap Verildi"); // Verilen kitapın alınıp alınmadığını tutan isBookAvailable özelliği ->Busy olarak değiştirilir. studentread.BookId.isBookAvailable = "Busy"; // Kitabın durumunu güncellemek için LLStudentBookUpdate methoduna gönderilir LogicStudentRead.LLStudentBookUpdate(studentread.BookId); MessageBox.Show("Kitap Durumu Güncellendi"); }
// Logic Layer ana form üzerinden erişilen bir katmandır ve gerekli mantıksal kontrollerin katman olarak geçer // Gerekli kontrolleri başarılı bir şekilde geçen Logic Methodlar Data Access Layerdan uygun methodu çağırarak programın çalışmasına devam edilir public static int LLStudentBookSave(StudentReadInfo studentread) { if (studentread.StudentId.StudentId.ToString() != "" && studentread.BookId.bookID.ToString() != "") { return(DALStudentRead.StudentBookSave(studentread)); } else { return(-1); } }
// Data Acceess Layer Logic Layer üzerinden erişilen bir katmandır ve SQL sorgularının çalıştırıldığı katman olarak geçer // CRUD CREATE READ UPDATE DELETE operasyonları bu katmanda yazılır public static int StudentBookSave(StudentReadInfo stdnread) { OleDbCommand komut2 = new OleDbCommand("insert into StudentReadInfoTable (StudentID, BookID, TakenDate, GivenDate, isGiven) values (@p1,@p2,@p3,@p4,@p5)", Connection.baglanti); if (komut2.Connection.State != ConnectionState.Open) { komut2.Connection.Open(); } komut2.Parameters.AddWithValue("@p1", stdnread.StudentId.StudentId); komut2.Parameters.AddWithValue("@p2", stdnread.BookId.bookID); komut2.Parameters.AddWithValue("@p3", Convert.ToDateTime(stdnread.TakenDate)); komut2.Parameters.AddWithValue("@p4", Convert.ToDateTime(stdnread.GivenDate)); komut2.Parameters.AddWithValue("@p5", Convert.ToBoolean(stdnread.isGiven)); return(komut2.ExecuteNonQuery()); }
private void BtnReleaseBook_Click(object sender, EventArgs e) { StudentReadInfo readInfo = new StudentReadInfo(); readInfo.StudentId = this.student; readInfo.BookId = DALBook.BookList().FirstOrDefault(n => n.bookName == cmbBookName.SelectedItem.ToString()); readInfo.TakenDate = dateTimePicker1.Value.Date.ToString(); DateTime d2 = Convert.ToDateTime(readInfo.TakenDate); d2 = d2.AddDays(15); readInfo.GivenDate = d2.ToString(); readInfo.BookId.isBookAvailable = "Available"; LogicStudentRead.LLStudentBookUpdate(readInfo.BookId); MessageBox.Show("Kitap Teslim Edildi Güncellendi"); }
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! BURAYA SON KEZ BAK !!!!!!!!!!!!!!!!!!!!!!!!!!!!! private void BtnTakeBook_Click(object sender, EventArgs e) { // Burada öğrencinin okuduğu kitaplar nesnesini üretiyoruz StudentReadInfo studentread = new StudentReadInfo(); // Üretilen nesnenin hangi öğrenci olduğunu Comboboxtan gelen veriyi StudentList içinde bulup seçtirilir studentread.StudentId = DALStudent.StudentList().FirstOrDefault(n => n.StudentName == comboBox1.SelectedItem.ToString()); // Üretilen nesnenin hangi kitap olduğunu Comboboxtan gelen veriyi BookList içinde bulup seçtirilir studentread.BookId = DALBook.BookList().FirstOrDefault(n => n.bookName == comboBox2.SelectedItem.ToString()); DateTime date = DateTime.Now; var shortDate = date.ToString("yyyy-MM-dd"); studentread.GivenDate = shortDate.ToString(); studentread.BookId.isBookAvailable = "Available"; LogicStudentRead.LLStudentBookUpdate(studentread.BookId); MessageBox.Show("Kitap Durumu Güncellendi"); }
private void BtnListBooks_Click(object sender, EventArgs e) { dataGridView1.Rows.Clear(); dataGridView1.Refresh(); StudentReadInfo studentread = new StudentReadInfo(); List <StudentReadInfo> degerler = DALStudentRead.StudentReadList().Where(n => n.StudentId.StudentName == student.StudentName).ToList(); dataGridView1.ColumnCount = 7; dataGridView1.Columns[0].Name = "Name"; dataGridView1.Columns[1].Name = "Book Name"; dataGridView1.Columns[2].Name = "Taken Date"; dataGridView1.Columns[3].Name = "Given Date"; dataGridView1.Columns[4].Name = "Is Given"; dataGridView1.Columns[5].Name = "Geçen Süre"; dataGridView1.Columns[6].Name = "Borç"; foreach (var item in degerler) { int Gecensüre = int.Parse(Convert.ToInt32((DateTime.Now - Convert.ToDateTime(item.TakenDate)).TotalDays).ToString()); int borç = 0; //borç = int.Parse(Convert.ToInt32((DateTime.Now - Convert.ToDateTime(item.GivenDate)).TotalDays).ToString()); if (Convert.ToDateTime(item.TakenDate).AddDays(15) < Convert.ToDateTime(item.GivenDate)) { double a = (Convert.ToDateTime(item.GivenDate) - Convert.ToDateTime(item.TakenDate).AddDays(15)).TotalDays; borç = (int)a; } int i = dataGridView1.Rows.Add(item.StudentId.StudentName, item.BookId.bookName, item.TakenDate, item.GivenDate, item.isGiven, Gecensüre, borç); if (Gecensüre >= 13 && Gecensüre < 15) { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Orange; } else { if (item.isGiven) { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Green; } else { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red; } } } }
private void BtnListBook_Click(object sender, EventArgs e) { // StudentReadInfo Öğrencilerin okuduğu kitapları tutan bir varlıktır. StudentReadInfo studentread = new StudentReadInfo(); // Yazılan LİNQ sorgusu StudentReadListesi üzerinde StudentName'i bizim Combobox'tan seçtiğimiz isme eşit olanları getiriyoruz // getirilen degerler generic list üzerinde daha sonra kullanmak için tutuyoruz List <StudentReadInfo> degerler = DALStudentRead.StudentReadList().Where(n => n.StudentId.StudentName == comboBox1.SelectedItem.ToString()).ToList(); dataGridView1.Rows.Clear(); dataGridView1.Refresh(); // Datagridin kaç tane alanı olacağını gösterir => | | | | | dataGridView1.ColumnCount = 6; dataGridView1.Columns[0].Name = "Name"; dataGridView1.Columns[1].Name = "Book Name"; dataGridView1.Columns[2].Name = "Taken Date"; dataGridView1.Columns[3].Name = "Given Date"; dataGridView1.Columns[4].Name = "Is Given"; dataGridView1.Columns[5].Name = "Geçen Süre"; foreach (var item in degerler) { //Gecen Süre bize kitabı aldığımız günden sonra kaç gün geçtiğini veriyor int Gecensüre = int.Parse(Convert.ToInt32((DateTime.Now - Convert.ToDateTime(item.TakenDate)).TotalDays).ToString()); int i = dataGridView1.Rows.Add(item.StudentId.StudentName, item.BookId.bookName, item.TakenDate, item.GivenDate, item.isGiven, Gecensüre); if (Gecensüre >= 13 && Gecensüre < 15) { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Orange; } else { if (item.isGiven) { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Green; } else { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red; } } } }