private void chk_CheckedChanged(object sender, System.EventArgs e) { var chk = ((CheckBox)sender); var enrollName = _imputed.ToString(); var finger = chk.Name[3] - "A"[0]; var value = !chk.Checked; var deviceId = long.Parse(cboDevices.SelectedValue.ToString()); var device = _service.Devices(DeviceType.Imputed).First(d => d.id == deviceId); if (!device.IsAlive()) { CheckBoxState(chk, value); MessageBox.Show(this, string.Format(@"El dispositivo biométrico ""{0}"" no se encuentra disponible o no es accesible", device.name), @"Enrolamiento de Imputados", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } if (value) { if (MessageBox.Show(@"¿Desea eliminar la huella digital capturada?", @"Enrolamiento de Imputados", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.No) { CheckBoxState(chk, true); return; } _service.UpdateImputedFingerPrint(_user, enrollName, finger, null, Service.FingerPrintOperation.Delete); } else { var frm = new FrmEnroll(); frm.Show(this); Work(); _service.ClearEvents(); _service.EnrollCompleted += (o, args) => { frm.Close(); End(); if (!args.Result) { CheckBoxState(chk, false); return; } _service.UpdateImputedFingerPrint(_user, enrollName, args.Finger, args.FingerPrint, Service.FingerPrintOperation.Update); }; _service.Enroll(deviceId, enrollName, finger); } }