コード例 #1
0
        public static void Main(string[] args)
        {
            CprBroker.Engine.BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), "");
            var filename = @"U12170-P opgavenr 110901 ADRNVN FE";
            var lines    = System.IO.File.ReadAllLines(filename, Constants.TcpClientEncoding)
                           .Where(l => l.Length >= 3)
                           .Select(l => new LineWrapper(l))
                           .Select(l => l.ToWrapper(Constants.DataObjectMap).Contents)
                           .ToArray();
            var text = string.Join("", lines);

            var filename2 = filename + "w111";

            System.IO.File.WriteAllText(filename2, text, Constants.ExtractEncoding);
            //ExtractManager.ImportText(text, filename);
            //ExtractManager.ConvertPersons(100);

            //var filename2 = args[0];
            //var connStr = args[1];
            CprBroker.Engine.BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), "User");
            //BatchClient.Utilities.UpdateConnectionString(connStr);
            ExtractManager.ImportFileInSteps(filename2, 1500, Constants.ExtractEncoding);
            //BulkImport();
            //GetPersons();
            //CprBroker.Engine.BrokerContext.Initialize("fd56ff6b-35bc-4b67-8ae4-bdc4485dc429", "");
            //ExtractManager.ImportDataProviderFolders();
        }
コード例 #2
0
        private void PerformTest(Dictionary <string, object> props)
        {
            ExtractManager extractManager = new ExtractManager();
            var            response       = extractManager.ExtractTextData <ExtractTextResponse>(props);

            PrAssert.That(response, PrIs.ErrorResponse());
            PrAssert.That(response, PrIs.WithHttpCode(System.Net.HttpStatusCode.InternalServerError).Or.HttpCode(System.Net.HttpStatusCode.BadRequest), "Wrong status code!");
            PrAssert.That(response.Result?.Errors?.FirstOrDefault().Code, PrIs.EqualTo((int)ResultCode.KeyNotExit).Or.EqualTo((int)ResultCode.BadRequest), "Wrong code!");
        }
コード例 #3
0
        private static ApiResponse <ExtractTextResponse> ExtractTextRequest(string bucket, List <string> keys, System.Net.Http.HttpMethod httpMethod = null)
        {
            var extractManager = new ExtractManager();
            var requests       = new Dictionary <string, object>
            {
                ["bucket"] = bucket,
                ["keys"]   = keys,
            };

            return(extractManager.ExtractTextData <ExtractTextResponse>(requests, httpMethod));
        }
コード例 #4
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="ExtractMessagePage" /> class.
        /// </summary>
        public ExtractMessagePage()
        {
            this.InitializeComponent();

            ApplicationView.PreferredLaunchViewSize = new Size
            {
                Width = this.applicationWidth, Height = this.applicationHeight
            };
            ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
            ApplicationView.GetForCurrentView()
            .SetPreferredMinSize(new Size(this.applicationWidth, this.applicationHeight));

            this.extractManager = new ExtractManager();
        }
コード例 #5
0
        public void ExtractTextByKeyNotArray()
        {
            var extractManager = new ExtractManager();
            var requests       = new Dictionary <string, object>
            {
                ["bucket"] = FirstBucketName,
                ["keys"]   = TextFileTypeMapper[TextFileType.Doc],
            };
            var response = extractManager.ExtractTextData <ExtractTextResponse>(requests);

            PrAssert.That(response, PrIs.ErrorResponse());
            PrAssert.That(response, PrIs.WithHttpCode(System.Net.HttpStatusCode.InternalServerError), "Wrong status code!");
            PrAssert.That(response.Result.Errors.First().Code, PrIs.EqualTo((int)ResultCode.BadRequest), "Wrong code!");
        }
コード例 #6
0
        public void ExtractTextSpecialJsonRequest(Specials inputType)
        {
            string firstBucket    = FirstBucketName;
            string secondBucket   = SecondBucketName;
            string firstKey       = TextFileTypeMapper[TextFileType.Doc];
            string secondKey      = TextFileTypeMapper[TextFileType.Pdf];
            var    extractManager = new ExtractManager();
            var    specialValues  = GetSpecialJsonRequest(firstBucket, firstKey, secondBucket, secondKey);
            var    response       = extractManager.ExtractTextData <ExtractTextResponse>(specialValues[inputType]);

            PrAssert.That(response, PrIs.ErrorResponse());
            PrAssert.That(response, PrIs.WithHttpCode(System.Net.HttpStatusCode.InternalServerError), "Wrong status code!");
            PrAssert.That(response.Result.Errors.First().Code, PrIs.EqualTo(ResultCode.BadRequest), "Wrong code!");
        }
コード例 #7
0
        public void ExtractTextByBucketNameAndKeysBePlural(string bucket, string key)
        {
            var extractManager = new ExtractManager();
            var requests       = new Dictionary <string, object>
            {
                [bucket] = FirstBucketName,
                [key]    = new List <string> {
                    TextFileTypeMapper[TextFileType.Doc]
                },
            };
            var response = extractManager.ExtractTextData <ExtractTextResponse>(requests);

            PrAssert.That(response, PrIs.ErrorResponse());
            PrAssert.That(response, PrIs.WithHttpCode(System.Net.HttpStatusCode.InternalServerError), "Wrong status code!");
            PrAssert.That(response.Result.Errors.First().Code, PrIs.EqualTo((int)ResultCode.BadRequest), "Wrong code!");
        }
コード例 #8
0
        public static void BulkImport()
        {
            CprBroker.Engine.BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), "");
            int batchCount     = 1000;
            var personRepeates = 2;

            var data = Properties.Resources.U12170_P_opgavenr_110901_ADRNVN_FE;

            var lines = new List <LineWrapper>(LineWrapper.ParseBatch(data));
            var start = lines.First();
            var end   = lines.Last();

            lines.RemoveAt(0);
            lines.RemoveAt(lines.Count - 1);

            var groupsByPerson = lines.GroupBy(l => l.PNR).ToArray();

            for (int iBatch = 0; iBatch < batchCount; iBatch++)
            {
                Console.WriteLine(string.Format("Creating batch <{0}> of <{1}>", iBatch + 1, batchCount));

                StringBuilder fullData = new StringBuilder(data.Length * personRepeates);
                fullData.AppendLine(start.Contents);


                for (int iPerson = 0; iPerson < groupsByPerson.Count(); iPerson++)
                {
                    var personLines = groupsByPerson[iPerson];
                    Console.WriteLine(string.Format("Inserting person<{0}> of <{1}>", iPerson + 1, groupsByPerson.Count()));

                    var personData = new List <LineWrapper>(personLines.ToArray());
                    var pnr        = personData[0].PNR;
                    for (int iRepeat = 0; iRepeat < personRepeates; iRepeat++)
                    {
                        Console.WriteLine(string.Format("Batch <{0}> of <{1}> ; person<{2}> of <{3}> repeat <{4}> of <{5}>", iBatch + 1, batchCount, iPerson + 1, groupsByPerson.Count(), iRepeat + 1, personRepeates));
                        var newPnr     = Utilities.RandomCprNumberString();
                        var personText = string.Join(Environment.NewLine, personData.Select(l => l.Contents).ToArray());
                        personText = personText.Replace(pnr, newPnr);
                        fullData.AppendLine(personText);
                    }
                }
                fullData.AppendLine(end.Contents);

                ExtractManager.ImportText(fullData.ToString());
            }
        }
コード例 #9
0
        public void ValidKeyTest(ValidInputKey validInputKey)
        {
            Dictionary <string, object> request = new Dictionary <string, object>()
            {
                ["bucket"] = ValidBucketMap[ValidInputBucket.BasicLatinBucket],
                ["keys"]   = new List <string>()
                {
                    ValidKeyMap[validInputKey]
                },
            };
            ExtractManager handler  = new ExtractManager();
            var            response = handler.ExtractTextData <ExtractTextResponse>(request);

            PrAssert.That(response, PrIs.SuccessfulResponse());
            PrAssert.That(response.Result.Values?.FirstOrDefault().Key, PrIs.EqualTo(ValidKeyMap[validInputKey]), "Key is Not As Expected");
            PrAssert.That(response.Result.Values?.FirstOrDefault().Value, PrIs.EqualTo(ValidKeyExpectedValues[validInputKey]), "Key is Not As Expected");
        }
コード例 #10
0
        public static void GetPersons()
        {
            //var result = IndividualResponseType.ParseBatch(Properties.Resources.U12170_P_opgavenr_110901_ADRNVN_FE);
            var count = 1000;
            var pnrs  = new List <string>();

            using (ExtractDataContext dataContext = new ExtractDataContext())
            {
                pnrs = dataContext.ExtractItems.Select(item => item.PNR).Distinct().ToList();
            }
            DateTime start = DateTime.Now;

            for (int i = 0; i < count; i++)
            {
                var index = Utilities.Random.Next(0, pnrs.Count);
                Console.WriteLine(string.Format("Loading <{0}> of <{1}> persons", i + 1, count));
                string pnr = pnrs[index];
                var    db  = ExtractManager.GetPerson(pnr);
                //var oio = db.ToRegistreringType1(cpr => Guid.NewGuid(), DateTime.Today);
            }
            Console.WriteLine(DateTime.Now - start);
            Console.ReadLine();
        }
コード例 #11
0
 protected override void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov)
 {
     ExtractManager.ExtractLocalFiles(prov);
 }
コード例 #12
0
 protected override void PerformTimerAction()
 {
     ExtractManager.ConvertPersons(Config.Properties.Settings.Default.CprDirectPersonConverterBatchSize);
 }
コード例 #13
0
 protected override void ExecuteCPRDirectTask(CPRDirectExtractDataProvider prov)
 {
     ExtractManager.DownloadFtpFiles(prov);
 }