Пример #1
0
        private BookRecDTO ParseBookRec(XmlReader reader)
        {
            BookRecDTO result = new BookRecDTO();

            string idPlusPrefix = reader.GetAttribute("id");

            result.Id = GetId(idPlusPrefix);

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    HandleElementNode(reader, result);
                }
                else
                {
                    if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "book")
                    {
                        break; // Exit while loop.
                    }
                }
            }

            return(result);
        }
Пример #2
0
        private void HandleElementNode(XmlReader reader, BookRecDTO bookRec)
        {
            switch (reader.Name)
            {
            case "author": bookRec.Author = GetElementValue(reader); break;

            case "title": bookRec.Title = GetElementValue(reader); break;

            case "genre": bookRec.Genre = GetElementValue(reader); break;

            //case "genre":
            //    {
            //        string genre = GetElementValue(reader);
            //        genre = genre.Replace(" ", "");
            //        bookRec.Genre = (Genre)Enum.Parse(typeof(Genre), genre);
            //        break;
            //    }

            case "price": bookRec.Price = Decimal.Parse(GetElementValue(reader)); break;

            case "publish_date": bookRec.PublishDate = DateTime.Parse(GetElementValue(reader)); break;

            case "description":
            {
                string description = GetElementValue(reader);
                bookRec.Description = Regex.Replace(description, @"\s+", " ");
                break;
            }

            default:
                break;
            }
        }
Пример #3
0
#pragma warning restore 67, CS0535


        public BookReadOnly(BookRecDTO bookRec)
        {
            Id          = bookRec.Id;
            Author      = bookRec.Author;
            Title       = bookRec.Title;
            Genre       = bookRec.Genre;
            Price       = bookRec.Price;
            PublishDate = bookRec.PublishDate;
            Description = bookRec.Description;
        }