private List <LgsSonuc> OkullariHesapla() { List <LgsSonuc> OkulOrtalamalariList = new List <LgsSonuc>(); List <LgsSonuc> okullar = sonucList.Where(x => x.Aciklama == "-").GroupBy(x => new { x.IlceAdi, x.OkulAdi }).Select(x => x.First()).ToList(); int islemSayisi = okullar.Count; progressBar1.Maximum = islemSayisi; progressBar1.Value = 0; int a = 0; //okul ortalamaları foreach (var okul in okullar) { var okulVerisi = sonucList.Where(x => x.OkulAdi == okul.OkulAdi && x.Aciklama == "-"); int ogrenciSayisi = okulVerisi.Count(); a++; progressBar1.Value = a; label4.Text = "Okul ortalamaları hesaplanıyor. " + a + "/" + islemSayisi; int turkceDogru = okulVerisi.Sum(x => x.TurkceDogru); int turkceYanlis = okulVerisi.Sum(x => x.TurkceYanlis); decimal turkceNet = (turkceDogru - ((decimal)turkceYanlis / 3)) / ogrenciSayisi; int matDogru = okulVerisi.Sum(x => x.MatDogru); int matYanlis = okulVerisi.Sum(x => x.MatYanlis); decimal matNet = (matDogru - ((decimal)matYanlis / 3)) / ogrenciSayisi; int fenDogru = okulVerisi.Sum(x => x.FenDogru); int fenYanlis = okulVerisi.Sum(x => x.FenYanlis); decimal fenNet = (fenDogru - ((decimal)fenYanlis / 3)) / ogrenciSayisi; int inkDogru = okulVerisi.Sum(x => x.InkDogru); int inkYanlis = okulVerisi.Sum(x => x.IngYanlis); decimal inkNet = (inkDogru - ((decimal)inkYanlis / 3)) / ogrenciSayisi; int dinDogru = okulVerisi.Sum(x => x.DinDogru); int dinYanlis = okulVerisi.Sum(x => x.DinYanlis); decimal dinNet = (dinDogru - ((decimal)dinYanlis / 3)) / ogrenciSayisi; int ingDogru = okulVerisi.Sum(x => x.IngDogru); int ingYanlis = okulVerisi.Sum(x => x.IngYanlis); decimal ingNet = (ingDogru - ((decimal)ingYanlis / 3)) / ogrenciSayisi; decimal toplamNet = okulVerisi.Sum(x => x.ToplamNet) / ogrenciSayisi; decimal sinavPuanOrtalamasi = okulVerisi.Sum(x => x.SinavPuani) / ogrenciSayisi; LgsSonuc sonuc = new LgsSonuc { OgrenciSayisi = ogrenciSayisi, SinavPuani = sinavPuanOrtalamasi, ToplamNet = toplamNet, TurkceDogru = turkceDogru, TurkceYanlis = turkceYanlis, TurkceNet = turkceNet, MatDogru = matDogru, MatYanlis = matYanlis, MatNet = matNet, FenDogru = fenDogru, FenYanlis = fenYanlis, FenNet = fenNet, InkDogru = inkDogru, InkYanlis = inkYanlis, InkNet = inkNet, DinDogru = dinDogru, DinYanlis = dinYanlis, DinNet = dinNet, IngDogru = ingDogru, IngYanlis = ingYanlis, IngNet = ingNet, IlceAdi = okul.IlceAdi, OkulAdi = okul.OkulAdi }; OkulOrtalamalariList.Add(sonuc); } Application.DoEvents(); progressBar1.Value = 0; return(OkulOrtalamalariList); }
private void OgrenciSonuclari() { DizinIslemleri dizinIslemleri = new DizinIslemleri(); List <DosyaInfo> dosyalar = dizinIslemleri.DizindekiDosyalariListele(seciliDizin); progressBar1.Maximum = dosyalar.Count; progressBar1.Value = 0; foreach (DosyaInfo dosya in dosyalar) { string filePath = dosya.DizinAdresi + @"\" + dosya.DosyaAdi; string ilceAdi = dosya.DizinAdresi.Replace(seciliDizin, "").Replace("\\", ""); progressBar1.Value += 1; label4.Text = "Okul sayısı : " + progressBar1.Value + "/" + dosyalar.Count + " ...veriler toplanıyor."; DataTable table = ExcelUtil.ExcelToDataTable(filePath); for (int satir = 1; satir <= table.Rows.Count; satir += 18) { string aciklama = table.Rows[satir + 5][11].ToString(); if (sinavAdi == "") { sinavAdi = table.Rows[17][0].ToString().ToUpper(CultureInfo.CurrentCulture); } //row string tcKimlik = table.Rows[satir - 1][7].ToString(); string adiSoyadi = table.Rows[satir][7].ToString(); string okulu = table.Rows[satir + 3][7].ToString().Replace("İ", "İ").Replace("ı", "ı"); int turkceDogru = table.Rows[satir + 5][6].ToInt32(); int turkceYanlis = table.Rows[satir + 5][8].ToInt32(); decimal turkceNet = turkceDogru - ((decimal)turkceYanlis / 3); int matDogru = table.Rows[satir + 6][6].ToInt32(); int matYanlis = table.Rows[satir + 6][8].ToInt32(); decimal matNet = matDogru - ((decimal)matYanlis / 3); int fenDogru = table.Rows[satir + 7][6].ToInt32(); int fenYanlis = table.Rows[satir + 7][8].ToInt32(); decimal fenNet = fenDogru - ((decimal)fenYanlis / 3); int inkDogru = table.Rows[satir + 8][6].ToInt32(); int inkYanlis = table.Rows[satir + 8][8].ToInt32(); decimal inkNet = inkDogru - ((decimal)inkYanlis / 3); int dinDogru = table.Rows[satir + 10][6].ToInt32(); int dinYanlis = table.Rows[satir + 10][8].ToInt32(); decimal dinNet = dinDogru - ((decimal)dinYanlis / 3); int ingDogru = table.Rows[satir + 11][6].ToInt32(); int ingYanlis = table.Rows[satir + 11][8].ToInt32(); decimal ingNet = ingDogru - ((decimal)ingYanlis / 3); decimal sinavPuani = table.Rows[satir + 14][6].ToDecimal(); decimal yuzdelik = table.Rows[satir + 12][3].ToString().Replace("Türkiye Geneli Yüzdelik Dilimi: %", "") .ToDecimal(); // okulu = Encoding.UTF8.GetString(Encoding.Default.GetBytes(okulu)); // adiSoyadi = Encoding.UTF8.GetString(Encoding.Default.GetBytes(adiSoyadi)); // aciklama = Encoding.UTF8.GetString(Encoding.Default.GetBytes(aciklama)); decimal toplamNet = (turkceNet + matNet + fenNet + inkNet + dinNet + ingNet); LgsSonuc sonuc = new LgsSonuc { Tckimlik = tcKimlik.Trim(), SinavPuani = sinavPuani, YuzdelikDilim = yuzdelik, ToplamNet = toplamNet, TurkceDogru = turkceDogru, TurkceYanlis = turkceYanlis, TurkceNet = turkceNet, MatDogru = matDogru, MatYanlis = matYanlis, MatNet = matNet, FenDogru = fenDogru, FenYanlis = fenYanlis, FenNet = fenNet, InkDogru = inkDogru, InkYanlis = inkYanlis, InkNet = inkNet, DinDogru = dinDogru, DinYanlis = dinYanlis, DinNet = dinNet, IngDogru = ingDogru, IngYanlis = ingYanlis, IngNet = ingNet, Aciklama = aciklama, AdiSoyadi = adiSoyadi, IlceAdi = ilceAdi, OkulAdi = okulu }; sonucList.Add(sonuc); //SonucManager manager = new SonucManager(); //manager.Insert(sonuc); Application.DoEvents(); } Application.DoEvents(); } //dosyaları okuma bitti }
private List <LgsSonuc> IlveIlceleriHesapla() { List <LgsSonuc> ilIlceOrtalamalariList = new List <LgsSonuc>(); List <LgsSonuc> ilceler = sonucList.Where(x => x.Aciklama == "-").GroupBy(x => x.IlceAdi).Select(x => x.First()).ToList(); int islemSayisi = ilceler.Count; progressBar1.Maximum = islemSayisi; progressBar1.Value = 0; int a = 0; //ilçe ortalamaları foreach (var ilce in ilceler) { var ilceVerisi = sonucList.Where(x => x.IlceAdi == ilce.IlceAdi && x.Aciklama == "-"); int ogrenciSayisi = ilceVerisi.Count(); a++; progressBar1.Value = a; label4.Text = "İlçe ortalamaları hesaplanıyor." + a + "/" + islemSayisi; int turkceDogru = ilceVerisi.Sum(x => x.TurkceDogru); int turkceYanlis = ilceVerisi.Sum(x => x.TurkceYanlis); decimal turkceNet = (turkceDogru - ((decimal)turkceYanlis / 3)) / ogrenciSayisi; int matDogru = ilceVerisi.Sum(x => x.MatDogru); int matYanlis = ilceVerisi.Sum(x => x.MatYanlis); decimal matNet = (matDogru - ((decimal)matYanlis / 3)) / ogrenciSayisi; int fenDogru = ilceVerisi.Sum(x => x.FenDogru); int fenYanlis = ilceVerisi.Sum(x => x.FenYanlis); decimal fenNet = (fenDogru - ((decimal)fenYanlis / 3)) / ogrenciSayisi; int inkDogru = ilceVerisi.Sum(x => x.InkDogru); int inkYanlis = ilceVerisi.Sum(x => x.IngYanlis); decimal inkNet = (inkDogru - ((decimal)inkYanlis / 3)) / ogrenciSayisi; int dinDogru = ilceVerisi.Sum(x => x.DinDogru); int dinYanlis = ilceVerisi.Sum(x => x.DinYanlis); decimal dinNet = (dinDogru - ((decimal)dinYanlis / 3)) / ogrenciSayisi; int ingDogru = ilceVerisi.Sum(x => x.IngDogru); int ingYanlis = ilceVerisi.Sum(x => x.IngYanlis); decimal ingNet = (ingDogru - ((decimal)ingYanlis / 3)) / ogrenciSayisi; decimal toplamNet = ilceVerisi.Sum(x => x.ToplamNet) / ogrenciSayisi; decimal sinavPuanOrtalamasi = ilceVerisi.Sum(x => x.SinavPuani) / ogrenciSayisi; LgsSonuc sonuc = new LgsSonuc { ToplamNet = toplamNet, SinavPuani = sinavPuanOrtalamasi, TurkceDogru = turkceDogru, TurkceYanlis = turkceYanlis, TurkceNet = turkceNet, MatDogru = matDogru, MatYanlis = matYanlis, MatNet = matNet, FenDogru = fenDogru, FenYanlis = fenYanlis, FenNet = fenNet, InkDogru = inkDogru, InkYanlis = inkYanlis, InkNet = inkNet, DinDogru = dinDogru, DinYanlis = dinYanlis, DinNet = dinNet, IngDogru = ingDogru, IngYanlis = ingYanlis, IngNet = ingNet, IlceAdi = ilce.IlceAdi, OgrenciSayisi = ogrenciSayisi }; ilIlceOrtalamalariList.Add(sonuc); } //il ortalaması var ilVerisi = sonucList.Where(x => x.Aciklama == "-"); int iLogrenciSayisi = ilVerisi.Count(); int turkceIlDogru = ilVerisi.Sum(x => x.TurkceDogru); int turkceIlYanlis = ilVerisi.Sum(x => x.TurkceYanlis); decimal turkceIlNet = (turkceIlDogru - ((decimal)turkceIlYanlis / 3)) / iLogrenciSayisi; int matIlDogru = ilVerisi.Sum(x => x.MatDogru); int matIlYanlis = ilVerisi.Sum(x => x.MatYanlis); decimal matIlNet = (matIlDogru - ((decimal)matIlYanlis / 3)) / iLogrenciSayisi; int fenIlDogru = ilVerisi.Sum(x => x.FenDogru); int fenIlYanlis = ilVerisi.Sum(x => x.FenYanlis); decimal fenIlNet = (fenIlDogru - ((decimal)fenIlYanlis / 3)) / iLogrenciSayisi; int inkIlDogru = ilVerisi.Sum(x => x.InkDogru); int inkIlYanlis = ilVerisi.Sum(x => x.IngYanlis); decimal inkIlNet = (inkIlDogru - ((decimal)inkIlYanlis / 3)) / iLogrenciSayisi; int dinIlDogru = ilVerisi.Sum(x => x.DinDogru); int dinIlYanlis = ilVerisi.Sum(x => x.DinYanlis); decimal dinIlNet = (dinIlDogru - ((decimal)dinIlYanlis / 3)) / iLogrenciSayisi; int ingIlDogru = ilVerisi.Sum(x => x.IngDogru); int ingIlYanlis = ilVerisi.Sum(x => x.IngYanlis); decimal ingIlNet = (ingIlDogru - ((decimal)ingIlYanlis / 3)) / iLogrenciSayisi; decimal toplamIlNet = ilVerisi.Sum(x => x.ToplamNet) / iLogrenciSayisi; decimal sinavIlPuanOrtalamasi = ilVerisi.Sum(x => x.SinavPuani) / iLogrenciSayisi; LgsSonuc sonucIl = new LgsSonuc { ToplamNet = toplamIlNet, TurkceDogru = turkceIlDogru, TurkceYanlis = turkceIlYanlis, TurkceNet = turkceIlNet, MatDogru = matIlDogru, MatYanlis = matIlYanlis, MatNet = matIlNet, FenDogru = fenIlDogru, FenYanlis = fenIlYanlis, FenNet = fenIlNet, InkDogru = inkIlDogru, InkYanlis = inkIlYanlis, InkNet = inkIlNet, DinDogru = dinIlDogru, DinYanlis = dinIlYanlis, DinNet = dinIlNet, IngDogru = ingIlDogru, IngYanlis = ingIlYanlis, IngNet = ingIlNet, IlceAdi = "İl Ortalaması", OgrenciSayisi = iLogrenciSayisi, SinavPuani = sinavIlPuanOrtalamasi }; ilIlceOrtalamalariList.Add(sonucIl); Application.DoEvents(); progressBar1.Value = 0; return(ilIlceOrtalamalariList); }