예제 #1
0
        private static void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            IServiceProvider serviceProvider = DIFaceIdTDA.GetServiceProvider();
            var directoryTraverse            = serviceProvider.GetRequiredService <DirectoryTraverse>();

            directoryTraverse.Retrieve();
        }
예제 #2
0
        public static void InitializeLog()
        {
            IServiceProvider serviceProvider = DIFaceIdTDA.GetServiceProvider();
            var loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>();

            loggerFactory.AddNLog();
            NLog.LogManager.LoadConfiguration("NLog.config");
        }
예제 #3
0
        static void Main(string[] args)
        {
            DIFaceIdTDA.InitializeDependencyInjection();

            InitializeLog();

            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
            timer.Interval = 2000;
            timer.Enabled  = true;

            Console.WriteLine("AsyncIOT Lift Service started.");
            Console.ReadLine();
            timer.Dispose();
            Console.WriteLine("AsyncIOT Lift Service stopped.");
        }
예제 #4
0
        public void Retrieve()
        {
            lock (imageDictionary)
            {
                DirectoryInfo ftpDirectory = new DirectoryInfo(Program.FTP_DIRECTORY);

                IList <FileInfo> fileToBeDeleted = new List <FileInfo>();
                foreach (FileInfo nextFile in ftpDirectory.GetFiles())
                {
                    fileToBeDeleted.Add(nextFile);
                    string[] fileNameItems = nextFile.Name.Split(".");
                    if (fileNameItems.Length == 2)
                    {
                        string filename = fileNameItems[0];

                        Image image = null;
                        if (!imageDictionary.TryGetValue(filename, out image))
                        {
                            IServiceProvider serviceProvider = DIFaceIdTDA.GetServiceProvider();
                            image = serviceProvider.GetRequiredService <Image>();
                            imageDictionary[filename] = image;

                            string[] items = filename.Split("_");
                            if (items.Length == 6)
                            {
                                image.zptime    = items[0];
                                image.puid      = "315700010001";
                                image.faceid    = Int32.Parse(items[2]) * 10 + Int32.Parse(items[3]);
                                image.remark    = items[4] + "_" + items[5];
                                image.latitude  = 29.466893;
                                image.longitude = 121.882763;
                            }
                        }

                        switch (nextFile.Extension.ToLower())
                        {
                        case (".jpg"):
                            image.jpgFile = nextFile;
                            break;

                        case (".jpeg"):
                            image.jpegFile = nextFile;
                            break;
                        }

                        if (image.jpegFile != null && image.jpgFile != null)
                        {
                            imageDictionary.Remove(filename);
                            Console.WriteLine(string.Format("Parse {0}: {1}", image.faceid, image.jpegFile.Name));
                            string response = FormUpload.MultipartFormPost(Program.REMOTE_SERVER, image, headerDictionary);

                            IServiceProvider serviceProvider = DIFaceIdTDA.GetServiceProvider();
                            ILogger          logger          = serviceProvider.GetRequiredService <ILogger <Program> >();
                            logger.LogI(response);
                        }
                    }
                }

                foreach (FileInfo fileInfo in fileToBeDeleted)
                {
                    File.Delete(fileInfo.FullName);
                }
                fileToBeDeleted.Clear();
                imageDictionary.Clear();
            }
        }