예제 #1
0
        public void AggiungiProgrGiornaliera(PersisterMapper <ProgrammazioneGiornaliera> progrGiornaliera)
        {
            string nomeFile = _base + progrGiornaliera.Element.Nome + "_" + Documento.getInstance().ModelloRiferimento.ToString() + ".prg";

            if (progrGiornaliera.ID >= 0 && progrGiornaliera.ID < _progrGiornaliere.Count)
            {
                _progrGiornaliere.RemoveAt(progrGiornaliera.ID);
                _progrGiornaliere.Insert(progrGiornaliera.ID, progrGiornaliera.Element);
            }
            else
            {
                if (!Overwrite(nomeFile))
                {
                    return;
                }
                _progrGiornaliere.Add(progrGiornaliera.Element);
            }

            using (BinaryWriter bw = new BinaryWriter(new FileStream(nomeFile, FileMode.Create)))
            {
                PersisterFactory.GetPersister(progrGiornaliera.Element.GetType()).Save(progrGiornaliera.Element, bw);
            }

            LibreriaChange?.Invoke(this, EventArgs.Empty);
        }
예제 #2
0
        public void AggiungiSequenza(PersisterMapper <Sequenza> sequenza)
        {
            string nomeFile = _base + sequenza.Element.Nome + "_" + Documento.getInstance().ModelloRiferimento.ToString() + ".seq";

            if (sequenza.ID >= 0 && sequenza.ID < _sequenze.Count)
            {
                _sequenze.RemoveAt(sequenza.ID);
                _sequenze.Insert(sequenza.ID, sequenza.Element);
            }
            else
            {
                if (!Overwrite(nomeFile))
                {
                    return;
                }
                _sequenze.Add(sequenza.Element);
            }

            using (BinaryWriter bw = new BinaryWriter(new FileStream(nomeFile, FileMode.Create)))
            {
                PersisterFactory.GetPersister(PersisterFactory.SEQUENZA).Save(sequenza.Element, bw);
            }

            LibreriaChange?.Invoke(this, EventArgs.Empty);
        }
예제 #3
0
        public void AggiungiElemento(PersisterMapper <Elemento> elemento)
        {
            string nomeFile = _base + elemento.Element.Nome + "_" + Documento.getInstance().ModelloRiferimento.ToString() + ".elem";

            if (elemento.ID < 0 && !Overwrite(nomeFile))
            {
                return;
            }
            InsideAggiungiElemento(elemento);
            using (BinaryWriter bw = new BinaryWriter(new FileStream(nomeFile, FileMode.Create)))
            {
                PersisterFactory.GetPersister(elemento.Element.GetType()).Save(elemento.Element, bw);
            }
        }
예제 #4
0
        private void ReadSingle(string fileName)
        {
            using (BinaryReader br = new BinaryReader(new FileStream(fileName, FileMode.Open, FileAccess.Read)))
            {
                IPersister persister = PersisterFactory.GetPersister(br.ReadString());
                object     result    = persister.Retrieve(br);

                if (null != result as Sequenza)
                {
                    _sequenze.Add((Sequenza)result);
                }
                else if (null != result as ProgrammazioneGiornaliera)
                {
                    _progrGiornaliere.Add((ProgrammazioneGiornaliera)result);
                }
                else
                {
                    InsideAggiungiElemento(new PersisterMapper <Elemento>((Elemento)result));
                }
            }
        }