Exemplo n.º 1
0
        public async Task <Response> UpdateBookProcess(Book book, List <Author> authors, List <string> images, int cateID,
                                                       int formID, int supplierID, int publisherID)
        {
            try
            {
                var res = await bookBal.Update(book);

                if (res.Status)
                {
                    await bookBal.DeleteAllAuthorsBook(book.Id);

                    await bookBal.DeleteAllCategoryBook(book.Id);

                    await bookBal.DeleteAllFormBook(book.Id);

                    await bookBal.DeleteAllImagesBook(book.Id);

                    await bookBal.DeleteAllPublisherBook(book.Id);

                    await bookBal.DeleteAllSupplierBook(book.Id);

                    foreach (var author in authors)
                    {
                        var response = await authorBal.InsertAuthor(author);

                        await bookBal.InsertAuthorsBook(book.Id, (response.Obj as Author).Id);
                    }

                    for (int i = 0; i < images.Count; i++)
                    {
                        await bookBal.InsertImagesBook(book.Id, i + 1, images[i]);
                    }

                    await bookBal.InsertCategoryBook(book.Id, cateID);

                    await bookBal.InsertFormBook(book.Id, formID);

                    await bookBal.InsertSupplierrBook(book.Id, supplierID);

                    await bookBal.InsertPublisherBook(book.Id, publisherID);

                    return(new Response("Success", true, 1, book));
                }
                else
                {
                    return(res);
                }
            }
            catch (Exception e)
            {
                return(Response.CatchError(e.Message));
            }
        }