Пример #1
0
        public ScannedPageFacadeTest()
        {
            _scannedPageMapper = new ScannedPageMapper();

            _fixture = new Fixture();
            _fixture.Behaviors.Remove(new ThrowingRecursionBehavior());
            _fixture.Behaviors.Add(new OmitOnRecursionBehavior());
            _fixture.Customizations.Add(new TypeRelay(typeof(Item), typeof(Book)));
            _fixture.Customizations.Add(new TypeRelay(typeof(ItemBusinessModel), typeof(BookBusinessModel)));

            _scannedPage = _fixture.Create <ScannedPage>();
            _scannedPageBusinessModel = _fixture.Create <ScannedPageBusinessModel>();

            _readerBusinessModel = _fixture.Create <ReaderBusinessModel>();
            ReaderMapper readerMapper = new ReaderMapper();

            _reader = readerMapper.Map(_readerBusinessModel);

            _itemBusinessModel = _fixture.Create <ItemBusinessModel>();
            ItemMapper itemMapper = new ItemMapper();

            _item = itemMapper.Map(_itemBusinessModel);

            this.uow = Initializer.GetLibraryUow();
            uow.ScannedPages.Add(this._scannedPage);
            uow.Readers.Add(this._reader);
            uow.Items.Add(this._item);
            this._scannedPageFacade = new ScannedPageFacade(uow);
        }
Пример #2
0
        public void ScannedPageModelToEntityMappingIsNullTest()
        {
            _scannedPageBusinessModel = null;
            var result = _scannedPageMapper.Map(_scannedPageBusinessModel);

            Assert.IsNull(result);
        }
Пример #3
0
        //[Authorize(Roles = "Admin, Librarian, Registered")]
        //public ActionResult Add()
        //{
        //    return View();
        //}

        //public ActionResult CreateOrder(int Id)
        //{
        //    Session["bookId"] = Id;
        //    return View();
        //}

        //[HttpPost]
        //public string CreateOrder(int bookId, ScannedPageBusinessModel scannedPage)
        //{
        //    int readerId;

        //    try
        //    {
        //        bookId = bookManager.GetBookById(bookId).Id;
        //        readerId = readerManager.GetReaderByUserId(WebSecurity.CurrentUserId).ReaderId;
        //    }
        //    catch
        //    {
        //        return "You must be Reader in order to reserve books";
        //    }

        //    return this.scannedPageManager.ScanPages((int)readerId, bookId, scannedPage);

        //}


        public ActionResult CreateOrder(int Id)
        {
            ItemBusinessModel        item       = this.itemManager.GetItemById(Id);
            ScannedPageBusinessModel mySkanPage = new ScannedPageBusinessModel();

            mySkanPage.Item      = item;
            mySkanPage.OrderText = "{start page}-{end page}(count copies); \n For example: \n{1}-{3}(1);\n{11}-{13}(1);";
            return(View(mySkanPage));
        }
Пример #4
0
        public ActionResult Edit(int id)
        {
            ScannedPageBusinessModel scannedPage = this.scannedPageManager.GetScannedPageById(id);

            if (scannedPage == null)
            {
                return(this.HttpNotFound());
            }
            return(View(scannedPage));
        }
Пример #5
0
        public ActionResult Edit(ScannedPageBusinessModel model)
        {
            var scannedPage = this.scannedPageManager.GetScannedPageById(model.Id);

            scannedPage.IsLocked  = model.IsLocked;
            scannedPage.IsReady   = model.IsReady;
            scannedPage.OrderText = model.OrderText;
            scannedPage.OrderDate = model.OrderDate;
            scannedPage.Message   = model.Message;
            this.scannedPageManager.UpdateScannedPage(scannedPage);
            return(RedirectToAction("Index"));
        }
        public HttpResponseMessage Edit([FromBody] ScannedPageBusinessModel model)
        {
            var scannedPage = this.scannedPageManager.GetScannedPageById(model.Id);

            scannedPage.IsLocked  = model.IsLocked;
            scannedPage.IsReady   = model.IsReady;
            scannedPage.OrderText = model.OrderText;
            //scannedPage.OrderDate = model.OrderDate;
            scannedPage.Message = model.Message;
            this.scannedPageManager.UpdateScannedPage(scannedPage);
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Пример #7
0
        public void CreateScanPages(ScannedPageBusinessModel scannedPage)
        {
            var reader = this.uow.Readers.GetById(scannedPage.Reader.ReaderId);
            var item   = this.uow.Items.GetById(scannedPage.Item.Id);

            this.uow.ScannedPages.Add(new ScannedPage
            {
                Reader    = reader,
                Item      = item,
                IsLocked  = false,
                IsReady   = false,
                OrderDate = DateTime.Now,
                OrderText = scannedPage.OrderText
            });

            this.uow.Commit();
        }
Пример #8
0
        public void UpdateScannedPage(ScannedPageBusinessModel scannedPage)
        {
            ScannedPage editScannedPage = uow.ScannedPages.GetById(scannedPage.Id);

            editScannedPage.Item.Id         = scannedPage.Item.Id;
            editScannedPage.Reader.ReaderId = scannedPage.Reader.ReaderId;
            editScannedPage.OrderText       = scannedPage.OrderText;
            editScannedPage.IsLocked        = scannedPage.IsLocked;
            editScannedPage.IsReady         = scannedPage.IsReady;
            if (scannedPage.IsReady)
            {
                editScannedPage.ExecutionDate = DateTime.Now;
            }
            editScannedPage.Message = scannedPage.Message;
            uow.ScannedPages.Update(editScannedPage);
            uow.Commit();
        }
Пример #9
0
        public string ScanPages(int readerId, int itemId, ScannedPageBusinessModel scannedPage)
        {
            //const int LimitReservedBooks = 3;

            var reader = this.uow.Readers.GetById(readerId);

            var item = this.uow.Items.GetById(itemId);

            #region test
            //var book = bookId;

            //var allReservedBooksCount = this.uow.ReservedBooks.GetAll().Count(r => r.Reader.ReaderId == readerId);

            //if (allReservedBooksCount >= LimitReservedBooks)
            //{
            //    return string.Format("Sorry, you can reserve no more than {0} books", LimitReservedBooks);
            //}

            //var currentBook =
            //    this.uow.ReservedBooks.GetAll()
            //        .Where(r => (r.Reader.ReaderId == readerId) && (r.Book.Id == bookId))
            //        .ToList();

            //if (currentBook.Count != 0)
            //{
            //    return "This book is already reserved by you";
            //}
            #endregion

            this.uow.ScannedPages.Add(new ScannedPage
            {
                Reader    = reader,
                Item      = item,
                IsLocked  = false,
                IsReady   = false,
                OrderDate = DateTime.Now,
                OrderText = scannedPage.OrderText
            });

            this.uow.Commit();

            return("Successfully reserved");
        }
Пример #10
0
        public ActionResult CreateOrder(int Id, ScannedPageBusinessModel scannedPage)
        {
            try
            {
                var reader = this.readerManager.GetReaderByUserId(WebSecurity.CurrentUserId);
                var item   = this.itemManager.GetItemById(Id);

                scannedPage.Reader = reader;
                scannedPage.Item   = item;

                //this.scannedPageManager.ScanPages(readerId, Id, scannedPage);
                this.scannedPageManager.CreateScanPages(scannedPage);
            }
            catch
            {
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Index"));
        }
Пример #11
0
        public ScannedPageMapperTests()
        {
            this._scannedPageMapper = new ScannedPageMapper();

            Fixture fixture = new Fixture {
                RepeatCount = 1
            };

            fixture.Behaviors.Remove(new ThrowingRecursionBehavior());
            fixture.Behaviors.Add(new OmitOnRecursionBehavior());
            fixture.Customizations.Add(new TypeRelay(typeof(Item), typeof(Book)));
            fixture.Customizations.Add(new TypeRelay(typeof(ItemBusinessModel), typeof(BookBusinessModel)));

            Reader       reader       = fixture.Create <Reader>();
            ReaderMapper readerMapper = new ReaderMapper();
            var          readerModel  = readerMapper.Map(reader);

            var item       = fixture.Create <Item>();
            var itemMapper = new ItemMapper();
            var itemModel  = itemMapper.Map(item);

            _scannedPage = fixture.Create <ScannedPage>();
            _scannedPageBusinessModel = fixture.Create <ScannedPageBusinessModel>();
        }
Пример #12
0
 public void CreateScanPages(ScannedPageBusinessModel scannedPage)
 {
     this.scannedPageFacade.CreateScanPages(scannedPage);
 }
Пример #13
0
 public string ScanPages(int readerId, int bookId, ScannedPageBusinessModel scannedPage)
 {
     return(this.scannedPageFacade.ScanPages(readerId, bookId, scannedPage));
 }
Пример #14
0
 public void UpdateScannedPage(ScannedPageBusinessModel scannedPage)
 {
     this.scannedPageFacade.UpdateScannedPage(scannedPage);
 }