public Empleado CheckFingerAdmin(byte[] huella) { var puestos = new int[] { //(int)Common.Constants.Puesto.CJA, //,JFA = 1 //JEFE DE ADMINISTRACIÓN //,GEA = 10 //GERENTE ADMINISTRATIVO //,AUD = 13 //AUDITOR //,EGR = 17 //EGRESOS //,AXC = 35 //AUXILIAR CONTABLE //,AUA = 52 //AUXILIAR ADMINISTRACION //,MEN = 14 //MENSAJERO }; var proxy = new System.ServiceModel.ChannelFactory <Common.ServiceContracts.ILocalService>("*").CreateChannel(); var ctx = new DataAccess.SirCoNominaDataContext(); //var helper = new BusinessLogic.Helpers.FingerHelper(); var q = ctx.Empleados.Where(i => i.Huellas.Any() && i.iddepto == (int)Common.Constants.Departamento.ADM //&& puestos.Contains(i.idpuesto) && i.estatus == "A"); DataAccess.SirCoNomina.Empleado item = null; var huellas = new Dictionary <int, byte[]>(); var empleados = new Dictionary <int, DataAccess.SirCoNomina.Empleado>(); foreach (var empleado in q) { foreach (var dedo in empleado.Huellas) { empleados.Add(dedo.iddedo, empleado); huellas.Add(dedo.iddedo, dedo.template); } } var did = proxy.Find(huella, huellas); if (did.HasValue) { item = empleados[did.Value]; } if (item != null) { return(new Empleado { Id = item.idempleado, Clave = item.clave, ApellidoMaterno = item.apmaterno, ApellidoPaterno = item.appaterno, Nombre = item.nombre, Usuario = item.usuariosistema }); } return(null); }
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| public Empleado CheckFingerLogin(string sucursal, byte[] huella) { var puestos = new int[] { (int)Common.Constants.Puesto.CJA, (int)Common.Constants.Puesto.ENC, (int)Common.Constants.Puesto.SUP }; var proxy = new System.ServiceModel.ChannelFactory <Common.ServiceContracts.ILocalService>("*").CreateChannel(); var ctx = new DataAccess.SirCoNominaDataContext(); //var helper = new BusinessLogic.Helpers.FingerHelper(); var q = ctx.Empleados.Where(i => i.HuellasPOS.Any() && i.iddepto == (int)Common.Constants.Departamento.TDA && puestos.Contains(i.idpuesto) && i.estatus == "A" && i.clave.Substring(0, 2) == sucursal) .OrderByDescending(i => i.idpuesto); DataAccess.SirCoNomina.Empleado item = null; var valid = false; foreach (var empleado in q) { foreach (var dedo in empleado.HuellasPOS) { //if (helper.Verify(huella, dedo.template)) if (proxy.Match(huella, dedo.template)) { item = empleado; valid = true; break; } } if (valid) { break; } } if (item != null) { return(new Empleado { Id = item.idempleado, Clave = item.clave, ApellidoMaterno = item.apmaterno, ApellidoPaterno = item.appaterno, Nombre = item.nombre, Usuario = item.usuariosistema }); } return(null); }