示例#1
0
        public ProgrammazioneSettimanale Retrieve(BinaryReader br)
        {
            // Programmazione Settimanale
            ProgrammazioneSettimanale result = new ProgrammazioneSettimanale();

            // Modello
            Modello modello = Documento.getInstance().ModelloRiferimento;
            int     width   = br.ReadInt32();
            int     height  = br.ReadInt32();

            if (width != modello.Size.Width || height != modello.Size.Height)
            {
                return(null);
            }

            // Programmazioni Giornaliere
            ProgrammazioneGiornalieraPersister persister = new ProgrammazioneGiornalieraPersister();
            ProgrammazioneGiornaliera          pg;
            string type;
            int    dow = br.ReadInt32();

            while (dow > 0)
            {
                type = br.ReadString();
                pg   = persister.Retrieve(br);
                result[(DayOfWeek)dow] = pg;
                dow = br.ReadInt32();
            }
            // Out
            return(result);
        }
示例#2
0
        public void Save(ProgrammazioneSettimanale elem, BinaryWriter bw)
        {
            // Programmazione Settimanale
            bw.Write(elem.GetType().ToString());

            // Modello di riferimento
            Modello modello = Documento.getInstance().ModelloRiferimento;

            bw.Write(modello.Size.Width);
            bw.Write(modello.Size.Height);

            // Programmazioni Giornaliere
            ProgrammazioneGiornalieraPersister persister = new ProgrammazioneGiornalieraPersister();
            ProgrammazioneGiornaliera          pg;

            foreach (DayOfWeek dow in Enum.GetValues(typeof(DayOfWeek)))
            {
                pg = elem[dow];
                if (pg == null)
                {
                    continue;
                }
                bw.Write((int)dow);
                persister.Save(elem[dow], bw);
            }
            bw.Write(-1);
        }
示例#3
0
 static PersisterFactory()
 {
     _persisters                             = new IPersister[Enum.GetNames(typeof(PersisterTypes)).Length];
     _persisters[INFO_TESTO]                 = new InformazioneTestualePersister();
     _persisters[INFO_DATA_ORA]              = new InformazioneDataOraPersister();
     _persisters[IMMAGINE_FISSA]             = new ImmagineFissaPersister();
     _persisters[ANIMAZIONE]                 = new AnimazionePersister();
     _persisters[SEQUENZA]                   = new SequenzaPersister();
     _persisters[PROGRAMMAZIONE_GIORNALIERA] = new ProgrammazioneGiornalieraPersister();
     _persisters[PROGRAMMAZIONE_SETTIMANALE] = new ProgrammazioneSettimanalePersister();
 }