Ejemplo n.º 1
0
        public SaveBookResult Save(BookCopyViewModel viewModel, UserSessionObject user)
        {
            var result = new SaveBookResult();

            BookCopyDomainModelBuilder builder = BuilderResolverService.Get <BookCopyDomainModelBuilder, BookCopyViewModel>(viewModel);

            Constructor.ConstructDomainModelData(builder);
            BookCopyData domainModel = builder.GetDataModel();

            if (viewModel.Id == 0)
            {
                domainModel.RefUserCreatedBy = user.UserId;
            }

            int id = BookCopyRepository.SaveData(domainModel);

            if (id != 0)
            {
                BookViewModel bookViewModel = Get(viewModel.BookId);
                bookViewModel.NumOfAvailableCopies = bookViewModel.NumOfAvailableCopies + 1;
                SaveBookResult updateResult = Save(bookViewModel, user);

                if (updateResult.Success)
                {
                    result = new SaveBookResult(id, viewModel.BookAuthorAndTitle,
                                                "Successfully added copy of book " + viewModel.BookAuthorAndTitle);
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public SaveEBookResult SaveAndIndex(EBookCreateViewModel viewModel, string filePath, UserSessionObject user)
        {
            var           result            = new SaveEBookResult();
            BookViewModel completeViewModel = new BookViewModel(viewModel, user);

            SaveBookResult saveBook = BookService.Save(completeViewModel, user);

            if (saveBook.Success)
            {
                completeViewModel.Id = saveBook.Id;

                if (IndexEBook(completeViewModel, filePath))
                {
                    result = new SaveEBookResult(saveBook.Id, saveBook.Name);
                }
                else
                {
                    result.Success = false;
                    result.Message = "Error while indexing e-book.";

                    BookService.Delete(saveBook.Id, user); // rollback transaction
                }
            }
            else
            {
                result.Success = false;
                result.Message = saveBook.Message;
            }

            return(result);
        }
Ejemplo n.º 3
0
        public JsonResult Save(BookViewModel viewModel)
        {
            UserSessionObject  user       = Session.GetUser();
            JsonResult         response   = (JsonResult)RouteData.Values["validation"];
            ValidationResponse validation = (ValidationResponse)response.Data;

            if (validation.Success)
            {
                SaveBookResult result = BookService.Save(viewModel, user);
                response.Data = result;
            }

            return(response);
        }
Ejemplo n.º 4
0
        private SaveBookResult UpdateCopyAndBook(int copyId, UserSessionObject user)
        {
            var result = new SaveBookResult();

            BookCopyViewModel bookCopyData = BookService.GetCopy(copyId);

            bookCopyData.Available = false;

            result = BookService.SaveOnly(bookCopyData, user);

            if (result.Success)
            {
                BookViewModel bookData = BookService.Get(bookCopyData.BookId);
                bookData.NumOfAvailableCopies = bookData.NumOfAvailableCopies - 1;

                result = BookService.Save(bookData, user);
            }

            return(result);
        }
Ejemplo n.º 5
0
        public SaveBookResult Save(BookViewModel viewModel, UserSessionObject user)
        {
            var result = new SaveBookResult();

            BookDomainModelBuilder builder = BuilderResolverService.Get <BookDomainModelBuilder, BookViewModel>(viewModel);

            Constructor.ConstructDomainModelData(builder);
            BookData domainModel = builder.GetDataModel();

            if (viewModel.Id == 0)
            {
                domainModel.RefUserCreatedBy = user.UserId;
            }

            int id = BookRepository.SaveData(domainModel);

            if (id != 0)
            {
                result = new SaveBookResult(id, domainModel.BookAuthorAndTitle);
            }

            return(result);
        }