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); } } } }
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); }
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); }