Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* PUJCOVNA.CS */
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Xml.Serialization;
- namespace pj2_2015_cv12_pisemka2_v3
- {
- public class Pujcovna
- {
- private List<IPolozka> polozky = new List<IPolozka>();
- public void PridejPolozku(IPolozka polozka)
- {
- if (polozka is Film)
- {
- ((Film)polozka).vypujceno += InfoVypujcky;
- }
- polozky.Add(polozka);
- }
- public void InfoVypujcky(String name, DateTime date)
- {
- Console.WriteLine("{0}: {1}", name, date);
- }
- public void TiskniPolozky()
- {
- foreach (IPolozka p in polozky)
- {
- p.Tiskni();
- }
- }
- public void Uloz(String fileName)
- {
- using (FileStream f = new FileStream(fileName, FileMode.Create))
- {
- List<Film> films = new List<Film>();
- foreach (IPolozka p in polozky)
- {
- if (p is Film)
- {
- films.Add((Film)p);
- }
- }
- XmlSerializer ser = new XmlSerializer(typeof(List<Film>));
- ser.Serialize(f, films);
- }
- }
- }
- }
- /* PROGRAM.CS */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace pj2_2015_cv12_pisemka2_v3
- {
- class Program
- {
- static void Main(string[] args)
- {
- Pujcovna p = new Pujcovna();
- Film f = new Film("AI", 1, EFilmType.Pohadka);
- Audio a = new Audio(2, "(I Can't Get No) Satisfaction", "The Rolling Stones", 2);
- Film f1 = new Film("starTrek", 3, EFilmType.Pohadka);
- p.PridejPolozku(f);
- p.PridejPolozku(a);
- p.PridejPolozku(f1);
- f.VypujcenoDo = DateTime.Now;
- p.TiskniPolozky();
- p.Uloz("filmy.xml");
- Console.ReadKey();
- }
- }
- }
- /* IPLOLOZKA.CS */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace pj2_2015_cv12_pisemka2_v3
- {
- public interface IPolozka
- {
- String Nazev { get; set; }
- int ID { get; set; }
- void Tiskni();
- }
- }
- /* FILM.CS */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Xml.Serialization;
- namespace pj2_2015_cv12_pisemka2_v3
- {
- public delegate void Vypujceno(String name, DateTime d);
- public class Film : IPolozka
- {
- public event Vypujceno vypujceno;
- [XmlIgnore]
- public DateTime VypujcenoOd { get; set; }
- private DateTime mDo;
- [XmlIgnore]
- public DateTime VypujcenoDo
- {
- get { return mDo; }
- set
- {
- mDo = value;
- if (vypujceno != null)
- {
- vypujceno(Nazev, mDo);
- }
- }
- }
- public string Nazev { get; set; }
- public int ID { get; set; }
- public EFilmType Zanr { get; set; }
- public Film(String n, int id, EFilmType z)
- {
- Nazev = n;
- ID = id;
- Zanr = z;
- }
- public Film()
- {
- }
- public void Tiskni()
- {
- Console.WriteLine("Film: {0}, {1}, {2}, {3}", Nazev, Zanr.ToString(), VypujcenoOd, VypujcenoDo);
- }
- }
- }
- /* EFILMTYPE.CS */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace pj2_2015_cv12_pisemka2_v3
- {
- public enum EFilmType
- {
- Komedie, Pohadka
- }
- }
- /* AUDIO.CS */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace pj2_2015_cv12_pisemka2_v3
- {
- public class Audio : IPolozka
- {
- public String Nazev { get; set; }
- public int ID { get; set; }
- public int Delka { get; set; }
- public String Interpret { get; set; }
- public void Tiskni()
- {
- Console.WriteLine("Audio: {0}, {1}, {2}", Nazev, Interpret, Delka);
- }
- public Audio(int id, String nazev, String interpret, int delka)
- {
- ID = id;
- Nazev = nazev;
- Interpret = interpret;
- Delka = delka;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement