private void ProccesAnakDewasaTerlayani() { var rangetanggal = GetTanggal(); List <Pengaduan> pengaduans; if (this.BasisPeriode <= 1) { pengaduans = DataBasic.DataPengaduan.Where(x => x.TanggalKejadian >= rangetanggal.Item1 && x.TanggalKejadian <= rangetanggal.Item2).ToList(); } else { pengaduans = DataBasic.DataPengaduan.Where(x => x.TanggalLapor >= rangetanggal.Item1 && x.TanggalLapor <= rangetanggal.Item2).ToList(); } var groupbyDistrik = pengaduans.GroupBy(x => x.KodeDistrik); List <KorbanAnakDewasaTerlayani> source = new List <KorbanAnakDewasaTerlayani>(); foreach (var distrik in groupbyDistrik) { var pengaduanTerlayani = distrik.Where(x => x.Korban.Count > 0); var agesTerlayani = pengaduanTerlayani.GroupByAge(BasisPeriode); var model = new KorbanAnakDewasaTerlayani(); model.Kasus = distrik.Count(); model.Distrik = DataBasic.GetKecamatan().Where(x => x.Id == distrik.Key).FirstOrDefault().Nama; foreach (var item in agesTerlayani) { switch (item.Key) { case "Anak": model.TerlayaniAnak = item.Count(); break; default: model.TerlayaniDewasa = item.Count(); break; } } var pengaduanTakTerlayani = distrik.Where(x => x.Korban.Count <= 0); var agesTakTerlayani = pengaduanTakTerlayani.GroupByAge(BasisPeriode); foreach (var item in agesTakTerlayani) { switch (item.Key) { case "Anak": model.KorbanAnak = item.Count(); break; default: model.KorbanDewasa = item.Count(); break; } } model.Nomor = source.Count + 1; source.Add(model); } var header = new ReportHeader { Title = "REPORT KASUS & KORBAN ANAK DEWASA TERLAYANI", Tahun = Tahun, BaseSelection = GetBaseSelection(), SubSelection1 = GetSub1() }; HelperPrint.PrintWithFormActionTwoSource("Print Preview", new ReportDataSource { Name = "Header", Value = new List <ReportHeader>() { header } }, new ReportDataSource { Name = "DataSet1", Value = source }, "Main.Reports.Layout.DewasaAnakTerlayani.rdlc", null); }
private void ProccesBentukKekerasan() { var rangetanggal = GetTanggal(); List <Pengaduan> pengaduans; if (this.BasisPeriode <= 1) { pengaduans = DataBasic.DataPengaduan.Where(x => x.TanggalKejadian >= rangetanggal.Item1 && x.TanggalKejadian <= rangetanggal.Item2).ToList(); } else { pengaduans = DataBasic.DataPengaduan.Where(x => x.TanggalLapor >= rangetanggal.Item1 && x.TanggalLapor <= rangetanggal.Item2).ToList(); } var groupbyDistrik = pengaduans.GroupBy(x => x.KodeDistrik); List <Kekerasandll> source = new List <Kekerasandll>(); foreach (var distrik in groupbyDistrik) { var korbans = distrik.SelectMany(x => x.Korban).SelectMany(x => x.ListKekerasanDialami); var groupKekerasan = korbans.GroupBy(x => x); var model = new Kekerasandll(); model.Kasus = distrik.Count(); model.Unit = DataBasic.GetKecamatan().Where(x => x.Id == distrik.Key).FirstOrDefault().Nama; foreach (var item in groupKekerasan) { switch (item.Key) { case "Fisik": model.KekerasanFisik = item.Count(); break; case "Psikis": model.KekerasanFisik = item.Count(); break; case "Seksual": model.KekerasanSeksual = item.Count(); break; case "Eksploitasi": model.KekerasanEksploitasi = item.Count(); break; case "Trafficking": model.KekerasanTrafficing = item.Count(); break; case "Penelantaran": model.KekerasanPenelantaran = item.Count(); break; default: model.KekerasanLainnya += item.Count(); break; } } var pengananas = distrik.SelectMany(x => x.Korban).SelectMany(x => x.DataPenanganan).GroupBy(x => x.Layanan); foreach (var item in pengananas) { switch (item.Key) { case "Bantuan Humum": model.JenisBantuanHukum = item.Count(); break; case "Kesehatan": model.JenisKesehatan = item.Count(); break; case "Pemulangan": model.JenisPemulangan = item.Count(); break; case "Pendampingan Tokoh Agama": model.JenisTokohAgama = item.Count(); break; case "Penegakan Hukum": model.JenisPenegakanHukum = item.Count(); break; case "Pengaduan": model.JenisPengaduan = item.Count(); break; case "Rehabilitasi Sosial": model.JenisRehabilitasi = item.Count(); break; case "Reintegrasi Sosial": model.JenisReintegrasi = item.Count(); break; } } var tempats = distrik.GroupBy(x => x.TempatKejadian); foreach (var item in tempats) { switch (item.Key) { case "Rumah Tangga": model.TempatRumah = item.Count(); break; case "Tempat Kerja": model.TempatKerja = item.Count(); break; case "Sekolah": model.TempatSekolah = item.Count(); break; case "Fasilitas Umum": model.TempatUmum = item.Count(); break; default: model.TempatLainya += item.Count(); break; } } model.Nomor = source.Count() + 1; source.Add(model); } var header = new ReportHeader { Title = "REPORT BENTUK KEKERASAN, TEMPAT KEJADIAN & PELAYANAN", Tahun = Tahun, BaseSelection = GetBaseSelection(), SubSelection1 = GetSub1() }; HelperPrint.PrintWithFormActionTwoSource("Print Preview", new ReportDataSource { Name = "Header", Value = new List <ReportHeader>() { header } }, new ReportDataSource { Name = "DataSet1", Value = source }, "Main.Reports.Layout.Kekerasandll.rdlc", null); }
private void ProccesCiriKorban() { var rangetanggal = GetTanggal(); List <Pengaduan> pengaduans; if (this.BasisPeriode <= 1) { pengaduans = DataBasic.DataPengaduan.Where(x => x.TanggalKejadian >= rangetanggal.Item1 && x.TanggalKejadian <= rangetanggal.Item2).ToList(); } else { pengaduans = DataBasic.DataPengaduan.Where(x => x.TanggalLapor >= rangetanggal.Item1 && x.TanggalLapor <= rangetanggal.Item2).ToList(); } List <CiriKorbanDanPelaku> listModel = new List <Models.CiriKorbanDanPelaku>(); var groupbyDistrik = pengaduans.GroupBy(x => x.KodeDistrik); foreach (var list in groupbyDistrik) { var genders = list.ToList().GroupByKorbanGender(); foreach (var gender in genders) { var ages = gender.GroupAgeOfKorban(BasisPeriode); var pendidkans = gender.GroupPendidikan(); var pekerjaans = gender.GroupPekerjaan(); var perkawinans = gender.GroupPernikahan(); var model = new CiriKorbanDanPelaku(); model.Distrik = DataBasic.GetKecamatan().Where(x => x.Id == list.Key).FirstOrDefault().Nama; model.Kasus = list.Count(); foreach (var pekerjaan in pekerjaans) { switch (pekerjaan.Key) { case "NA": model.PekNa = pekerjaan.Count(); break; case "Bekerja": model.PekBekerja = pekerjaan.Count(); break; case "Pelajar": model.PekPelajar = pekerjaan.Count(); break; case "Ibu Rumah Tangga": model.PekIrt = pekerjaan.Count(); break; case "Swasta/Buruh": model.PekSwasta = pekerjaan.Count(); break; case "PNS/TNI/POLRI": model.PekPns = pekerjaan.Count(); break; case "Pedagang/Tani/Nelayan": model.PekPedagang = pekerjaan.Count(); break; case "Tidak Bekerja": model.PekTbekerja = pekerjaan.Count(); break; default: model.PekNa = pekerjaan.Count(); break; } } foreach (var pendidikan in pendidkans) { switch (pendidikan.Key) { case "Tidak Sekolah": model.PendTs = pendidikan.Count(); break; case "Paud": model.PendPaud = pendidikan.Count(); break; case "TK": model.PendTK = pendidikan.Count(); break; case "SD": model.PendSd = pendidikan.Count(); break; case "SLTP": model.PendSmp = pendidikan.Count(); break; case "SLTA": model.PendSlta = pendidikan.Count(); break; case "Perguruan Tinggi": model.PendPt = pendidikan.Count(); break; default: model.PendNa = pendidikan.Count(); break; } } foreach (var item in ages) { model.Gender = gender.Key.ToString(); // var count = model.Count(); switch (item.Key.Item2) { case 5: model.usia5 = item.Count(); break; case 12: model.usia12 = item.Count(); break; case 17: model.usia17 = item.Count(); break; case 24: model.usia24 = item.Count(); break; case 44: model.usia44 = item.Count(); break; case 49: model.usia59 = item.Count(); break; default: model.usia60 = item.Count(); break; } } foreach (var status in perkawinans) { model.Gender = gender.Key.ToString(); // var count = model.Count(); switch (status.Key) { case "Tidak Ada Status Nikah": model.KawinBelum = status.Count(); break; case "Cerai": model.KawinCerai = status.Count(); break; default: model.KawinKawin = status.Count(); break; } } listModel.Add(model); } var header = new ReportHeader { Title = "REPORT CIRI KORBAN", Tahun = Tahun, BaseSelection = GetBaseSelection(), SubSelection1 = GetSub1() }; HelperPrint.PrintWithFormActionTwoSource("Print Preview", new ReportDataSource { Name = "Header", Value = new List <ReportHeader>() { header } }, new ReportDataSource { Name = "DataSet1", Value = listModel }, "Main.Reports.Layout.CiriKorban.rdlc", null); } }