示例#1
0
    /// <summary>
    /// Add a new book
    /// </summary>
    /// <param name="isbn"></param>
    /// <param name="sPublisherNumber"></param>
    /// <param name="sPublisherName"></param>
    /// <param name="sBookTitle"></param>
    /// <param name="BindingTypeNumber"></param>
    /// <returns></returns>
    public Book AddBook(string isbn, string sPublisherNumber, string sPublisherName, string sBookTitle, string BindingTypeNumber = "")
    {
        SDSPortalApplication app = new SDSPortalApplication();
        Book _book = new Book();

        _book.DATE_ADDED = DateTime.Now;
        _book.BOOK_IDENTIFICATION_TYPE = "ISBN";
        _book.BOOK_NUMBER              = isbn;
        _book.PUBLISHER_NUMBER         = sPublisherNumber;
        _book.PUBLISHER_NAME           = sPublisherName;
        _book.DATE_ADDED               = DateTime.Now;
        _book.BOOK_IDENTIFICATION_TYPE = "ISBN";
        _book.BOOK_TITLE               = sBookTitle;
        _book.BINDING_TYPE_NUMBER      = BindingTypeNumber;

        using (SDSEntities objSDS = new SDSEntities())
        {
            SDS_BOOK objBook = (from B in objSDS.SDS_BOOK
                                where B.BOOK_NUMBER == _book.BOOK_NUMBER && B.PUBLISHER_NUMBER == _book.PUBLISHER_NUMBER
                                select B).FirstOrDefault();
            if (objBook == null)
            {
                LogWriter.LogWriter.WriteEntry("Publisher Numbers :" + sPublisherNumber);
                _book.Add(app.SDSConnection);
            }
            else
            {
                _book.BOOK_ID = objBook.BOOK_ID;
            }
        }
        return(_book);
    }
示例#2
0
    /// <summary>
    /// Inser authors to a book instance
    /// </summary>
    /// <param name="bookInstanceID"></param>
    /// <param name="authors"></param>
    public void AddAuthors(decimal bookInstanceID, string authors)
    {
        SDSPortalApplication app     = new SDSPortalApplication();
        BookAuthor           _author = new BookAuthor();

        _author.DATE_ADDED = DateTime.Now;

        string[] Authors = authors.TrimEnd(',').Split(',');

        using (SDSEntities objSDS = new SDSEntities())
        {
            foreach (String sAuthor in Authors)
            {
                SDS_BOOK_AUTHOR objAuthor = new SDS_BOOK_AUTHOR();
                objAuthor.BOOK_INSTANCE_ID = long.Parse(bookInstanceID.ToString());
                objAuthor.AUTHOR_NAME      = sAuthor;
                objAuthor.DATE_ADDED       = DateTime.Now;
                objAuthor.DATE_UPDATED     = DateTime.Now;
                objSDS.SDS_BOOK_AUTHOR.AddObject(objAuthor);
                objSDS.SaveChanges();
            }
        }
    }
示例#3
0
    /// <summary>
    /// Alter a SIX file
    /// </summary>
    /// <param name="xml"></param>
    /// <param name="productId"></param>
    /// <param name="hasColor"></param>
    /// <param name="totalPages"></param>
    /// <returns></returns>
    public string AlterSIX(string xml, decimal productId, string hasColor, string totalPages)
    {
        using (var context = new SDSEntities())
        {
            try
            {
                var    document      = new XmlDocument();
                int    counter       = 0;
                byte[] encodedString = Encoding.UTF8.GetBytes(xml);

                // Put the byte array into a stream and rewind it to the beginning
                var ms = new MemoryStream(encodedString);
                ms.Flush();
                ms.Position = 0;
                document.Load(ms);

                var files = context.SDS_PRODUCT_FILE.Where(x => x.PRODUCT_ID == productId).ToList();

                var tempList = files.Where(x => x.FILE_PATH.ToLower().Contains("text")).ToList();
                var node     = document.SelectSingleNode("//SIX/PRODUCT/BOOK/BOOK_INNER_WORK/BOOK_INNER_WORK_ITEM");
                node.ParentNode.RemoveAll();

                var innerNode = document.SelectSingleNode("//SIX/PRODUCT/BOOK/BOOK_INNER_WORK");
                foreach (var item in tempList)
                {
                    counter++;
                    var innerItem = document.CreateElement("BOOK_INNER_WORK_ITEM");
                    innerNode.AppendChild(innerItem);

                    node           = document.CreateElement("SEQUENCE_NUMBER");
                    node.InnerText = counter.ToString();
                    innerItem.AppendChild(node);

                    node           = document.CreateElement("ITEM_TYPE");
                    node.InnerText = Path.GetExtension(Path.Combine(item.FILE_PATH + "\\", item.FILE_NAME)).Replace(".", "").ToUpper();
                    innerItem.AppendChild(node);

                    node           = document.CreateElement("ITEM_FILE_NAME");
                    node.InnerText = item.FILE_NAME;
                    innerItem.AppendChild(node);

                    node = document.CreateElement("ITEM_PAGE_FIRST");
                    innerItem.AppendChild(node);

                    node = document.CreateElement("ITEM_PAGE_LAST");
                    innerItem.AppendChild(node);

                    node           = document.CreateElement("INNER_PAGE_COLOR");
                    node.InnerText = hasColor.ToLower();
                    innerItem.AppendChild(node);

                    node           = document.CreateElement("ITEM_NUMBER_OF_PAGES");
                    node.InnerText = totalPages;
                    innerItem.AppendChild(node);

                    node           = document.CreateElement("ITEM_NUMBER_OF_COLOR_PAGES");
                    node.InnerText = "0";
                    innerItem.AppendChild(node);
                }

                counter  = 0;
                tempList = files.Where(x => x.FILE_PATH.ToLower().Contains("cover")).ToList();

                if (tempList.Any())
                {
                    node = document.SelectSingleNode("//SIX/PRODUCT/BOOK/BOOK_COVER/BOOK_COVER_ITEM");
                    node.ParentNode.RemoveAll();

                    var coverNode = document.SelectSingleNode("//SIX/PRODUCT/BOOK/BOOK_COVER");
                    foreach (var item in tempList)
                    {
                        counter++;
                        var coverItem = document.CreateElement("BOOK_COVER_ITEM");
                        coverNode.AppendChild(coverItem);

                        node           = document.CreateElement("SEQUENCE_NUMBER");
                        node.InnerText = counter.ToString();
                        coverItem.AppendChild(node);

                        node           = document.CreateElement("ITEM_FILE_NAME");
                        node.InnerText = item.FILE_NAME;
                        coverItem.AppendChild(node);

                        node = document.CreateElement("ITEM_NUMBER_OF_PAGES");
                        coverItem.AppendChild(node);

                        node           = document.CreateElement("ITEM_NUMBER_OF_COLOR_PAGES");
                        node.InnerText = "0";
                        coverItem.AppendChild(node);

                        node           = document.CreateElement("OUTER_ITEM_NUMBER_OF_COLORS");
                        node.InnerText = "0";
                        coverItem.AppendChild(node);

                        node           = document.CreateElement("INNER_ITEM_NUMBER_OF_COLORS");
                        node.InnerText = "0";
                        coverItem.AppendChild(node);
                    }
                }

                return(document.InnerXml);
            }
            catch (Exception ex)
            {
                LogWriter.LogWriter.WriteEntry("Six file could not be altered");
                LogWriter.LogWriter.WriteEntry(ex.Message);
                return(xml);
            }
        }
    }