示例#1
0
        /// <summary>
        /// Add classification to a book.
        /// If nonexistant, add generic classification.
        /// </summary>
        public Classification AddClassification(Book book)
        {
            ClassificationManager classificationManager = new ClassificationManager();
            Classification        classification        = Mapper.Map <CLASSIFICATION, Classification>(_Repo.GetClassificationFromIsbn(Mapper.Map <Book, BOOK>(book)));

            if (classification == null)
            {
                return(classificationManager.AddGenericClassification());
            }
            return(classification);
        }
        public BookAuthorClassification Setup()
        {
            ClassificationManager    classificationManager    = new ClassificationManager();
            AuthorManager            authorManager            = new AuthorManager();
            BookAuthorClassification bookAuthorClassification = new BookAuthorClassification
            {
                Authors         = authorManager.GetAllAuthorsToList(),
                Classifications = classificationManager.GetAllClassifications()
            };

            return(bookAuthorClassification);
        }
示例#3
0
        public Tuple <Book, BookValidation> CreateBook(BookAuthorClassification bookAuthorClassification, string[] authorChecklist, int?classificationRadio)
        {
            AuthorManager         authorManager         = new AuthorManager();
            ClassificationManager classificationManager = new ClassificationManager();
            Book book = bookAuthorClassification.Book;

            book.Authors = new List <Author>();
            if (classificationRadio == null) //Add the Generic classification if no classification was selected in in the form.
            {
                book.Classification = classificationManager.AddGenericClassification();
                book.SignId         = book.Classification.SignId;
            }
            else
            {
                book.Classification = classificationManager.GetClassificationFromID(Convert.ToInt32(classificationRadio));
                book.SignId         = book.Classification.SignId;
            }
            if (authorChecklist != null)
            {
                foreach (string aId in authorChecklist)
                {
                    book.Authors.Add(authorManager.GetAuthorFromID(Convert.ToInt32(aId)));
                }
            }
            BookValidation validation = new BookValidation(book);

            if (_Repo.DoesBookExist(book.ISBN))
            {
                validation.DoesAlreadyExistOnServer(nameof(book.ISBN));
            }
            else if (validation.IsValid)
            {
                BOOK repoBOOK = _Repo.CreateBook(Mapper.Map <Book, BOOK>(book));
                if (repoBOOK == null)
                {
                    validation.FailedToCreateBook(nameof(book.Title));
                }
                else
                {
                    Book newBook = Mapper.Map <Book>(repoBOOK);
                    if (newBook != null)
                    {
                        return(new Tuple <Book, BookValidation>(newBook, validation));
                    }
                    validation.FailedToCreateBook(nameof(book.Title));
                }
            }
            return(new Tuple <Book, BookValidation>(null, validation));
        }