private void LoadData(string bulan, string namaBulan) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { //TextBoxTanggalAwal.Text = tanggalAwal.ToString("d MMMM yyyy"); //TextBoxTanggalAkhir.Text = tanggalAkhir.ToString("d MMMM yyyy"); LabelPeriode.Text = namaBulan + " " + DropDownListTahun.SelectedItem.Text; int JumlahHari = DateTime.DaysInMonth(int.Parse(DropDownListTahun.SelectedValue), int.Parse(bulan)); int JumlahKetidakHarian; var LogAbsensiDB = db.TBPenggunaLogKehadirans.ToArray(); if (DropDownListEmployee.SelectedValue != "0") { LogAbsensiDB = LogAbsensiDB.Where(item => item.IDPengguna == DropDownListEmployee.SelectedValue.ToInt()).ToArray(); var LogAbsensiDetail = LogAbsensiDB .Where(item => (item.JamMasuk.Value.Month == int.Parse(bulan) && item.JamKeluar.Value.Month == int.Parse(bulan)) && (item.JamMasuk.Value.Year == int.Parse(DropDownListTahun.SelectedItem.Text) && item.JamKeluar.Value.Year == int.Parse(DropDownListTahun.SelectedItem.Text))) .Select(item => new { Tanggal = item.JamMasuk.Value.Date.ToString("dd, MMMM yyyy"), NamaLengkap = item.TBPengguna.NamaLengkap, Alamat = item.TBPengguna.Alamat, Tlp = item.TBPengguna.Telepon, JamMasuk = item.JamMasuk.Value.ToString("HH:mm"), JamKeluar = item.JamKeluar.Value.ToString("HH:mm"), TotalHr = TimeSpan.Parse(item.TotalJamKerja.Value.ToString("HH:mm")).TotalHours, TotalKeterlambatan = TimeSpan.Parse(item.TotalJamKeterlambatan.Value.ToString("HH:mm")).TotalHours, OverTimeHr = TimeSpan.Parse(item.TotalJamLembur.Value.ToString("HH:mm")).TotalHours }).ToArray(); JumlahKetidakHarian = LogAbsensiDetail.Count() - JumlahHari; LabelAbsensi.Text = " " + Math.Abs(JumlahKetidakHarian).ToString() + " Hari"; RepeaterEmployeePerformance.DataSource = LogAbsensiDetail.OrderBy(item => item.Tanggal); RepeaterEmployeePerformance.DataBind(); } } }
private void LoadData(DateTime tanggalAwal, DateTime tanggalAkhir) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TextBoxTanggalAwal.Text = tanggalAwal.ToString("d MMMM yyyy"); TextBoxTanggalAkhir.Text = tanggalAkhir.ToString("d MMMM yyyy"); if (TextBoxTanggalAwal.Text == TextBoxTanggalAkhir.Text) { LabelPeriode.Text = TextBoxTanggalAwal.Text; } else { LabelPeriode.Text = TextBoxTanggalAwal.Text + " - " + TextBoxTanggalAkhir.Text; } var DataPegawaiDB = db.TBPenggunas.ToArray(); var LogAbsensiDB = db.TBPenggunaLogKehadirans.ToArray(); if (DropDownListEmployee.SelectedValue != "0") { LogAbsensiDB = LogAbsensiDB.Where(item => item.IDPengguna == DropDownListEmployee.SelectedValue.ToInt()).ToArray(); } var LogAbsensiDetail = LogAbsensiDB .Where(item => item.JamMasuk.Value.Date >= DateTime.Parse(TextBoxTanggalAwal.Text).Date&& item.JamKeluar.Value.Date <= DateTime.Parse(TextBoxTanggalAkhir.Text).Date) .GroupBy(item => new { IDPengguna = item.IDPengguna, NamaLengkap = item.TBPengguna.NamaLengkap }) .Select(item => new { item.Key, Alamat = item.FirstOrDefault().TBPengguna.Alamat, Telepon = item.FirstOrDefault().TBPengguna.Telepon, TotalHr = item.Sum(item2 => (TimeSpan.Parse(item2.TotalJamKerja.Value.ToString("HH:mm")).TotalHours)), OverTimeHr = item.Sum(item2 => (TimeSpan.Parse(item2.TotalJamLembur.Value.ToString("HH:mm")).TotalHours)), TotalKeterlambatan = item.Sum(item2 => (TimeSpan.Parse(item2.TotalJamKeterlambatan.Value.ToString("HH:mm")).TotalHours)) }).ToArray(); //(item.JamKeluar.Value - item.JamMasuk.Value).TotalHours //var hasil = db.TBSuppliers.AsEnumerable().Select(item => new //{ // item.IDSupplier, // Supplier = item.Nama, // item.Alamat, // TotalPO = poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier).Select(data => data.IDPOBahanBaku).Distinct().Count(), // Penerimaan = poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier).Select(data => data.IDPOBahanBaku).Count() == 0 ? -1 : ((decimal)poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier).Sum(data => data.JumlahDiTerima.Value) / (decimal)poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier).Sum(data => data.TotalDatang.Value)) * 100, // Pengiriman = poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier).Select(data => data.IDPOBahanBaku).Count() == 0 ? -1 : ((decimal)poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier && data.TanggalTerima.Value.Date <= data.TanggalPengiriman.Value.Date).Select(data => data.IDPOBahanBaku).Count() / (decimal)poBahanBakuDetail.Where(data => data.IDSupplier == item.IDSupplier).Select(data => data.IDPOBahanBaku).Count()) * 100 //}).ToArray(); //if (DropDownListSupplier.SelectedValue != "0") //{ // hasil = hasil.Where(item => item.IDSupplier == DropDownListSupplier.SelectedValue.ToInt()).ToArray(); //} RepeaterEmployeePerformance.DataSource = LogAbsensiDetail; RepeaterEmployeePerformance.DataBind(); } }