public void ReportZamestnanec() { Console.WriteLine("*** Report - Zaměstnanec - detail ***"); Console.WriteLine("Vyberte zaměstnance"); List <Zamestnanec> zamestnanci = Zamestnanci.Values.ToList(); for (int i = 0; i < zamestnanci.Count; i++) { Console.WriteLine("\t{0}. {1} {2}({3})", i + 1, zamestnanci[i].Jmeno, zamestnanci[i].Prijmeni, zamestnanci[i].Kod); } Console.Write("Vaše volba: "); int volba = Int32.Parse(Console.ReadLine()) - 1; Zamestnanec zamestnanec = zamestnanci[volba]; Console.WriteLine("\nReport - {0} {1} ({2}) - projekty:", zamestnanec.Jmeno, zamestnanec.Prijmeni, zamestnanec.Kod); foreach (Projekt projekt in zamestnanec.Projekty) { int soucet = 0; foreach (PolozkaVykazu polozkaVykazu in zamestnanec.PolozkyVykazu) { if (polozkaVykazu.Projekt == projekt) { soucet += polozkaVykazu.PocetHodin; } } Console.WriteLine("\t{0} ({1}): {2}", projekt.Nazev, projekt.Kod, soucet); } }
public PolozkaVykazu(Zamestnanec zamestnanec, Projekt projekt, DateTime datum, int pocetHodin) { Zamestnanec = zamestnanec; Projekt = projekt; Datum = datum; PocetHodin = pocetHodin; }
private void NacistZamestnance() { StreamReader reader = new StreamReader(NazevSouboruZamestnanci); // Přeskočíme hlavičkový řádek souboru, protože neobsahuje data o konkrétním zaměstnanci string radek = reader.ReadLine(); while ((radek = reader.ReadLine()) != null) { string[] hodnotyRadek = radek.Split(';'); string kod = hodnotyRadek[0]; string jmeno = hodnotyRadek[1]; string prijmeni = hodnotyRadek[2]; string pozice = hodnotyRadek[3]; Zamestnanec zamestnanec = new Zamestnanec(jmeno, prijmeni, kod, pozice, new List <Projekt>(), new List <PolozkaVykazu>()); Zamestnanci.Add(kod, zamestnanec); } reader.Close(); }
private void NacistVykazy() { StreamReader reader = new StreamReader(NazevSouboruVykazy); // Přeskočíme hlavičkový řádek souboru, protože neobsahuje data o konkrétní položce výkazu string radek = reader.ReadLine(); while ((radek = reader.ReadLine()) != null) { string[] hodnotyRadek = radek.Split(';'); string kodZamestnanec = hodnotyRadek[0]; string kodProjekt = hodnotyRadek[1]; string[] strDatumVykazu = hodnotyRadek[2].Split('.'); int den = Int32.Parse(strDatumVykazu[0]); int mesic = Int32.Parse(strDatumVykazu[1]); int rok = Int32.Parse(strDatumVykazu[2]); DateTime datumVykazu = new DateTime(rok, mesic, den); int pocetHodin = Int32.Parse(hodnotyRadek[3]); Zamestnanec zamestnanec = Zamestnanci[kodZamestnanec]; Projekt projekt = Projekty[kodProjekt]; PolozkaVykazu polozkaVykazu = new PolozkaVykazu(zamestnanec, projekt, datumVykazu, pocetHodin); PolozkyVykazu.Add(polozkaVykazu); projekt.PolozkyVykazu.Add(polozkaVykazu); zamestnanec.PolozkyVykazu.Add(polozkaVykazu); if (!projekt.Zamestnanci.Contains(zamestnanec)) { projekt.Zamestnanci.Add(zamestnanec); } if (!zamestnanec.Projekty.Contains(projekt)) { zamestnanec.Projekty.Add(projekt); } } reader.Close(); }