Example #1
0
    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();
            }
        }
    }
Example #2
0
    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();
        }
    }