⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schedule.cs

📁 北大青鸟ACCP课程S2项目案例2影院售票系统
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Windows.Forms;

namespace CinemaTicket
{
    /// <summary>
    /// 放映计划类
    /// </summary>
    [Serializable]
    class Schedule
    {
        /// <summary>
        /// 放映场次属性
        /// </summary>
        private Dictionary<string, ScheduleItem> items;

        public Dictionary<string, ScheduleItem> Items
        {
            get { return items; }
            set { items = value; }
        }

        /// <summary>
        /// 构造函数
        /// </summary>
        public Schedule()
        {
            this.Items = new Dictionary<string, ScheduleItem>();
        }

        /// <summary>
        /// 读取XML文件,获取新电影列表
        /// </summary>
        /// <param name="tv"></param>
        public void LoadItems(TreeView tv)
        {
            Items.Clear();
            tv.Nodes.Clear();
            

            XmlDocument xdm = new XmlDocument();
            xdm.Load("ShowList.xml");
            XmlNode movie = xdm.DocumentElement;
           
            foreach (XmlNode node in movie.ChildNodes)
            {
                bool timevelus = false;

                //使用两个对象分别存入泛型集合
                ScheduleItem sdi = new ScheduleItem();
                ScheduleItem sdi1 = new ScheduleItem();


                TreeNode movietime = tv.Nodes.Add(node.FirstChild.InnerText);
                
                //为属性赋值
                foreach (XmlNode subNode in node.ChildNodes)
                {
                    
                    switch (subNode.Name)
                    {
                        case "Name":
                            sdi.Movie.MovieName = subNode.InnerText;
                            sdi1.Movie.MovieName = subNode.InnerText;
                            break;
                        case "Poster":
                            sdi.Movie.Poster = subNode.InnerText;
                            sdi1.Movie.Poster = subNode.InnerText;
                            break;
                        case "Director":
                            sdi.Movie.Director = subNode.InnerText;
                            sdi1.Movie.Director = subNode.InnerText;
                            break;
                        case "Actor":  
                            sdi.Movie.Actor = subNode.InnerText;
                            sdi1.Movie.Actor = subNode.InnerText;
                            break;
                        case "Type":
                            sdi.Movie.MovieType = (MovieType)(Enum.Parse(typeof(MovieType),subNode.InnerText));
                            sdi1.Movie.MovieType = (MovieType)(Enum.Parse(typeof(MovieType), subNode.InnerText));
                            break;
                        case "Price":
                            sdi.Movie.Price = int.Parse(subNode.InnerText);
                            sdi1.Movie.Price = int.Parse(subNode.InnerText);
                            break;  
                    }
                }

                //存入泛型
                foreach (XmlNode subNode in node.LastChild)
                {
                    //使用两个ScheduleItem对象分别存进泛型集合
                    movietime.Nodes.Add(subNode.InnerText);
                    if (timevelus == false)
                    {
                        sdi1.Time = subNode.InnerText;
                        Items.Add(sdi1.Time, sdi1);
                        timevelus = true;
                        continue;
                    }
                    
                    sdi.Time = subNode.InnerText;
                    
                    Items.Add(sdi.Time, sdi);
                }
            }  
            
        }






    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -