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) { } }