static void SkaitytiSeima(LinkedList <Seimas> SeimoInfo, string fd) { string line; using (var failas = new System.IO.StreamReader(fd, Encoding.GetEncoding(1257))) { while ((line = failas.ReadLine()) != null) { var value = line.Split(' '); var seim = new Seimas(value[0], value[1], value[2], Convert.ToDateTime(value[3]), Convert.ToDateTime(value[4])); SeimoInfo.AddLast(seim); } } }
static void SarasoSukurimas(List <Diena> DienosInfo, List <Seimas> SeimoInfo, List <Seimas> NaujasSarasas) { foreach (Seimas seim in SeimoInfo) { string pavarde = seim.pavardeS; string vardas = seim.vardasS; int sk = 0; double trukme = 0; VidutineKonsultacijosTrukme(DienosInfo, SeimoInfo, seim, ref sk, ref trukme); double trukm = trukme; int rinkejai = sk; var naujas = new Seimas(pavarde, vardas, seim.dienosData, seim.budejimasPR, seim.budejimasPB, trukme, rinkejai); // if (!NaujasSarasas.Contains(naujas)) //bool laik = false; //foreach (Seimas nauj in NaujasSarasas) // if (nauj.pavardeS.Contains(seim.pavardeS)) // laik = true; //if(!laik) NaujasSarasas.Add(naujas); } NaujasSarasas.Distinct(); }
static void VidutineKonsultacijosTrukme(LinkedList <Diena> DienosInfo, LinkedList <Seimas> SeimoInfo, Seimas seim, ref int sk, ref double trukme) { sk = 0; int laik = 0; trukme = 0; DateTime trukm = new DateTime(); foreach (Seimas seimas in SeimoInfo) { foreach (Diena dien in DienosInfo) { if (seim.vardasS == seimas.vardasS && seim.pavardeS == seimas.pavardeS) { double hour = dien.konsultacTruk.Hour; double min = dien.konsultacTruk.Minute; double dienPab = (dien.atvykLaik.Hour + hour) * 60 + dien.atvykLaik.Minute + min; double seimolaik = seimas.budejimasPB.Hour * 60 + seimas.budejimasPB.Minute; if ((seimas.dienosData == dien.data) && (seimas.budejimasPR <= dien.atvykLaik) && (seimolaik >= dienPab)) { sk++; laik++; trukm = trukm.AddHours(hour).AddMinutes(min); } } } } if (laik == 0) { trukme = 0; } else { trukme = 60 * trukm.Hour + trukm.Minute; trukme = trukme / sk; } }
static void VidutineKonsultacijosTrukme(List <Diena> DienosInfo, List <Seimas> SeimoInfo, Seimas seim, ref int sk, ref double trukme) { sk = 0; int laik = 0; trukme = 0; int skaicius = 0; DateTime trukm = new DateTime(); SeimoInfo.Where(seimas => seimas.Equals(seim)).ToList().ForEach(seimas => { DienosInfo.ForEach(dien => { double hour = dien.konsultacTruk.Hour; double min = dien.konsultacTruk.Minute; double dienPab = (dien.atvykLaik.Hour + hour) * 60 + dien.atvykLaik.Minute + min; double seimolaik = seimas.budejimasPB.Hour * 60 + seimas.budejimasPB.Minute; if ((seimas.dienosData == dien.data) && (seimas.budejimasPR <= dien.atvykLaik) && (seimolaik >= dienPab)) { skaicius++; laik++; trukm = trukm.AddHours(hour).AddMinutes(min); } }); }); if (laik == 0) { trukme = 0; } else { trukme = 60 * trukm.Hour + trukm.Minute; trukme = trukme / sk; } sk = skaicius; }