private void uploadPegawaiMesinToolStripMenuItem_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; updater.DoUpdate(false); var log = fp.upload_download.Where(x => x.upload_download_jenis == "Upload Pegawai ke Mesin").OrderByDescending(x => x.upload_download_id).FirstOrDefault(); if (log != null) { if (MessageBox.Show("Upload Terakhir " + log.upload_download_tanggal.ToString("dd MMMM yyyy, hh:mm:ss") + "\nApakah anda ingin upload?", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { upload_download upload = new upload_download(); upload.upload_download_jenis = "Upload Pegawai ke Mesin"; upload.upload_download_tanggal = DateTime.Now; fp.upload_download.Add(upload); fp.SaveChanges(); FormProsesUploadPegawaiKeMesin proses = new FormProsesUploadPegawaiKeMesin(); proses.StartPosition = FormStartPosition.CenterParent; proses.ShowDialog(this); } } else { upload_download upload = new upload_download(); upload.upload_download_jenis = "Upload Pegawai ke Mesin"; upload.upload_download_tanggal = DateTime.Now; fp.upload_download.Add(upload); fp.SaveChanges(); FormProsesUploadPegawaiKeMesin proses = new FormProsesUploadPegawaiKeMesin(); proses.StartPosition = FormStartPosition.CenterParent; proses.ShowDialog(this); } }
private void btnSimpan_Click(object sender, EventArgs e) { try { fingerprintEntities fp = new fingerprintEntities(); upload_download upload = new upload_download(); upload.upload_download_keterangan = "Data " + dtTanggal1.Value.ToString("dd MMMM yyyy") + " s/d " + dtTanggal2.Value.ToString("dd MMMM yyyy"); upload.upload_download_jenis = "Upload Absen"; upload.upload_download_tanggal = DateTime.Now; fp.upload_download.Add(upload); fp.SaveChanges(); FormProsesUploadAbsensiKeWeb proses = new FormProsesUploadAbsensiKeWeb(); proses.tgl1 = dtTanggal1.Value; proses.tgl2 = dtTanggal2.Value; proses.StartPosition = FormStartPosition.CenterParent; proses.ShowDialog(this); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnSimpan_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; foreach (DataGridViewRow row in dgLog.Rows) { DateTime wkt = DateTime.Parse(row.Cells["Waktu"].Value.ToString()); log data = new log(); data.pegawai_id = row.Cells["ID"].Value.ToString(); data.log_tanggal = DateTime.Parse(row.Cells["Tanggal"].Value.ToString()); data.log_jam = wkt.TimeOfDay; data.log_kode = "100"; data.log_status = row.Cells["Jenis"].Value.ToString(); fp.logs.Add(data); fp.SaveChanges(); } MessageBox.Show("Berhasil menyimpan data log"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnSimpan_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; fingerprintEntities fp = new fingerprintEntities(); fp.Database.ExecuteSqlCommand("delete from aturan"); aturan senin = new aturan(); senin.aturan_hari = 2; senin.aturan_kegiatan = cbHariSenin.Checked; senin.aturan_jam_masuk = dtMasukSenin.Value.TimeOfDay; senin.aturan_jam_pulang = dtPulangSenin.Value.TimeOfDay; senin.aturan_jam_masuk_khusus = dtMasukKhususSenin.Value.TimeOfDay; senin.aturan_jam_pulang_khusus = dtPulangKhususSenin.Value.TimeOfDay; fp.aturans.Add(senin); aturan selasa = new aturan(); selasa.aturan_hari = 3; selasa.aturan_kegiatan = cbHariSelasa.Checked; selasa.aturan_jam_masuk = dtMasukSelasa.Value.TimeOfDay; selasa.aturan_jam_pulang = dtPulangSelasa.Value.TimeOfDay; selasa.aturan_jam_masuk_khusus = dtMasukKhususSelasa.Value.TimeOfDay; selasa.aturan_jam_pulang_khusus = dtPulangKhususSelasa.Value.TimeOfDay; fp.aturans.Add(selasa); aturan rabu = new aturan(); rabu.aturan_hari = 4; rabu.aturan_kegiatan = cbHariRabu.Checked; rabu.aturan_jam_masuk = dtMasukRabu.Value.TimeOfDay; rabu.aturan_jam_pulang = dtPulangRabu.Value.TimeOfDay; rabu.aturan_jam_masuk_khusus = dtMasukKhususRabu.Value.TimeOfDay; rabu.aturan_jam_pulang_khusus = dtPulangKhususRabu.Value.TimeOfDay; fp.aturans.Add(rabu); aturan kamis = new aturan(); kamis.aturan_hari = 5; kamis.aturan_kegiatan = cbHariKamis.Checked; kamis.aturan_jam_masuk = dtMasukKamis.Value.TimeOfDay; kamis.aturan_jam_pulang = dtPulangKamis.Value.TimeOfDay; kamis.aturan_jam_masuk_khusus = dtMasukKhususKamis.Value.TimeOfDay; kamis.aturan_jam_pulang_khusus = dtPulangKhususKamis.Value.TimeOfDay; fp.aturans.Add(kamis); aturan jumat = new aturan(); jumat.aturan_hari = 6; jumat.aturan_kegiatan = cbHariJumat.Checked; jumat.aturan_jam_masuk = dtMasukJumat.Value.TimeOfDay; jumat.aturan_jam_pulang = dtPulangJumat.Value.TimeOfDay; jumat.aturan_jam_masuk_khusus = dtMasukKhususJumat.Value.TimeOfDay; jumat.aturan_jam_pulang_khusus = dtPulangKhususJumat.Value.TimeOfDay; fp.aturans.Add(jumat); aturan sabtu = new aturan(); sabtu.aturan_hari = 7; sabtu.aturan_kegiatan = cbHariSabtu.Checked; sabtu.aturan_jam_masuk = dtMasukSabtu.Value.TimeOfDay; sabtu.aturan_jam_pulang = dtPulangSabtu.Value.TimeOfDay; sabtu.aturan_jam_masuk_khusus = dtMasukKhususSabtu.Value.TimeOfDay; sabtu.aturan_jam_pulang_khusus = dtPulangKhususSabtu.Value.TimeOfDay; fp.aturans.Add(sabtu); aturan minggu = new aturan(); minggu.aturan_hari = 1; minggu.aturan_kegiatan = cbHariMinggu.Checked; minggu.aturan_jam_masuk = dtMasukMinggu.Value.TimeOfDay; minggu.aturan_jam_pulang = dtPulangMinggu.Value.TimeOfDay; minggu.aturan_jam_masuk_khusus = dtMasukKhususMinggu.Value.TimeOfDay; minggu.aturan_jam_pulang_khusus = dtPulangKhususMinggu.Value.TimeOfDay; fp.aturans.Add(minggu); fp.SaveChanges(); MessageBox.Show("Berhasil menyimpan data aturan"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void bwPosting_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { var noNIP = fp.pegawais.Where(x => x.pegawai_nip.Equals(null) || x.pegawai_nip.Trim().Equals("")).Count(); if (noNIP > 0) { MessageBox.Show("Tidak dapat memposting.\nMasih ada data pegawai dengan nip kosong"); e.Cancel = true; return; } upload_download upload = new upload_download(); upload.upload_download_keterangan = "Data " + tgl1.ToString("dd MMMM yyyy") + " s/d " + tgl1.ToString("dd MMMM yyyy"); upload.upload_download_jenis = "Rekap Absen"; upload.upload_download_tanggal = DateTime.Now; fp.upload_download.Add(upload); fp.SaveChanges(); lblProses.Invoke(new Action(() => lblProses.Text = "Menghapus data " + tgl1.ToString("dd MMMM yyyy") + " s/d " + tgl1.ToString("dd MMMM yyyy"))); fp.absens.RemoveRange(fp.absens.Where(x => x.absen_tanggal >= tgl1.Date || x.absen_tanggal <= tgl1.Date)); fp.SaveChanges(); lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data aturan")); var dtAturan = fp.aturans.ToList(); lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data hari khusus")); var dtKhusus = fp.hari_khusus.Where(x => x.hari_khusus_tanggal >= tgl1 && x.hari_khusus_tanggal <= tgl2).ToList(); lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data hari libur")); var dtLibur = fp.liburs.Where(x => x.libur_tanggal >= tgl1 || x.libur_tanggal <= tgl2).ToList(); lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data hari log")); var log = fp.logs.Where(x => x.log_tanggal >= tgl1 && x.log_tanggal <= tgl2).ToList(); Console.WriteLine(log.Count); lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data izin")); var izin = fp.izins.Where(x => x.izin_tanggal >= tgl1 && x.izin_tanggal <= tgl2).ToList(); var pegawai = fp.pegawais.ToList(); var jml = pegawai.Count() <= 0 ? 1 : pegawai.Count(); int i = 1; foreach (var row in pegawai) { var pegawai_id = row.pegawai_id; List <absen> dtAbsen = new List <absen>(); for (var tgl = tgl1; tgl <= tgl2; tgl = tgl.AddDays(1)) { lblProses.Invoke(new Action(() => lblProses.Text = "Memproses log " + row.pegawai_nama + " tanggal " + tgl.ToString())); var aturan = dtAturan.Where(x => x.aturan_hari.Equals((int)tgl.DayOfWeek + 1)).FirstOrDefault(); string absen_hari = "b"; TimeSpan masuk = aturan.aturan_jam_masuk; TimeSpan pulang = aturan.aturan_jam_pulang; var khusus = dtKhusus.Where(x => x.hari_khusus_tanggal.Equals(tgl)).FirstOrDefault(); var libur = dtLibur.Where(x => x.libur_tanggal.Equals(tgl)).FirstOrDefault(); if (aturan.aturan_kegiatan == false) { absen_hari = "l"; } else { if (libur != null) { absen_hari = "l"; } else { if (khusus != null) { absen_hari = "k"; masuk = aturan.aturan_jam_masuk_khusus; pulang = aturan.aturan_jam_pulang_khusus; } else { absen_hari = "b"; } } } DateTime absen_tanggal = tgl; string absen_izin = izin.Where(x => x.izin_tanggal.Equals(tgl) && x.pegawai_id.Equals(pegawai_id)).Select(x => x.izin_jenis).SingleOrDefault(); TimeSpan absen_masuk = TimeSpan.Parse("00:00:00"); if (kd_masuk != "") { absen_masuk = log.Where(x => x.pegawai_id.Equals(pegawai_id) && x.log_tanggal.Equals(tgl) && x.log_status.Equals(kd_masuk)).OrderBy(x => x.log_jam).Select(x => x.log_jam).FirstOrDefault(); } else { absen_masuk = log.Where(x => x.pegawai_id.Equals(pegawai_id) && x.log_tanggal.Equals(tgl)).OrderBy(x => x.log_jam).Select(x => x.log_jam).FirstOrDefault(); } TimeSpan absen_telat = TimeSpan.Parse("00:00:00"); if (absen_hari == "b") { if (absen_masuk > aturan.aturan_jam_masuk) { absen_telat = absen_masuk - aturan.aturan_jam_masuk; } } TimeSpan absen_pulang = TimeSpan.Parse("00:00:00"); if (kd_pulang != "") { absen_pulang = log.Where(x => x.pegawai_id.Equals(pegawai_id) && x.log_tanggal.Equals(tgl) && x.log_status.Equals(kd_pulang)).OrderByDescending(x => x.log_jam).Select(x => x.log_jam).FirstOrDefault(); } else { absen_pulang = log.Where(x => x.pegawai_id.Equals(pegawai_id) && x.log_tanggal.Equals(tgl)).OrderByDescending(x => x.log_jam).Select(x => x.log_jam).FirstOrDefault(); } absen data = new absen() { pegawai_id = pegawai_id, absen_tanggal = absen_tanggal, absen_hari = absen_hari, absen_izin = absen_izin, absen_telat = (absen_izin != null || absen_hari == "l"? TimeSpan.Parse("00:00:00") : absen_telat), absen_masuk = (absen_izin != null || absen_hari == "l" ? TimeSpan.Parse("00:00:00") : absen_masuk), absen_pulang = (absen_izin != null || absen_hari == "l" ? TimeSpan.Parse("00:00:00") : absen_pulang), absen_istirahat = TimeSpan.Parse("00:00:00"), absen_kembali = TimeSpan.Parse("00:00:00"), absen_lembur = TimeSpan.Parse("00:00:00"), absen_lembur_pulang = TimeSpan.Parse("00:00:00") }; fp.absens.Add(data); fp.SaveChanges(); } var persentage = i * 100 / jml; bwUpload.ReportProgress(persentage); i += 1; } bwUpload.ReportProgress(100); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void bwPosting_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { bool bIsConnected = false; int idwErrorCode = 0; lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data mesin")); var mesin = fp.mesins.ToList(); int no = 1; int jumlah = 0; foreach (var msn in mesin) { progressBar.Value = 0; bwDownload.ReportProgress(0); lblProses.Invoke(new Action(() => lblProses.Text = "Melakukan koneksi ke mesin " + msn.mesin_nama + ", IP " + msn.mesin_ip + ", port " + msn.mesin_key)); bIsConnected = axCZKEM1.Connect_Net(msn.mesin_ip.Trim(), Convert.ToInt32(msn.mesin_key.Trim())); if (bIsConnected == false) { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Koneksi ke mesin " + msn.mesin_nama + ", IP " + msn.mesin_ip + ", port " + msn.mesin_key + " GAGAL " + idwErrorCode.ToString())); gagal.Add("gagal"); } else { iMachineNumber = no; axCZKEM1.RegEvent(iMachineNumber, 65535); string sdwEnrollNumber = ""; int idwVerifyMode = 0; int idwInOutMode = 0; int idwYear = 0; int idwMonth = 0; int idwDay = 0; int idwHour = 0; int idwMinute = 0; int idwSecond = 0; int idwWorkcode = 0; int iValue = 400; axCZKEM1.EnableDevice(iMachineNumber, false); lblProses.Invoke(new Action(() => lblProses.Text = "Menghitung jumlah data absensi")); if (!axCZKEM1.GetDeviceStatus(iMachineNumber, 6, ref iValue)) { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Operation failed,ErrorCode=" + idwErrorCode.ToString())); e.Cancel = true; return; } lblProses.Invoke(new Action(() => lblProses.Text = "Mendownload " + iValue.ToString() + " data absensi")); if (axCZKEM1.ReadAllGLogData(iMachineNumber)) { var pegawai = fp.pegawais.ToList(); int nomor = 1; while (axCZKEM1.SSR_GetGeneralLogData(iMachineNumber, out sdwEnrollNumber, out idwVerifyMode, out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode)) { try { if (pegawai.Where(s => s.pegawai_id.Equals(sdwEnrollNumber)).Count() > 0) { log data = new log(); data.pegawai_id = sdwEnrollNumber; data.log_tanggal = DateTime.Parse(idwYear + "-" + idwMonth + "-" + idwDay); data.log_jam = TimeSpan.Parse(idwHour + ":" + idwMinute + ":" + idwSecond); data.log_kode = idwVerifyMode.ToString(); data.log_status = idwInOutMode.ToString(); fp.logs.Add(data); lblProses.Invoke(new Action(() => lblProses.Text = "Menyimpan data ke " + nomor + "/" + iValue + " ID " + sdwEnrollNumber + ", tanggal " + idwYear + "-" + idwMonth + "-" + idwDay + ", waktu " + idwHour + ":" + idwMinute + ":" + idwSecond + " status " + idwInOutMode.ToString() + ", BERHASIL")); jumlah += 1; } } catch (Exception ex) { gagal.Add("ID " + sdwEnrollNumber + ", tanggal " + idwYear + "-" + idwMonth + "-" + idwDay + ", waktu " + idwHour + ":" + idwMinute + ":" + idwSecond + " status " + idwInOutMode.ToString() + " ke " + nomor + "/" + iValue); lblProses.Invoke(new Action(() => lblProses.Text = "Menyimpan data ke " + nomor + "/" + iValue + " ID " + sdwEnrollNumber + ", tanggal " + idwYear + "-" + idwMonth + "-" + idwDay + ", waktu " + idwHour + ":" + idwMinute + ":" + idwSecond + " status " + idwInOutMode.ToString() + ", GAGAL " + ex.Message)); } fp.SaveChanges(); int percentage = nomor * 100 / iValue; nomor++; bwDownload.ReportProgress(percentage); } if (axCZKEM1.ClearGLog(iMachineNumber)) { axCZKEM1.RefreshData(iMachineNumber); lblProses.Invoke(new Action(() => lblProses.Text = "Menghapus Data absen di mesin")); } else { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Operation failed,ErrorCode=" + idwErrorCode.ToString())); } } else { Cursor = Cursors.Default; axCZKEM1.GetLastError(ref idwErrorCode); if (idwErrorCode != 0) { lblProses.Invoke(new Action(() => lblProses.Text = "Reading data from terminal failed,ErrorCode: " + idwErrorCode.ToString().ToString())); } else { lblProses.Invoke(new Action(() => lblProses.Text = "No data from terminal returns!")); } } no += 1; axCZKEM1.EnableDevice(iMachineNumber, true); axCZKEM1.Disconnect(); } } if (gagal.Count > 0) { lblProses.Invoke(new Action(() => lblProses.Text = "Gagal mendownload " + gagal.Count + " data absensi")); MessageBox.Show("Gagal mendownload " + gagal.Count + " data absensi"); e.Cancel = true; } else { lblProses.Invoke(new Action(() => lblProses.Text = "Berhasil mendownload " + jumlah.ToString() + " data absensi dari mesin")); MessageBox.Show("Berhasil mendownload " + jumlah.ToString() + " data absensi dari mesin"); } }
private void bwPosting_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { bool bIsConnected = false; int idwErrorCode = 0; lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data mesin")); var mesin = fp.mesins.ToList(); int no = 1; int jumlah = 0; foreach (var msn in mesin) { progressBar.Value = 0; bwDownload.ReportProgress(0); lblProses.Invoke(new Action(() => lblProses.Text = "Melakukan koneksi ke mesin " + msn.mesin_nama + ", IP " + msn.mesin_ip + ", port " + msn.mesin_key)); bIsConnected = axCZKEM1.Connect_Net(msn.mesin_ip, Convert.ToInt32(msn.mesin_key)); if (bIsConnected == false) { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Koneksi ke mesin " + msn.mesin_nama + ", IP " + msn.mesin_ip + ", port " + msn.mesin_key + " GAGAL " + idwErrorCode.ToString())); gagal.Add("gagal"); } else { iMachineNumber = no; axCZKEM1.RegEvent(iMachineNumber, 65535); int iUpdateFlag = 1; axCZKEM1.EnableDevice(iMachineNumber, false); if (axCZKEM1.BeginBatchUpdate(iMachineNumber, iUpdateFlag))//create memory space for batching data { string sdwEnrollNumber = ""; string nip = ""; string sName = ""; int idwFingerIndex = 0; string sTmpData = ""; int iPrivilege = 0; string sPassword = ""; bool bEnabled = true; int iFlag = 1; lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data pegawai")); var pegawai = fp.pegawais.ToList(); string sLastEnrollNumber = "";//the former enrollnumber you have upload(define original value as 0) var nomor = 1; int iValue = pegawai.Count(); foreach (var row in pegawai) { sdwEnrollNumber = row.pegawai_id.ToString(); sName = row.pegawai_panggilan; nip = row.pegawai_nip; iPrivilege = row.pegawai_izin == "0" ? 3 : 0; sPassword = row.pegawai_sandi; if (axCZKEM1.SSR_SetUserInfo(iMachineNumber, sdwEnrollNumber, sName, sPassword, iPrivilege, bEnabled)) { lblProses.Invoke(new Action(() => lblProses.Text = "Mengupload data pegawai " + nip)); var data = fp.pegawais.Where(x => x.pegawai_id.Equals(sdwEnrollNumber)).FirstOrDefault(); data.upload = true; fp.SaveChanges(); jumlah += 1; } else { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Operation failed,ErrorCode=" + idwErrorCode.ToString())); gagal.Add("ID " + sdwEnrollNumber + ", nip " + nip); } int percentage = nomor * 100 / iValue; nomor++; bwDownload.ReportProgress(percentage); } } axCZKEM1.BatchUpdate(iMachineNumber); //upload all the information in the memory axCZKEM1.RefreshData(iMachineNumber); //the data in the device should be refreshed axCZKEM1.EnableDevice(iMachineNumber, true); } no += 1; axCZKEM1.EnableDevice(iMachineNumber, true); axCZKEM1.Disconnect(); } if (gagal.Count > 0) { lblProses.Invoke(new Action(() => lblProses.Text = "Gagal mengupload " + gagal.Count + " data pegawai")); MessageBox.Show("Gagal mendownload " + gagal.Count + " data pegawai"); e.Cancel = true; } else { lblProses.Invoke(new Action(() => lblProses.Text = "Berhasil mengupload " + jumlah.ToString() + " data pegawai ke mesin")); MessageBox.Show("Berhasil mengupload " + jumlah.ToString() + " data pegawai ke mesin"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void bwPosting_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { bool bIsConnected = false; int idwErrorCode = 0; lblProses.Invoke(new Action(() => lblProses.Text = "Mengambil data mesin")); var mesin = fp.mesins.ToList(); int no = 1; int jumlah = 0; foreach (var msn in mesin) { progressBar.Value = 0; bwDownload.ReportProgress(0); lblProses.Invoke(new Action(() => lblProses.Text = "Melakukan koneksi ke mesin " + msn.mesin_nama + ", IP " + msn.mesin_ip + ", port " + msn.mesin_key)); bIsConnected = axCZKEM1.Connect_Net(msn.mesin_ip.Trim(), Convert.ToInt32(msn.mesin_key.Trim())); if (bIsConnected == false) { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Koneksi ke mesin " + msn.mesin_nama + ", IP " + msn.mesin_ip + ", port " + msn.mesin_key + " GAGAL " + idwErrorCode.ToString())); gagal.Add("gagal"); } else { iMachineNumber = no; axCZKEM1.RegEvent(iMachineNumber, 65535); string sdwEnrollNumber = ""; string sName = ""; string sPassword = ""; int iPrivilege = 0; bool bEnabled = false; int iValue = 0; lblProses.Invoke(new Action(() => lblProses.Text = "Menghitung jumlah data pegawai")); axCZKEM1.EnableDevice(iMachineNumber, false); if (axCZKEM1.GetDeviceStatus(iMachineNumber, 2, ref iValue)) { int nomor = 1; axCZKEM1.ReadAllUserID(iMachineNumber); lblProses.Invoke(new Action(() => lblProses.Text = "Mendownload " + iValue.ToString() + " data pegawai")); while (axCZKEM1.SSR_GetAllUserInfo(iMachineNumber, out sdwEnrollNumber, out sName, out sPassword, out iPrivilege, out bEnabled)) { try { if (fp.pegawais.Where(x => x.pegawai_id.Equals(sdwEnrollNumber)).Count() == 0) { pegawai data = new pegawai(); data.pegawai_id = sdwEnrollNumber; data.pegawai_nip = ""; data.pegawai_nama = ""; data.pegawai_panggilan = sName; data.pegawai_golongan = ""; data.pegawai_jenis_kelamin = ""; data.pegawai_izin = iPrivilege == 3 ? "0" : "1"; data.pegawai_sandi = sPassword; data.upload = true; fp.pegawais.Add(data); fp.SaveChanges(); } else { var data = fp.pegawais.Where(x => x.pegawai_id.Equals(sdwEnrollNumber)).FirstOrDefault(); data.pegawai_id = sdwEnrollNumber; data.pegawai_panggilan = sName; data.pegawai_izin = iPrivilege == 3 ? "0" : "1"; data.pegawai_sandi = sPassword; data.upload = true; fp.SaveChanges(); } jumlah += 1; lblProses.Invoke(new Action(() => lblProses.Text = "Menyimpan data ID " + sdwEnrollNumber + ", nama " + sName + ", BERHASIL")); } catch { gagal.Add("ID " + sdwEnrollNumber + ", nama " + sName); lblProses.Invoke(new Action(() => lblProses.Text = "Menyimpan data ID " + sdwEnrollNumber + ", nama " + sName + ", GAGAL")); } int percentage = nomor * 100 / iValue; nomor++; bwDownload.ReportProgress(percentage); } axCZKEM1.EnableDevice(iMachineNumber, true); } else { axCZKEM1.GetLastError(ref idwErrorCode); lblProses.Invoke(new Action(() => lblProses.Text = "Operation failed,ErrorCode=" + idwErrorCode.ToString())); } no += 1; axCZKEM1.EnableDevice(iMachineNumber, true); axCZKEM1.Disconnect(); } } if (gagal.Count > 0) { lblProses.Invoke(new Action(() => lblProses.Text = "Gagal mendownload " + gagal.Count + " data pegawai")); MessageBox.Show("Gagal mendownload " + gagal.Count + " data pegawai"); e.Cancel = true; } else { lblProses.Invoke(new Action(() => lblProses.Text = "Berhasil mendownload " + jumlah.ToString() + " data pegawai dari mesin")); MessageBox.Show("Berhasil mendownload " + jumlah.ToString() + " data pegawai dari mesin"); } }