Example #1
0
        public void SendPackage_TestMethod()
        {
            var userName = SystemInfo.GetCurrentUserDomainName();
            var uuid     = SystemInfo.GetUUID();
            var req      = new NetRequests();
            var settings = new ConfigurationSettings();

            var hash = HashFunction.Get("SecretWord");

            var photoImg = Image.FromFile("TestImages\\goodPhotoTest.jpg");
            var scanImg  = Image.FromFile("TestImages\\scanTest.jpg");

            var data = new ArmDataPackage()
            {
                Type          = ArmDataPackageType.Preview,
                IIN           = 13543543L,
                Timestamp     = DateTime.Now,
                Comment       = "test",
                Token         = hash,
                UserName      = userName,
                WFMId         = 56789L,
                CameraPicture = photoImg.ToBase64(),
                ScanPicture   = scanImg.ToBase64()
            };
            var sendResult = req.SendPackage(data);

            Assert.IsTrue(sendResult.RequestResult == RequestResultType.Successful);
            //}
        }
        public void ArmDataPackageSerializeTypeToLowerCase_TestMethod()
        {
            var qwe = new ArmDataPackage()
            {
                Type      = ArmDataPackageType.FullFrame,
                Timestamp = DateTime.Now
            };

            var str = Newtonsoft.Json.JsonConvert.SerializeObject(qwe);
            var obj = Newtonsoft.Json.JsonConvert.DeserializeObject <ArmDataPackage>(str);
        }
        public void ReadPaketSaveImg_TestMethod()
        {
            var filePath = @"d:\!!Projects\TechnoServ\SrcCs\PostUserActivity\bin\Debug\Upload\packet_2016-12-27 17-48-24_123465465_123456789012_FullFrame.json";

            string fileContent = "";

            FileHelper.ReadFile(filePath, out fileContent);

            ArmDataPackage package = JsonConvert.DeserializeObject <ArmDataPackage>(fileContent);

            var img = package.ScanPicture.ToImage();

            img.Save(@"d:\frompaket.jpg");
        }
        public List <ArmDataPackage> CreatePackets()
        {
            var result    = new List <ArmDataPackage>();
            var timestamp = DateTime.Now;
            var preview   = new ArmDataPackage
            {
                Type          = ArmDataPackageType.Preview,
                Token         = HashFunction.Get(PrivateKey.SECRET_WORD),
                UserName      = TaskImageIdents.Username,
                IIN           = TaskImageIdents.IIN,
                Timestamp     = timestamp,
                WFMId         = TaskImageIdents.WmfId,
                Comment       = "empty comment",
                CameraPicture = PreviewImgToBase64(WebCamAnalyzeResult),
                ScanPicture   = PreviewImgToBase64(ScannerAnalyzeResult)
            };

            //SaveImages(ScannerAnalyzeResult, "before_send");
            //SaveImages(WebCamAnalyzeResult, "before_send");

            //WebCamAnalyzeResult.FullImage.Save("InPaketwebcamFul" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + ".jpg");
            //WebCamAnalyzeResult.PreviewImage.Save("InPaketwebcamprev" +  DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + ".jpg");


            //ScannerAnalyzeResult.FullImage.Save("InPaketscanImgFull" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + ".jpg");
            //ScannerAnalyzeResult.PreviewImage.Save("InPaketscanImPrev" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + ".jpg");


            var fullFrame = new ArmDataPackage
            {
                Type          = ArmDataPackageType.FullFrame,
                Token         = HashFunction.Get(PrivateKey.SECRET_WORD),
                UserName      = TaskImageIdents.Username,
                IIN           = TaskImageIdents.IIN,
                Timestamp     = timestamp,
                WFMId         = TaskImageIdents.WmfId,
                Comment       = "empty comment",
                CameraPicture = FullImgToBase64(WebCamAnalyzeResult),
                ScanPicture   = FullImgToBase64(ScannerAnalyzeResult)
            };

            result.Add(preview);
            result.Add(fullFrame);


            return(result);
        }
Example #5
0
        public void NetSender_Send_TestMethodAttribute()
        {
            var settings = new ConfigurationSettings();
            var sender   = new NetSender(settings);

            var hash     = HashFunction.Get("SecretWord");
            var userName = SystemInfo.GetCurrentUserDomainName();

            var photoImg = Image.FromFile("TestImages\\goodPhotoTest.jpg");
            var scanImg  = Image.FromFile("TestImages\\scanTest.jpg");

            var dataPreview = new ArmDataPackage()
            {
                Type          = ArmDataPackageType.Preview,
                IIN           = 13543543L,
                Timestamp     = DateTime.Now,
                Comment       = "test",
                Token         = hash,
                UserName      = userName,
                WFMId         = 56789L,
                CameraPicture = photoImg.ToBase64(),
                ScanPicture   = scanImg.ToBase64()
            };

            var dataFull = new ArmDataPackage()
            {
                Type          = ArmDataPackageType.FullFrame,
                IIN           = 13543543L,
                Timestamp     = DateTime.Now,
                Comment       = "test",
                Token         = hash,
                UserName      = userName,
                WFMId         = 56789L,
                CameraPicture = photoImg.ToBase64(),
                ScanPicture   = scanImg.ToBase64()
            };

            var packets = new List <ArmDataPackage>();

            packets.Add(dataFull);
            packets.Add(dataPreview);

            sender.Send(packets);
        }
Example #6
0
        public ResponseResult SendPackage(ArmDataPackage data)
        {
            var urlPart = GetUrlPart(data.Type);
            var client  = new RestClient(GetSetverPart(data.Type));

            client.Timeout = RequestTimeOut;
            var request = GetRequest(urlPart, Method.PUT);

            request.AddBody(data);

            var response = client.Execute(request);

            //  небольшой хак
            if (response.StatusCode == 0)
            {
                return(new ResponseResult(RequestResultType.RequestedHostUnavailable));
            }

            return(new ResponseResult((RequestResultType)(int)response.StatusCode));
        }
Example #7
0
        private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            if (sendTimeStart != sendTimeEnd)
            {
                if (!isBetween(sendTimeStart, sendTimeEnd))
                {
                    logger.Info("It is not the time to start sending. Start time: {0}, end time: {1}, now: {2}. Sleep: {3}", sendTimeStart, sendTimeEnd, DateTime.Now, sleepTimeOnWaitSendOnTime);
                    Thread.Sleep(sleepTimeOnWaitSendOnTime);
                    return;
                }
            }

            if (!sendingProcess)
            {
                lock (lockObject)
                {
                    if (!sendingProcess)
                    {
                        sendingProcess = true;

                        var config    = new CommonLib.ConfigurationSettings();
                        var filesPath = config.GetUploadPath();
                        var files     = Directory.GetFiles(filesPath, "*.json");

                        if (files != null && files.Length > 0)
                        {
                            var fileToSend = getOlderFile(files);
                            var req        = new NetRequests();
                            req.updateUrls();
                            string fileContent = "";
                            if (FileHelper.ReadFile(fileToSend, out fileContent))
                            {
                                ArmDataPackage package = null;
                                try
                                {
                                    package = JsonConvert.DeserializeObject <ArmDataPackage>(fileContent);
                                }
                                catch (Exception ex)
                                {
                                    //  если файл попался хреновый, то мы его удалим, но и запишем его содержимое в лог ошибок
                                    logger.Error(ex, string.Format("Exception when read file packet json. \r\n Packet Content: {0}", fileContent));
                                    if (File.Exists(fileToSend))
                                    {
                                        File.Delete(fileToSend);
                                    }
                                }

                                if (package == null)
                                {
                                    return;
                                }
                                var sendResult = req.SendPackage(package);
                                if (sendResult.RequestResult == RequestResultType.Successful)
                                {
                                    //  del file
                                    logger.Info("Package {0} sending succesfuly", fileToSend);
                                    if (File.Exists(fileToSend))
                                    {
                                        File.Delete(fileToSend);
                                    }
                                    logger.Info("Package {0} deleted", fileToSend);
                                }
                                else
                                {
                                    logger.Error("Coudn't send package {0}, Back-End return error: ({1}){2}. Sleep: {3}", fileToSend, (int)sendResult.RequestResult, sendResult.RequestResult, sleepTimeOnError);
                                    //  ошибка при отправке файла, спим
                                    Thread.Sleep(sleepTimeOnError);
                                }
                            }
                        }
                        else
                        {
                            //  спим, если не нашли файлов для отправки
                            Thread.Sleep(sleepTimeOnNoneFiles);
                            logger.Info("There are no files to send. Sleep: {0}", sleepTimeOnNoneFiles);
                        }
                        sendingProcess = false;
                    }
                }
            }
        }