Ejemplo n.º 1
0
 public override void Save(PersonenManager pm)
 {
     using (BinaryWriter bw = new BinaryWriter(File.Open(Filename, FileMode.Create)))
     {
         foreach (Person p in pm.PersonenReadOnly())
         {
             if (p.PersonenTyp == "M")
             {
                 WriteByteArrayToStream(bw, p);
             }
             else if (p.PersonenTyp == "V")
             {
                 WriteByteArrayToStream(bw, p);
                 byte[] Data = ConvertStringToByteArray(p.toPraemie());
                 WriteByteArrayWithPrefix(bw, Data);
             }
         }
     }
 }
Ejemplo n.º 2
0
        private PersonenManager GetTheData(int counter, BinaryReader br, PersonenManager pm, byte Personentyp)
        {
            string[] TextData = new string[counter];

            for (int idx = 0; idx < counter; idx++)
            {
                int    NumberOfBytes = br.ReadInt32();
                byte[] Data          = new byte[NumberOfBytes];

                for (int i = 0; i < NumberOfBytes; i++)
                {
                    Data[i] = br.ReadByte();
                }
                string Text = Encoding.ASCII.GetString(Data);
                TextData[idx] = Text;
            }
            pm = StringToList(TextData, pm, Personentyp);

            return(pm);
        }
Ejemplo n.º 3
0
        private PersonenManager StringToList(string[] personen, PersonenManager pm, byte Personentyp)
        {
            switch (Personentyp)
            {
            case 77:
                if (personen.Length > 2)
                {
                    throw new Exception("Ein Mitarbeiter hat keine Prämie!!!");
                }
                pm.AddPerson(new Mitarbeiter(personen[0], personen[1]));
                break;

            case 86:
                if (personen[2] == "")
                {
                    throw new Exception("Ein Vorgesetzter hat eine Prämie!!!");
                }
                pm.AddPerson(new Vorgesetzter(personen[0], personen[1], Convert.ToDouble(personen[2])));
                break;
            }

            return(pm);
        }