Exemple #1
0
        public Movie MovieEdit(string FileName, string ToEdit)
        {
            XmlDocument doc = new XmlDocument();
            Movie       m   = new Movie();

            doc.Load(FileName + ".xml");
            foreach (XmlNode node in doc.SelectNodes("ArrayOfMovie/Movie"))
            {
                if (node.SelectSingleNode("Title").InnerText == ToEdit)
                {
                    m.ID       = node.SelectSingleNode("ID").InnerText;
                    m.Title    = node.SelectSingleNode("Title").InnerText;
                    m.Director = node.SelectSingleNode("Director").InnerText;
                    m.Year     = node.SelectSingleNode("Year").InnerText;
                    m.Rating   = node.SelectSingleNode("Rating").InnerText.ToString();
                    List <Genree> List   = new List <Genree>();
                    XmlNodeList   Genres = node.SelectNodes("Genres/Genree");
                    for (int k = 0; k < Genres.Count; k++)
                    {
                        Genree list = new Genree(Genres[k].InnerText);
                        List.Add(list);
                    }
                    m.Genres = List;
                }
            }
            return(m);
        }
Exemple #2
0
        private void Save_Btn_Click(object sender, EventArgs e)
        {
            List <Genree> List = new List <Genree>();

            for (int k = 0; k < Genree_lst.CheckedItems.Count; k++)
            {
                Genree list = new Genree(Genree_lst.CheckedItems[k].ToString());
                List.Add(list);
            }
            moVie.Save_Movie(FileNA_TXT.Text, EMovieTitle_txt.Text, ID_txt.Text, Title_txt.Text, Director_txt.Text, Year_cmbo.SelectedItem.ToString(), Rating_combo.SelectedItem.ToString(), List);
            MessageBox.Show("Edited Successfully :)", "Message", MessageBoxButtons.OK, MessageBoxIcon.None);
            FileNA_TXT.Clear();
            EMovieTitle_txt.Clear();
            ID_txt.Clear();
            Title_txt.Clear();
            Director_txt.Clear();
            Year_cmbo.Text    = "";
            Rating_combo.Text = "";
            bool state = false;

            for (int i = 0; i < Genree_lst.Items.Count; i++)
            {
                Genree_lst.SetItemCheckState(i, (state ? CheckState.Checked : CheckState.Unchecked));
            }
        }
Exemple #3
0
        public List <Movie> YearSearch(string Year)
        {
            Movie         m;
            List <Movie>  movies      = new List <Movie>();
            List <Genree> Genrevalue  = new List <Genree>();
            bool          recordFound = false;
            string        fileName    = "Main.xml";
            XmlDocument   doc         = new XmlDocument();

            doc.Load(fileName);

            XmlNodeList list = doc.GetElementsByTagName("Movie");

            for (int i = 0; i < list.Count; i++)
            {
                Genrevalue = new List <Genree>();
                m          = new Movie();
                XmlNodeList childrens = list[i].ChildNodes;

                if (childrens[2].InnerText == Year)
                {
                    recordFound = true;

                    string      IDval         = childrens[0].InnerText;
                    string      Titleval      = childrens[1].InnerText;
                    string      Yearval       = childrens[2].InnerText;
                    string      Directorval   = childrens[3].InnerText;
                    string      Ratingval     = childrens[4].InnerText;
                    string      Posterval     = childrens[6].InnerText;
                    XmlNodeList GenreChildren = childrens[5].ChildNodes;
                    for (int j = 0; j < GenreChildren.Count; j++)
                    {
                        Genree genre = new Genree(GenreChildren[j].InnerText);
                        Genrevalue.Add(genre);
                    }
                    m.ID       = IDval;
                    m.Title    = Titleval;
                    m.Year     = Yearval;
                    m.Rating   = Ratingval;
                    m.Poster   = Posterval;
                    m.Director = Directorval;
                    m.Genres   = Genrevalue;
                    movies.Add(m);
                }
                else
                {
                    continue;
                }
            }
            if (recordFound)
            {
                return(movies);
            }
            else
            {
                return(null);
            }
        }
Exemple #4
0
        public List <Movie> Recommend(List <Genree> Genrees)
        {
            List <bool> check = new List <bool>();
            XmlDocument doc   = new XmlDocument();

            doc.Load("Main.xml");
            List <Movie>  RecMovies = new List <Movie>();
            List <string> list1     = new List <string>();

            for (int i = 0; i < Genrees.Count; i++)
            {
                list1.Add(Genrees.ElementAt(i).nameofgenre);
            }

            foreach (XmlNode node in doc.SelectNodes("AllMovies/Director/Movies/Movie"))
            {
                Movie M = new Movie();
                M.ID       = node.SelectSingleNode("ID").InnerText;
                M.Title    = node.SelectSingleNode("Title").InnerText;
                M.Director = node.SelectSingleNode("Director").InnerText;
                M.Year     = node.SelectSingleNode("Year").InnerText;
                M.Rating   = node.SelectSingleNode("Rating").InnerText.ToString();
                M.Poster   = node.SelectSingleNode("Poster").InnerText.ToString();
                XmlNodeList Genres = node.SelectNodes("Genres/Genree");
                for (int k = 0; k < Genres.Count; k++)
                {
                    Genree genree = new Genree(Genres[k].InnerText);
                    M.Genres.Add(genree);
                }
                if (Genrees.Count == 1)
                {
                    for (int j = 0; j < M.Genres.Count; j++)
                    {
                        if (Genrees.ElementAt(0).nameofgenre == M.Genres.ElementAt(j).nameofgenre)
                        {
                            RecMovies.Add(M);
                        }
                    }
                }
                else
                {
                    List <string> list2 = new List <string>();
                    for (int m = 0; m < M.Genres.Count; m++)
                    {
                        list2.Add(M.Genres.ElementAt(m).nameofgenre);
                    }
                    var firstNotSecond = list1.Except(list2).ToList();
                    var secondNotFirst = list2.Except(list1).ToList();
                    if (firstNotSecond.Count == 0 && secondNotFirst.Count == 0 || secondNotFirst.Count > 0 && firstNotSecond.Count == 0)
                    {
                        RecMovies.Add(M);
                    }
                }
            }
            return(RecMovies);
        }
Exemple #5
0
        public Movie TitleSearch(string search)
        {
            bool   recordFound = false;
            string fileName    = "Main.xml";

            if (!File.Exists(fileName))
            {
                throw new FileNotFoundException();
            }
            if (search == "")
            {
                throw new ArgumentNullException();
            }
            XmlDocument doc = new XmlDocument();

            doc.Load(fileName);

            XmlNodeList list = doc.GetElementsByTagName("Movie");

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList childrens = list[i].ChildNodes;

                if (childrens[1].InnerText == search)
                {
                    recordFound = true;
                    Title       = childrens[1].InnerText;
                    ID          = childrens[0].InnerText;
                    Director    = childrens[3].InnerText;
                    Year        = childrens[2].InnerText;
                    Rating      = childrens[4].InnerText;
                    Poster      = childrens[6].InnerText;
                    XmlNodeList GenreChildren = childrens[5].ChildNodes;
                    Genree      genre;
                    for (int j = 0; j < GenreChildren.Count; j++)
                    {
                        genre = new Genree(GenreChildren[j].InnerText);
                        Genres.Add(genre);
                    }
                }
                else
                {
                    continue;
                }
            }

            if (recordFound)
            {
                return(this);
            }
            else
            {
                return(null);
            }
        }
Exemple #6
0
        public List <Movie> BelowRatingSearch(int rate)
        {
            Movie        m;
            List <Movie> movies = new List <Movie>();
            XmlDocument  Doc    = new XmlDocument();

            Doc.Load("Main.xml");
            XmlNodeList   List       = Doc.GetElementsByTagName("Movie");
            List <Genree> Genrevalue = new List <Genree>();

            for (int i = 0; i < List.Count; i++)
            {
                Genrevalue = new List <Genree>();
                m          = new Movie();
                XmlNodeList children = List[i].ChildNodes;

                if (int.Parse(children[4].InnerText) < rate)
                {
                    string      IDvalue       = children[0].InnerText;
                    string      Titlevalue    = children[1].InnerText;
                    string      Yearvalue     = children[2].InnerText;
                    string      Directorvalue = children[3].InnerText;
                    string      Ratingvalue   = children[4].InnerText;
                    XmlNodeList GenreChildren = children[5].ChildNodes;

                    for (int j = 0; j < children[5].ChildNodes.Count; j++)
                    {
                        Genree genre = new Genree(GenreChildren[j].InnerText);
                        Genrevalue.Add(genre);
                    }
                    string Imagevalue = children[6].InnerText;
                    m.ID       = IDvalue;
                    m.Title    = Titlevalue;
                    m.Year     = Yearvalue;
                    m.Rating   = Ratingvalue;
                    m.Poster   = Imagevalue;
                    m.Director = Directorvalue;
                    m.Genres   = Genrevalue;
                    movies.Add(m);
                }
            }
            return(movies);
        }
        private void A_add_btn_Click(object sender, EventArgs e)
        {
            Movie  m        = new Movie();
            string ID       = ID_txt.Text;
            string FileName = FileName_txt.Text;

            if (m.SearchUniquID(ID_txt.Text, FileName_txt.Text))
            {
                string        Title = Title_txt.Text;
                List <Genree> g     = new List <Genree>();
                for (int i = 0; i < Genre_lst.CheckedItems.Count; i++)
                {
                    Genree ge = new Genree(Genre_lst.CheckedItems[i].ToString());
                    g.Add(ge);
                }
                string Director = Director_txt.Text;
                string Year     = Year_cmbo.Text;
                string Rating   = Rating_combo.Text;

                string path = imageLocation;

                m.AddToExist(ID, Title, g, Director, Year, Rating, FileName, path);
                MessageBox.Show("Added Successfully ^_^", "File", MessageBoxButtons.OK, MessageBoxIcon.None);
                FileName_txt.Clear();
                ID_txt.Clear();
                Title_txt.Clear();
                Director_txt.Clear();
                Rating_combo.Text        = "";
                Year_cmbo.Text           = "";
                Poster_pic.ImageLocation = "";
                bool state = false;
                for (int j = 0; j < Genre_lst.CheckedItems.Count; j++)
                {
                    Genre_lst.SetItemCheckState(j, (state ? CheckState.Checked : CheckState.Unchecked));
                }
            }
            else
            {
                MessageBox.Show("You must enter a unique ID", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }