protected void Page_Load(object sender, EventArgs e) { string IDMAIN = Request["pin"]; string IDBASE = Request["idbase"]; string IDReader = Request.QueryString["idreader"]; if (IDReader == null) { IDReader = User.Identity.Name; //Response.Write("User.Identity.Name " + IDReader); if (IDReader == string.Empty) { Response.Write("Неизвестная ошибка"); return; } } //else //{ // Response.Write("Request" + IDReader); //} //string vkey = Request["vkey"]; string BaseName = (IDBASE == "1") ? "BJVVV" : "REDKOSTJ"; ReaderInfo readerAPI = ReaderInfo.GetReader(int.Parse(IDReader)); ExemplarLoader loader = new ExemplarLoader(BaseName); DataProviderAPI.ValueObjects.ElectronicExemplarInfoAPI exemplar = loader.GetElectronicExemplarInfo(BaseName + "_" + IDMAIN); if (exemplar.ForAllReader)//открытый БЕЗ авторского права { RedirectToNewViewer(IDMAIN, true, "", IDReader); } else //ЗАКРЫТЫЕ АВТОРСКИМ ПРАВОМ { BJBookInfo book = BJBookInfo.GetBookInfoByPIN(int.Parse(IDMAIN), BaseName); ReaderInfo reader = ReaderInfo.GetReader(int.Parse(IDReader)); if (!book.IsElectronicCopyIssued())//если книга не выдана никому, то проверяем ограничения, потом неявно выдаём и перенаправляем на вьювер { if (CheckLimitations(book, reader)) { return; } book.IssueElectronicCopyToReader(reader.NumberReader); string ViewKey = book.GetElectronicViewKeyForReader(reader.NumberReader); RedirectToNewViewer(IDMAIN, false, ViewKey, IDReader); } else { if (!book.IsElectronicCopyIsuuedToReader(reader.NumberReader))//если этому читателю не выдана эта книга, то проверяем ограничения { if (CheckLimitations(book, reader)) { return; } //если ограничения не сработали, то выдаём и перенаправляем book.IssueElectronicCopyToReader(reader.NumberReader); string ViewKey = book.GetElectronicViewKeyForReader(reader.NumberReader); RedirectToNewViewer(IDMAIN, false, ViewKey, IDReader); } else//если этому читателю выдана эта книга { string ViewKey = book.GetElectronicViewKeyForReader(reader.NumberReader); RedirectToNewViewer(IDMAIN, false, ViewKey, IDReader); } } } }