Exemplo n.º 1
0
 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)
     {
     }
 }
Exemplo n.º 2
0
        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)
            {
            }
        }