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