コード例 #1
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine(@"Capturing finger texts to database");

                var thread = new Thread(() => VirdiRepository.Connect());
                thread.Start();

                Console.WriteLine(@"Waiting......");

                Console.WriteLine(@"Type any key to continue after complete the proccess....");

                Console.ReadLine();

                Console.Clear();
                Console.WriteLine(@"Type 1 for read some user finger print or 2 for get all user datas and 3 for imported users");

                var option = Console.ReadLine();

                switch (option)
                {
                case "1":
                    Console.WriteLine(@"Type User Id value");
                    var userId = Console.ReadLine();

                    using (var db = new CaptureFingerTextContext())
                    {
                        var users = db.Users.Where(x => x.UserId.Contains(userId)).ToList();
                        foreach (var user in users)
                        {
                            VirdiRepository.OpenDevice(Encoding.Default.GetString(user.FingerText));
                        }
                    }
                    break;

                case "2":
                    thread = new Thread(() => VirdiRepository.GetUserData());
                    thread.Start();
                    break;

                case "3":
                    Console.WriteLine(@"Importing users");
                    VirdiRepository.ImportUsers();
                    break;

                default:
                    break;
                }

                Console.WriteLine(@"Type any key to finish after complete the proccess....");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadKey();
        }
コード例 #2
0
 private static List <User> GetUsersByName(string name)
 {
     using (var db = new CaptureFingerTextContext())
     {
         var users = db.Users.Where(x => x.Name.Contains(name)).OrderBy(x => x.Name).ToList();
         return(users);
     }
 }
コード例 #3
0
        private static List <string> GetNames()
        {
            List <string> names;

            using (var db = new CaptureFingerTextContext())
            {
                names = db.Users.OrderBy(x => x.Name).Select(x => x.Name).Distinct().ToList();
            }

            return(names);
        }
コード例 #4
0
        private void EventGetUserData(int clientid, int terminalid)
        {
            Console.WriteLine(@"+GetUserInfoList Event");
            var user = new User
            {
                UserId   = _terminalUserData.UserID.ToString(),
                UserName = _terminalUserData.UserName,
                Id       = Guid.NewGuid()
            };

            Console.WriteLine($@"    +Saving {user.UserName} on database");
            try
            {
                for (var i = 0; i < _terminalUserData.CardNumber; i++)
                {
                    user.Rfid = _terminalUserData.RFID[i];
                }

                long nFpDataCount = _terminalUserData.TotalFingerCount;

                for (var i = 0; i < nFpDataCount; i++)
                {
                    var  nFingerId    = _terminalUserData.FingerID[i];
                    long nFpDataSize1 = _terminalUserData.FPSampleDataLength[nFingerId, 0];
                    var  biFpData1    = _terminalUserData.FPSampleData[nFingerId, 0] as byte[];
                    long nFpDataSize2 = _terminalUserData.FPSampleDataLength[nFingerId, 1];
                    var  biFpData2    = _terminalUserData.FPSampleData[nFingerId, 1] as byte[];

                    _fpData.Import(i == 0 ? 1 : 0, nFingerId, 1, 4, (int)(nFpDataSize1 + nFpDataSize2), biFpData1,
                                   biFpData2);
                }
                if (_terminalUserData.TotalFingerCount > 0 && _fpData.FIRLength > 0)
                {
                    user.FingerText = Encoding.Default.GetBytes(_fpData.TextFIR);
                }

                using (var db = new CaptureFingerTextContext())
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                }

                Console.WriteLine(@"     +User was save successfull!");
                Console.WriteLine(@"********************");

                UsersSaved.Add(Convert.ToInt32(user.UserId));
            }
            catch (Exception e)
            {
                Console.WriteLine($@"     +Error on saving {user.UserName} - Error: {e.Message}");
                Console.WriteLine(@"********************");
            }
        }
コード例 #5
0
        public void ImportUsers(List <User> users)
        {
            if (users.Any())
            {
                try
                {
                    var userImported = new UserImported
                    {
                        Id = Guid.NewGuid()
                    };

                    _fpData.ClearFPData();
                    var fingerClasses = new List <FingerClass>();
                    foreach (var user in users)
                    {
                        userImported.Document    = user.Document;
                        userImported.Email       = user.Email;
                        userImported.PhoneNumber = user.PhoneNumber;
                        userImported.Name        = user.Name;
                        userImported.UserName    = user.UserName;
                        userImported.UserId      = user.UserId;

                        fingerClasses.Add(new FingerClass
                        {
                            IndexFinger = user.Nfp,
                            BiFinger1   = user.Bfp1, //_fpData.get_FPSampleData(user.Nfp,0) as byte[],
                            BiFinger2   = user.Bfp2, //_fpData.get_FPSampleData(user.Nfp, 1) as byte[],
                            BiFinger3   = user.Bfp3,
                            BiFinger4   = user.Bfp4,
                            FingerText  = user.FingerText
                        });
                    }

                    Console.WriteLine($@"Starting {userImported.Name} importation");

                    for (var i = 0; i < fingerClasses.Count; i++)
                    {
                        _fpData.Import(i == 0 ? 1 : 0, fingerClasses[i].IndexFinger, 1, 4, fingerClasses[i].GetFirstSize(),
                                       fingerClasses[i].BiFinger1, fingerClasses[i].BiFinger2);
                        //_fpData.Import(0, fingerClasses[i].IndexFinger, 1, 4, fingerClasses[i].GetSecondSize(),
                        //    fingerClasses[i].BiFinger3, fingerClasses[i].BiFinger4);
                    }

                    var fingers = _fpData.TextFIR;

                    userImported.FingerText = Encoding.Default.GetBytes(fingers);
                    //OpenDevice(fingers);

                    using (var db = new CaptureFingerTextContext())
                    {
                        db.UserImported.Add(userImported);
                        db.SaveChanges();
                    }

                    Console.WriteLine($@"User {userImported.Name} was imported");
                }
                catch (DbEntityValidationException e)
                {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Console.WriteLine(
                            $@"Entity of type {eve.Entry.Entity.GetType().Name} in state {
                                    eve.Entry.State
                                } has the following validation errors:");
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Console.WriteLine($@"- Property: {ve.PropertyName}, Error: {ve.ErrorMessage}");
                        }
                    }
                    throw e;
                }
            }
        }