private void btnReserve_Click(object sender, EventArgs e) { try { string Selected = ""; Guid codeBook = new Guid(); var user = membersRepo.FindUserByUserName(lblUser.Text); Int32 cnt = dataGridOfBooks.Columns.GetColumnCount(DataGridViewElementStates.Displayed); if (cnt < 6) { MessageBox.Show("کتاب را از قسمت درستی انتخاب نمایید", "خطا"); } else { foreach (DataGridViewRow item in dataGridOfBooks.SelectedRows) { Selected = item.Cells[5].Value.ToString(); } } if (dataGridOfBooks.SelectedRows.Count == 0) { MessageBox.Show("کتابی جهت رزرو ثبت نشده است. لطفا روی خط رکورد کتاب دلخواه خود کلیک نمایید و سپس دکمه تایید را فشار دهید ", "هشدار"); } else if (reservationRepo.NumberOfReservations(user.NationalCode) == 2) { MessageBox.Show("حد مجاز رزرو 2 کتاب می باشد", "اخطار"); } else if (reservationRepo.CheckIfReservationIsRepeating(user.NationalCode, codeBook)) { MessageBox.Show("شما این کتاب را قبلا رزرو نموده اید", "هشدار"); } else { var EndTime = DateTime.Now; codeBook = Guid.Parse(Selected); EndTime = new DateTime(EndTime.Year, EndTime.Month, EndTime.Day + 15); reservation = new Reservations() { ReservedTime = DateTime.Now, nationalCode = user.NationalCode, ReservationState = 0, BookCode = codeBook }; reservationRepo.AddToReserved(reservation); booksRepo.ChangeBookState(codeBook, 1); MessageBox.Show("رزرو شما ثبت گردید"); } } catch (Exception) { } }
private void btnBorrow_Click(object sender, EventArgs e) { try { var userNationalCode = txtNationalCode.Text.Replace(" ", ""); Members member = membersRepo.FindUserByNationalCode(userNationalCode); if (member == null) { MessageBox.Show("عضوی با این کد ملی یافت نشد", "خطا"); } if (dataGridStorageOfBooks.SelectedRows.Count != 1 || userNationalCode == "") { MessageBox.Show("لطفا کتاب و کاربر را انتخاب کنید", "خطا"); } else { string Selected = ""; var deadLine = DateTime.Now; var lastDayOfMonth = DateTime.DaysInMonth(deadLine.Year, deadLine.Month); if (deadLine.Day + 15 > lastDayOfMonth) { deadLine = new DateTime(deadLine.Year, deadLine.Month + 1, 15 - (lastDayOfMonth - deadLine.Day)); } else { deadLine = new DateTime(deadLine.Year, deadLine.Month, deadLine.Day + 15); } Guid codeBook = new Guid(); foreach (DataGridViewRow item in dataGridStorageOfBooks.SelectedRows) { Selected = item.Cells[6].Value.ToString(); } codeBook = Guid.Parse(Selected); Books book = booksRepo.FindBookByCode(codeBook); if (book.BookState == 2 && member != null && book.BookCondition == 0) { borrowed = new Borrowed() { BookCode = codeBook, MemberId = member.MemberId, TimeOfBorrow = DateTime.Now, DeadLineForBorrow = deadLine }; borrowedRepo.AddToBorrowed(borrowed); booksRepo.ChangeBookState(codeBook, 0); MessageBox.Show("کتاب با موفقیت ثبت شد", "Success"); } else if (book.BookState == 0) { MessageBox.Show("این کتاب در امانت شخص دیگری می باشد"); } else if (book.BookCondition != 0) { MessageBox.Show("این کتاب قابل امانت نمی باشد"); } else if (book.BookState == 1) { bool check = reservationRepo.CheckIfBookIsReservedByUser(member.NationalCode, codeBook); if (check) { borrowed = new Borrowed() { BookCode = codeBook, MemberId = member.MemberId, TimeOfBorrow = DateTime.Now, DeadLineForBorrow = deadLine }; borrowedRepo.AddToBorrowed(borrowed); booksRepo.ChangeBookState(codeBook, 0); MessageBox.Show("کتاب با موفقیت ثبت شد", "Success"); } else { MessageBox.Show("این کتاب قبلا توسط شخص دیگری رزرو شده است"); } } } } catch (Exception) { } }