internal override ResultBase ExcuteImplementation(ParameterBase parameter)
        {
            MaskParameter p         = (MaskParameter)parameter;
            MasksApi      maskApi   = new IO.Swagger.Api.MasksApi(ApiConfiguration);
            BufferApi     bufferApi = new IO.Swagger.Api.BufferApi(ApiConfiguration);

            var bufferResponse = bufferApi.BufferInsertAdvanced(1, "Test File", new MemoryStream(Encoding.UTF8.GetBytes("FILE DI TEST RANDOM " + Guid.NewGuid())));

            var maskSchema = maskApi.MasksGetProfileSchemaByMaskId(p.MaskId);
            // Completo i campi

            var fieldDocname = (SubjectFieldDTO)maskSchema.Fields.First(x => x is SubjectFieldDTO);

            fieldDocname.Value = "Test performance WEB API";

            var combo39_9 = (AdditionalFieldComboDTO)maskSchema.Fields.First(x => string.Equals(x.Name, "COMBO39_9"));
            var combo40_9 = (AdditionalFieldComboDTO)maskSchema.Fields.First(x => string.Equals(x.Name, "COMBO40_9"));
            var testo22_5 = (AdditionalFieldStringDTO)maskSchema.Fields.First(x => string.Equals(x.Name, "TESTO22_5"));
            var testo21_5 = (AdditionalFieldStringDTO)maskSchema.Fields.First(x => string.Equals(x.Name, "TESTO21_5"));

            combo39_9.Value = "PRATICHE";
            combo40_9.Value = "E";
            testo22_5.Value = Guid.NewGuid().ToString("N");
            testo21_5.Value = testo22_5.Value.Substring(2, 5);

            var profileDto = new ProfileDTO {
                Fields = maskSchema.Fields, Document = new FileDTO(new List <string>(), bufferResponse)
            };

            ProfileResultDTO result = maskApi.MasksPost(p.MaskId, profileDto);

            return(new DocnumberResult {
                Docnumber = result.DocNumber.Value
            });
        }
Exemple #2
0
        private void TestProcedureApi(IO.Swagger.Client.Configuration configuration, string threadName)
        {
            IArxOperationBase maskOperation      = new LoadMaskOperationWebApi(_logger, configuration);
            IArxOperationBase searchDocOperation = new SearchDocumentOperationWebApi(_logger, configuration);
            IArxOperationBase storeOperation     = new ArxStoreOperationWebApi(_logger, configuration);
            IArxOperationBase f2Operation        = new F2OperationWebApi(_logger, configuration);

            for (int i = 0; i < RepeatCount; i++)
            {
                var dtStart = DateTime.Now;

                string msgLog = string.Format("<{2}> Execution {0} of {1}", (i + 1), RepeatCount, threadName);

                DispatcherHelper.UIDispatcher.BeginInvoke((Action)(() => { _logger.Info(msgLog); }));

                var mp = new MaskParameter {
                    MaskId = "84e5ea23a77f482883c663d6900546cf"
                };
                var maskResult = maskOperation.Execute(mp);

                var storeResult = (DocnumberResult)storeOperation.Execute(mp);

                var sdp = new DocnumberParameter {
                    Docnumber = storeResult.Docnumber
                };
                var searchDocResult = searchDocOperation.Execute(sdp);

                var f2p = new DocnumberParameter {
                    Docnumber = storeResult.Docnumber
                };
                var f2Result = f2Operation.Execute(f2p);

                _timeTestProcedure.Add((DateTime.Now - dtStart).TotalMilliseconds);
            }

            _timeMask.AddRange(maskOperation.ExcuteDurationMsList);
            _timeSearch.AddRange(searchDocOperation.ExcuteDurationMsList);
            _timeStore.AddRange(storeOperation.ExcuteDurationMsList);
            _timeF2.AddRange(f2Operation.ExcuteDurationMsList);

            DispatcherHelper.UIDispatcher.BeginInvoke((Action)(() =>
            {
                _logger.Info(string.Format("REPORT <{0}>\r\nMASK\r\n{1}\r\nSTORE\r\n{2}\r\nSEARCH\r\n{3}\r\nF2\r\n{4}",
                                           threadName,
                                           TimeCalculator.EvaluateTime(maskOperation.ExcuteDurationMsList.ToArray()).ToString(),
                                           TimeCalculator.EvaluateTime(storeOperation.ExcuteDurationMsList.ToArray()).ToString(),
                                           TimeCalculator.EvaluateTime(searchDocOperation.ExcuteDurationMsList.ToArray()).ToString(),
                                           TimeCalculator.EvaluateTime(f2Operation.ExcuteDurationMsList.ToArray()).ToString()
                                           ));
            }));
        }