private bool CheckLimitations(BJBookInfo book, ReaderInfo reader) { if (reader.IsFiveElBooksIssued()) { Panel1.Visible = true; Label1.Text = "Нельзя взять более пяти электронных книг. Сдайте в личном кабинете любую электронную книгу и попробуйте снова."; HyperLink1.NavigateUrl = @"https://catalog.libfl.ru/Record/" + book.Fund + "_" + book.ID; return(true); } if (book.Exemplars.Count - book.GetBusyElectronicExemplarCount() <= 0) { if ((book.Exemplars.Count == 0) && (book.IsExistsDigitalCopy)) { //если сюда попали, то значит есть только электронная копия. текущий код выдаёт сколько хочешь раз. как надо пока непонятно return(false); } Panel1.Visible = true; Label1.Text = "Все экземпляры выданы. Нельзя выдать электронных экземпляров больше чем бумажных, так как это нарушит авторское право." + " Ближайшая свободная дата " + book.GetNearestFreeDateForElectronicIssue().ToString("dd.MM.yyyy") + ". Попробуйте заказать в указанную дату."; HyperLink1.NavigateUrl = @"https://catalog.libfl.ru/Record/" + book.Fund + "_" + book.ID; return(true); } if (!book.IsOneDayPastAfterReturn(reader.NumberReader)) { Panel1.Visible = true; Label1.Text = "Вы не можете заказать эту электронную копию, поскольку запрещено заказывать ту же копию, если не прошли сутки с момента её возврата. Попробуйте на следующий день."; HyperLink1.NavigateUrl = @"https://catalog.libfl.ru/Record/" + book.Fund + "_" + book.ID; return(true); } return(false); }