/// <summary> /// 无异常处理 /// </summary> /// <param name="doc"></param> /// <returns></returns> public ExtractDocumentReport ExtractWith(Document doc) { ExtractDocumentReport ret = new ExtractDocumentReport(); try { using (ExecutionContextScope scope = new ExecutionContextScope()) { foreach (ExtractDataNode _node in _extractNodes) { _node.ExtractDataAll(doc); } } } catch (Exception extractEx) { ret.ExtractExcetpion = extractEx; } ret.CurrentExtractResult = ExtractScope.MergingAllScopeObject(); //绑定结果(集) if (DocumentResult != null) { DocumentResult.DataBind(ret.CurrentExtractResult); } return(ret); }
public async Task <DocumentResult> GetDocumentBinaryByPapmiNoAndPathAsync(string papmiNo, string path, bool isFileStreamResult) { var data = await _medicalRecordRepository.GetDocumentBinaryByPapmiNoAndPathAsync(papmiNo, path, isFileStreamResult); string contentType = data.DocType.GetContentTypeByDocType(); if (!isFileStreamResult) { return(new DocumentResult() { ContentType = contentType, FileStreamResult = null }); } Stream stream = new MemoryStream(data.DocData); var fileStreamResult = new FileStreamResult(stream, contentType); var result = new DocumentResult() { ContentType = contentType, FileStreamResult = fileStreamResult }; return(result); }
public async Task <bool> DeleteDocumentAsync(DocumentResult documentResult) { _view.SetStatusBarMessage("Deleting Document..."); var documentStore = _clientConnectionManager.CreateDocumentClientAndStore(SelectedConnection); try { var source = new CancellationTokenSource(); var document = documentResult.Document; var partitionKeyPath = await documentStore.LookupPartitionKeyPath(SelectedConnection.Database, documentResult.CollectionName); var partionKeyValue = document.SelectToken(partitionKeyPath).ToString(); var result = await documentStore.ExecuteAsync(SelectedConnection.Database, documentResult.CollectionName, context => context.DeleteAsync(document[Constants.DocumentFields.ID].ToString(), new RequestOptions() { PartitionKey = partionKeyValue }), source.Token); _view.SetStatusBarMessage("Document Deleted"); _view.DocumentText = string.Empty; return(result); } catch (Exception ex) { _view.SetStatusBarMessage("Unable to delete document"); _view.ShowMessage(ex.Message, "Document Delete Error", icon: System.Windows.Forms.MessageBoxIcon.Error); return(false); } }
public void AddingAvrgTimeIsCorrect() { // Arrange ScanResult res = new ScanResult(new Uri("http://mock.com")); TimeSpan ts1 = new TimeSpan(0, 1, 0); TimeSpan ts2 = new TimeSpan(0, 3, 0); TimeSpan avg = new TimeSpan(0, 2, 0); //TimeSpan.FromMilliseconds((ts1 + ts2).TotalMilliseconds / 2); DocumentResult d_res1 = new DocumentResult() { DownloadTime = ts1 }; DocumentResult d_res2 = new DocumentResult() { DownloadTime = ts2 }; // Act res.AddDocumentResult(d_res1); res.AddDocumentResult(d_res2); // Assert Assert.Equal(avg, res.AvgDownloadTime); }
/// <summary> /// Get Native file path of a document /// </summary> /// <param name="searchDocument">Document to get native file path of</param> /// <returns>Native file path</returns> private string GetNativeFilePath(DocumentResult searchDocument) { #region Pre-condition asserts searchDocument.ShouldNotBe(null); searchDocument.Fields.ShouldNotBe(null); #endregion var nativeFilePath = string.Empty; var nativeFilePathField = searchDocument.Fields.Find( x => String.CompareOrdinal(x.Name.ToLowerInvariant(), EVSystemFields.NativeFilePath.ToLower()) == 0); if (nativeFilePathField != null) { nativeFilePath = nativeFilePathField.Value; } #region Post-condition asserts searchDocument.ShouldNotBe(null); searchDocument.Fields.ShouldNotBe(null); #endregion return(nativeFilePath); }
/// <summary> /// Construct Log Message and Call Log pipe /// </summary> private void LogMessage(DocumentResult document, bool success, string message) { var log = new List <JobWorkerLog <LogInfo> >(); var taskId = Convert.ToInt32(document.DocumentControlNumber.Replace(_mDataSet.DCNPrefix, string.Empty)); // form the paser lof entity var parserLog = new JobWorkerLog <LogInfo> { JobRunId = (!String.IsNullOrEmpty(PipelineId)) ? Convert.ToUInt32(PipelineId) : 0, CorrelationId = taskId, WorkerRoleType = "PrintValidationWorker", WorkerInstanceId = WorkerId, IsMessage = false, Success = success, //!string.IsNullOrEmpty(documentDetail.DocumentProductionNumber) && success, CreatedBy = bulkPrintServiceRequestBEO.RequestedBy.UserId, LogInfo = new LogInfo { TaskKey = document.DocumentControlNumber, IsError = !success } }; parserLog.LogInfo.AddParameters(Constants.DCN, document.DocumentControlNumber); parserLog.LogInfo.AddParameters(message, mappedPrinter.PrinterDetails.Name); log.Add(parserLog); SendLog(log); }
private void sendMeasureEndedMsg(object sender, DocumentResult e) { sendJsonAsync(new { Type = "measure_ended", Result = e }).Wait(); }
public DocumentResult GetPeerResult(int id) { var query = (from m in _methodRepository.GetAllQueryable().Where(m => m.SourceCodeId == id) join rr in (from r in _resultRepository.GetAllQueryable() join sm in _methodRepository.GetAllQueryable() on r.SimMethodId equals sm.Id into rmm from sm in rmm join so in _sourceCodeRepository.GetAllQueryable().Where(s => s.Type == Root.CommonEnum.SourceCodeType.PEER) on sm.SourceCodeId equals so.DocumentId into som from so in som select new { Result = r, SimMethod = sm, Type = so == null ? 0 : so.Type, Url = so == null ? "" : so.DocumentName } ) on m.Id equals rr.Result.BaseMethodId into mrr from rr in mrr.DefaultIfEmpty() select new { Result = rr.Result, Method = m, SimMethod = rr.SimMethod, Type = rr == null ? 0 : rr.Type, Url = rr == null ? "" : rr.Url }).OrderBy(r => r.Method.Id).ToList(); var document = _sourceCodeRepository.GetAllQueryable().FirstOrDefault(r => r.DocumentId == id); List <DocumentResultDetail> details = new List <DocumentResultDetail>(); foreach (var m in query) { DocumentResultDetail item = new DocumentResultDetail { Id = m.Method.Id, MethodName = m.Method.MethodName, BaseMethod = m.Method.MethodString, }; if (m.Result != null) { if (m.Type == Root.CommonEnum.SourceCodeType.PEER) { item.SimMethod = m.SimMethod.MethodString; item.Position = JsonConvert.DeserializeObject <SimilarityPositions>(m.Result.ResultDetail); item.SimRatio = m.Result.SimRatio; details.Add(item); } } else { item.SimMethod = null; item.Position = null; item.SimRatio = 0; details.Add(item); } } var result = new DocumentResult() { FileName = document.DocumentName, GeneralSimRatio = details.Sum(d => d.SimRatio) / details.Count, Details = details }; if (result.Details.Count > 0 && result.GeneralSimRatio > 0) { return(result); } else { return(null); } }
public static string ResponseBuilder(DocumentResult document) { var TitleHeader = "Title " + document.TitleNumber + " - " + document.TitleName + Environment.NewLine; var SubtitleHeader = document.SubtitleNumber.Trim() != "" && document.SubtitleName.Trim() != "" ? "Subtitle " + document.SubtitleNumber + " - " + document.SubtitleName + Environment.NewLine : ""; var Body = document.DocumentHeader + Environment.NewLine + Environment.NewLine + document.DocumentText + Environment.NewLine + Environment.NewLine + document.Citation; return(TitleHeader + SubtitleHeader + Body); }
public void OnResult(DocumentResult scanResult) { _textView.Text = "Document scanned successfully."; var resImg = (scanResult.Result as AnylineImage).Clone(); _imageViewResult.SetImageBitmap(resImg.Bitmap); _toastAlreadyShowing = false; }
public override async Task RunCommand(object sender) { var engine = (IAutomationEngineInstance)sender; string vUsername; string vPassword; var environmentSettings = new EnvironmentSettings(); environmentSettings.Load(); AuthMethods authMethods = new AuthMethods(); authMethods.Initialize(environmentSettings.ServerType, environmentSettings.OrganizationName, environmentSettings.ServerUrl, environmentSettings.Username, environmentSettings.Password); if (environmentSettings.ServerType == "Local") { throw new Exception("Documents commands cannot be used with local Server"); } else { vUsername = environmentSettings.Username; vPassword = environmentSettings.Password; } Guid vHumanTaskId = (Guid)await v_TaskId.EvaluateCode(engine); bool vSavePageText = (bool)await v_SavePageText.EvaluateCode(engine); bool vSavePageImages = (bool)await v_SavePageImages.EvaluateCode(engine); string vOutputFolder = (string)await v_OutputFolder.EvaluateCode(engine); bool vAwaitCompletion = (bool)await v_AwaitCompletion.EvaluateCode(engine); int vTimeout = (int)await v_Timeout.EvaluateCode(engine); var vData = await v_OutputUserVariableName5.EvaluateCode(engine); DataTable dataDt = vData == null ? null : (DataTable)vData; var userInfo = authMethods.GetDocumentsAuthToken(vUsername, vPassword); DocumentResult docInfo = DocumentMethods.SaveDocumentResults(userInfo, vHumanTaskId, vAwaitCompletion, vSavePageImages, vSavePageText, vTimeout, vOutputFolder, dataDt); string docInfoAsJSON = docInfo.OutputAsJSON; DataTable docInfoAsDataTable = docInfo.DataAsTable; dataDt = docInfo.OutputAsTable; docInfo.Status.SetVariableValue(engine, v_OutputUserVariableName); docInfo.IsCompleted.SetVariableValue(engine, v_OutputUserVariableName1); docInfo.HasFailedOrError.SetVariableValue(engine, v_OutputUserVariableName2); docInfoAsJSON.SetVariableValue(engine, v_OutputUserVariableName3); docInfoAsDataTable.SetVariableValue(engine, v_OutputUserVariableName4); dataDt.SetVariableValue(engine, v_OutputUserVariableName5); }
public void Document_ToString_ContentNotNull() { var result = new DocumentResult<dynamic>(new OperationResult<dynamic> { Cas = 10202020202, Id = "foo", Value = new { Name = "ted", Age = 10 } }); var expected = "{\"id\":\"foo\",\"cas\":10202020202,\"token\":null,\"content\":\"{\\\"Name\\\":\\\"ted\\\",\\\"Age\\\":10}\"}"; Assert.AreEqual(expected, result.Document.ToString()); }
public void Document_ToString_ContentNotNull() { var result = new DocumentResult <dynamic>(new OperationResult <dynamic> { Cas = 10202020202, Id = "foo", Value = new { Name = "ted", Age = 10 } }); var expected = "{\"id\":\"foo\",\"cas\":10202020202,\"token\":null,\"content\":\"{\\\"Name\\\":\\\"ted\\\",\\\"Age\\\":10}\"}"; Assert.AreEqual(expected, result.Document.ToString()); }
/// <summary> /// Methos to identify the field's to which values are to be updated /// </summary> /// <param name="document">DocumentResult</param> /// <param name="actualString">string</param> /// <param name="replaceString">string</param> /// <param name="userGuid">string</param> /// <returns>List<RVWDocumentFieldBEO /></returns> private List <RVWDocumentFieldBEO> GetFieldValuesToUpdate(DocumentResult document, string actualString, string replaceString, string userGuid) { var documentFields = new List <RVWDocumentFieldBEO>(); RVWDocumentBEO documentData = DocumentService.GetDocumentData(document.MatterID.ToString(CultureInfo.InvariantCulture), document.CollectionID, document.DocumentID, userGuid, "false"); if (documentData != null && !documentData.IsLocked && documentData.FieldList.Count > 0) { //Filters the system and read only fields IEnumerable <RVWDocumentFieldBEO> editableFields = documentData.FieldList.Where(x => !x.IsReadable); if (editableFields.Any()) { List <RVWDocumentFieldBEO> fields = editableFields.ToList(); documentData.FieldList.Clear(); fields.SafeForEach(y => documentData.FieldList.Add(y)); } //Loop through the fields and update the field value accordingly foreach (RVWDocumentFieldBEO documentFieldValue in documentData.FieldList) { if (documentFieldValue.FieldType.DataTypeId == Constants.ContentFieldType) { documentFieldValue.FieldValue = DecodeContentField(documentFieldValue.FieldValue); } if (!string.IsNullOrEmpty(documentFieldValue.FieldValue)) { if (documentFieldValue.FieldValue.ToLowerInvariant().Contains(actualString.ToLowerInvariant())) { var reg = new Regex(actualString.ToLowerInvariant(), RegexOptions.Multiline); MatchCollection theMatches = reg.Matches(documentFieldValue.FieldValue.ToLowerInvariant()); _mOccurrences += theMatches.Count; documentFields.Add(new RVWDocumentFieldBEO { FieldId = documentFieldValue.FieldId, FieldName = documentFieldValue.FieldName, FieldValue = documentFieldValue.FieldValue.ToLowerInvariant(). Replace(actualString.ToLowerInvariant(), replaceString), FieldTypeId = documentFieldValue.FieldType.DataTypeId }); } } } } return(documentFields); }
internal DocumentResult UpdateDocumentMetadata(Session session, string documentId, DocumentMetadata documentMetadata) { var result = new DocumentResult { Success = false }; try { //TODO - logic } catch (Exception ex) { Utilities.Util.LogError(ex.Message); //TODO - Replace with unified logging service. throw; } return(result); }
internal DocumentResult DeleteDocument(Session session, string documentId) { var result = new DocumentResult { Success = false }; try { //TODO - logic } catch (Exception e) { //TODO - Log this. var log = e.Message; } return(result); }
internal DocumentResult AddDocument(Session session, DocumentMetadata documentMetadata, byte[] documentData) { var result = new DocumentResult { Success = false }; try { // Determine where the document should be placed. //TODO - logic } catch (Exception ex) { Utilities.Util.LogError(ex.Message); //TODO - Replace with unified logging service. throw; } return(result); }
private static Tuple <DocumentResult, string> ParallelLoadSynced(string dokumentNummer) { var svcTask = new Task <DocumentResult>(() => LoadFromServiceAsync(dokumentNummer).Result); var htmlTask = new Task <string>(() => DownloadHtmlFromRisServer(dokumentNummer).Result); svcTask.Start(); htmlTask.Start(); Task.WaitAll(svcTask, htmlTask); DocumentResult docResult = svcTask.Result; string html = htmlTask.Result; if (null != docResult && html != null) { return(new Tuple <DocumentResult, string>(docResult, html)); } return(null); }
public async Task <object> SaveDocumentAsync(DocumentResult documentResult) { _view.SetStatusBarMessage("Saving Document..."); var documentStore = _clientConnectionManager.CreateDocumentClientAndStore(SelectedConnection); try { var source = new CancellationTokenSource(); var result = await documentStore.ExecuteAsync(SelectedConnection.Database, documentResult.CollectionName, context => context.UpdateAsync(documentResult.Document), source.Token); _view.SetStatusBarMessage("Document Saved"); _view.SetUpdatedResultDocument(result); return(result); } catch (Exception ex) { _view.SetStatusBarMessage("Unable to save document"); _view.ShowMessage(ex.Message, "Document Save Error", icon: System.Windows.Forms.MessageBoxIcon.Error); return(false); } }
public async Task <ActionResult <IEnumerable <DocumentResult> > > ListFiles() { try { var blobsInfoList = new List <DocumentResult>(); // List all blobs in the container await foreach (BlobItem blobItem in _blobContainerClient.GetBlobsAsync()) { var dr = new DocumentResult { Name = blobItem.Name, Location = CONTAINER_NAME, FileSize = blobItem.Properties.ContentLength }; blobsInfoList.Add(dr); } return(blobsInfoList); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
/// <summary> /// Print the document /// </summary> /// <param name="jobId"></param> /// <param name="request"></param> /// <param name="document"></param> /// <param name="separatorSheet"></param> /// <param name="errorCode"></param> /// <returns></returns> private bool PrintDocumentSet(string jobId, BulkPrintServiceRequestBEO request, DocumentResult document, string separatorSheet, out string errorCode) { var toReturn = false; var title = string.Empty; var fieldValue = string.Empty; var binaryType = NativeSetBinaryType; var sb = new StringBuilder(string.Empty); //Get the binary types for the images switch (request.BulkPrintOptions.ImageType.ImageType) { case DocumentImageTypeBEO.Native: binaryType = NativeSetBinaryType; break; case DocumentImageTypeBEO.ImageSet: binaryType = ImageSetBinaryType; break; case DocumentImageTypeBEO.ProductionSet: binaryType = ProductionSetBinaryType; break; } //Get the document binary var documentData = DocumentBO.GetDocumentBinaryData(long.Parse(request.DataSet.MatterId), request.BulkPrintOptions.ImageType. ImageIdentifier.CollectionId, document.DocumentID, binaryType, string.Empty); #region Assertion documentData.ShouldNotBe(null); documentData.DocumentBinary.ShouldNotBe(null); #endregion var isFileExists = documentData.DocumentBinary.FileList.Count > 0; errorCode = string.Empty; foreach (var fileInfo in documentData.DocumentBinary.FileList) { if (!File.Exists(fileInfo.Path)) { isFileExists = false; break; } } m_UserDetails = UserBO.GetUserUsingGuid(request.RequestedBy.UserId); userContext = CreateUserContext(request.RequestedBy.UserId); EVHttpContext.CurrentContext = userContext; //Construct Query string if (!isFileExists) { errorCode = "Bulk print Invalid file"; toReturn = true; } else { fieldValue = document.DocumentControlNumber; if (document.Fields != null && document.Fields.Any()) { fieldValue = document.DocumentControlNumber; title = Constants.TitleNotAvailable; foreach (var field in document.Fields) { if (field == null) continue; if (field.DataTypeId == Constants.TitleFieldType) title = !string.IsNullOrEmpty(field.Value) ? fieldValue.Trim() : title; if (String.IsNullOrEmpty(field.Name)) continue; if (field.Name.Equals(_mBootParameters.FieldName)) fieldValue = !string.IsNullOrEmpty(field.Value) ? field.Value.Trim() : fieldValue; } } var specialChars = new List<string> {"<", ">", ":", "\"", "\\", "|", "?", "*", "."}; if (specialChars.Exists(x => fieldValue.Contains(x))) { // Log documents with special characters or empty values... toReturn = false; errorCode = "Special characters in the field value and hence cannot be printed"; } else { ConstructQueryString(jobId, document, title, separatorSheet, sb, documentData, fieldValue); try { toReturn = CreatePostWebRequestForCreatingPdf(jobId, sb.ToString()); } catch (WebException webException) { webException.Trace().Swallow(); } catch (Exception ex) { ex.Trace().Swallow(); errorCode = "Error in Conversion and hence cannot be printed"; } } } return toReturn; }
private static FilteredDocumentBusinessEntity ConstructFilteredDocument(DocumentResult documentResult) { var filteredDocument = new FilteredDocumentBusinessEntity { Id = documentResult.DocumentID, MatterId = documentResult.MatterID.ToString(CultureInfo.InvariantCulture), CollectionId = documentResult.CollectionID, IsLocked = documentResult.IsLocked, ReviewsetId = documentResult.ReviewsetID, DCN = documentResult.DocumentControlNumber, FamilyId = documentResult.FamilyID }; filteredDocument.OutPutFields.AddRange(documentResult.Fields); return filteredDocument; }
private static List <DocumentResult> WriteXmlFiles(string reportFilePath , Dictionary <Comparison.Comparer.FileUnitProperties, Dictionary <string, Dictionary <string, Comparison.Comparer.ComparisonParagraphUnit> > > fileComparisonFileParagraphUnits) { _idMappings = new List <TERpIdMapping>(); var workingDir = Path.GetDirectoryName(reportFilePath); TerpPath = WriteTerpProcessorFile(workingDir); var results = new List <DocumentResult>(); foreach (var fileComparisonFileParagraphUnit in fileComparisonFileParagraphUnits) { if (fileComparisonFileParagraphUnit.Value == null) { continue; } var fileUnitProperties = fileComparisonFileParagraphUnit.Key; var language = fileUnitProperties.TargetLanguageIdUpdated; var filePath = Path.GetFileName(fileUnitProperties.FilePathUpdated); if (workingDir == null) { continue; } var fileRef = Path.Combine(workingDir, filePath + "." + language + ".terp.ref.xml"); var filehyp = Path.Combine(workingDir, filePath + "." + language + ".terp.hyp.xml"); var filePrefix = Path.Combine(workingDir, filePath + "." + language + ".out"); WriteXmlDocument(fileRef, fileComparisonFileParagraphUnit, true); var segmentDatas = WriteXmlDocument(filehyp, fileComparisonFileParagraphUnit, false); if (segmentDatas.Count > 0) { var info = new ProcessStartInfo("\"" + JavaPath + "\"") { Arguments = " -jar \"" + TerpPath + "\" -r \"" + filehyp + "\" -h \"" + fileRef + "\" -n \"" + filePrefix + "\" -o sum,pra,nist,html,param", WindowStyle = ProcessWindowStyle.Hidden }; var process = System.Diagnostics.Process.Start(info); if (process != null) { process.WaitForExit(); } if (!File.Exists(filePrefix + ".sum")) { continue; } string sumContent; using (var reader = new StreamReader(filePrefix + ".sum")) { sumContent = reader.ReadToEnd(); reader.Close(); } var regexLines = new Regex("^(?<x1>.*|)$", RegexOptions.Multiline); var regexNameAndSegId = new Regex(@"\[(?<x1>.*|)\]\[(?<x2>.*|)\]", RegexOptions.IgnoreCase); var mcLines = regexLines.Matches(sumContent); if (mcLines.Count > 0) { foreach (Match mLine in mcLines) { var strLine = mLine.Value; var columns = strLine.Split('|'); if (columns.Count() != 12) { continue; } var mcNameAndSegId = regexNameAndSegId.Match(columns[0]); if (!mcNameAndSegId.Success) { continue; } var name = mcNameAndSegId.Groups["x1"].Value; var id = mcNameAndSegId.Groups["x2"].Value.TrimStart('0'); if (string.IsNullOrEmpty(id)) { continue; } var segId = _idMappings.FirstOrDefault(s => s.Id.ToString() == id); if (segId == null) { continue; } var segmentData = segmentDatas.SingleOrDefault(a => a.SegmentId == segId.SegmentId && a.FileName == name); if (segmentData == null) { continue; } segmentData.Ins = ReportUtils.GetDecimal(columns[1]); segmentData.Del = ReportUtils.GetDecimal(columns[2]); segmentData.Sub = ReportUtils.GetDecimal(columns[3]); segmentData.Stem = ReportUtils.GetDecimal(columns[4]); segmentData.Syn = ReportUtils.GetDecimal(columns[5]); segmentData.Phrase = ReportUtils.GetDecimal(columns[6]); segmentData.Shft = ReportUtils.GetDecimal(columns[7]); segmentData.Wdsh = ReportUtils.GetDecimal(columns[8]); segmentData.NumEr = ReportUtils.GetDecimal(columns[9]); segmentData.NumWd = ReportUtils.GetDecimal(columns[10]); segmentData.Terp = ReportUtils.GetDecimal(columns[11]); segmentData.NumCap = 0; } } var result = new DocumentResult { OriginalDocumentPath = fileUnitProperties.FilePathOriginal, UpdatedDocumentPath = fileUnitProperties.FilePathUpdated, HtmlPath = filePrefix + ".html", SegmentDatas = segmentDatas }; results.Add(result); File.Delete(filePrefix + ".sum"); } File.Delete(fileRef); File.Delete(filehyp); } if (File.Exists(TerpPath)) { File.Delete(TerpPath); } return(results); }
/// <summary> /// Construct Query string for Redact-it /// </summary> /// <param name="jobId">Job Id</param> /// <param name="document">Document:Contains the document details (DocumentID) and field information's(filed type)</param> /// <param name="title">Title</param> /// <param name="separatorSheet">separator sheet path</param> /// <param name="sb">String builder</param> /// <param name="documentInfo">RVWDocumentBEO</param> /// <param name="fieldValue"></param> public void ConstructQueryString(string jobId, DocumentResult document, string title, string separatorSheet, StringBuilder sb, RVWDocumentBEO documentInfo, string fieldValue) { var targetDirectoryPath = Path.Combine(_mSharedLocation, _mBootParameters.Name); //Url Encode for target file path targetDirectoryPath = HttpUtility.UrlEncode(targetDirectoryPath); separatorSheet = HttpUtility.UrlEncode(separatorSheet); var sourceCount = 0; if (documentInfo.DocumentBinary.FileList.Count > 0) { //Adds the separator sheet for each document sb.Append(Constants.Source.ConcatStrings(new List<string> { sourceCount.ToString(CultureInfo.InvariantCulture), Constants.EqualTo, separatorSheet, Constants.Ampersand })); foreach (var t in documentInfo.DocumentBinary.FileList) { sourceCount++; //Adds the native/image/production files for each document sb.Append(Constants.Source.ConcatStrings(new List<string> { sourceCount.ToString(CultureInfo.InvariantCulture), Constants.EqualTo, HttpUtility.UrlEncode(t.Path), Constants.Ampersand })); } } else { sb.Append(Constants.Source0.ConcatStrings(new List<string> { separatorSheet, Constants.Source1, HttpUtility.UrlEncode(documentInfo.NativeFilePath) })); } sb.Append(Constants.Target.ConcatStrings(new List<string> { targetDirectoryPath, Constants.CSFName, fieldValue, Constants.PdfAndNotificationUrl, CmgServiceConfigBO.GetServiceConfigurationsforConfig(Constants.CallBackUri), Constants.BulkPrintRequestId, jobId })); sb.Append(Constants.MatterId.ConcatStrings(new List<string> { document.MatterID.ToString(), Constants.CollectionId, document.CollectionID, Constants.DocumentId, document.DocumentID })); sb.Append(Constants.Title + title); sb.Append(Constants.NotificationVerb); sb.Append(Constants.PublishBlankPagesQueryString); sb.Append(CmgServiceConfigBO.GetServiceConfigurationsforConfig(Constants.PublishBlankPages)); }
public IHttpActionResult GenerateRepairOrder([FromBody] myRepairOrder pRepairOrder) { MovOrdemReparacao myRepairOrder; MovOrdemReparacaoLin newLine; List <string> lstMsg = new List <string>(); int searchItem = 0; var errorDescription = ""; var result = new DocumentResult(); try { myRepairOrder = Eti.Aplicacao.MovimentosAutoGest.MovOrdensReparacao.GetNew(pRepairOrder.FiscalYear, pRepairOrder.SectionCode, pRepairOrder.DocTypeAbbrev); //Á custa de um orçamento //ConversaoOficinas conv = new ConversaoOficinas(Eti.Aplicacao); //bool res = conv.GetOR_FromOrcamento(movOrcamento, ref movOR, false, ref msg, true, false, false, 0, 0); myRepairOrder.Cabecalho.CodEntidade = pRepairOrder.EntityCode; myRepairOrder.AlteraCliente(pRepairOrder.EntityCode, true); myRepairOrder.Cabecalho.DataMov = pRepairOrder.Date; myRepairOrder.Cabecalho.DataAbertura = pRepairOrder.Date; myRepairOrder.AlteraViatura(pRepairOrder.Vehicle, false); //inserir linhas de materiais foreach (MaterialsLine lineMaterial in pRepairOrder.LinesMaterials.OrderBy(p => p.LineNumber)) { newLine = myRepairOrder.NovaLinha(TpLinhaOficinas.Materiais, true); newLine.CodArtigo = lineMaterial.ItemCode; myRepairOrder.SetInfoArtigo(newLine, TpLinhaOficinas.Materiais, ref searchItem); newLine.DescArtigo = lineMaterial.ItemDescription; if (myRepairOrder.Cabecalho.IvaIncluido) { lineMaterial.UnitPriceExcludedVAT = lineMaterial.UnitPriceExcludedVAT * (1 + lineMaterial.VATTax / 100.0); } newLine.PrecoUnitario = lineMaterial.UnitPriceExcludedVAT; newLine.Quantidade = lineMaterial.Quantity; myRepairOrder.CalculaTotaisLinha(newLine); } //serviços internos foreach (InternalServicesLine lineInternalService in pRepairOrder.LinesInternalServices.OrderBy(p => p.LineNumber)) { newLine = myRepairOrder.NovaLinha(TpLinhaOficinas.ServInternos, true); newLine.CodArtigo = lineInternalService.ItemCode; myRepairOrder.SetInfoArtigo(newLine, TpLinhaOficinas.ServInternos, ref searchItem); newLine.DescArtigo = lineInternalService.ItemDescription; if (myRepairOrder.Cabecalho.IvaIncluido) { lineInternalService.UnitPriceExcludedVAT = lineInternalService.UnitPriceExcludedVAT * (1 + lineInternalService.VATTax / 100.0); } newLine.PrecoUnitario = lineInternalService.UnitPriceExcludedVAT; newLine.Quantidade = lineInternalService.Quantity; myRepairOrder.CalculaTotaisLinha(newLine); } //serviços externos foreach (ExternalServicesLine lineExternalService in pRepairOrder.LinesExternalServices.OrderBy(p => p.LineNumber)) { newLine = myRepairOrder.NovaLinha(TpLinhaOficinas.ServExternos, true); newLine.CodArtigo = lineExternalService.ItemCode; myRepairOrder.SetInfoArtigo(newLine, TpLinhaOficinas.ServExternos, ref searchItem); newLine.DescArtigo = lineExternalService.ItemDescription; if (myRepairOrder.Cabecalho.IvaIncluido) { lineExternalService.UnitPriceExcludedVAT = lineExternalService.UnitPriceExcludedVAT * (1 + lineExternalService.VATTax / 100.0); } newLine.PrecoUnitario = lineExternalService.UnitPriceExcludedVAT; newLine.Quantidade = lineExternalService.Quantity; myRepairOrder.CalculaTotaisLinha(newLine); } // Linhas de actividades /// Obtem primeiro grupo de componentes de atividades int defaultNode = myRepairOrder.DocumentoActividades.GetFirstNumNodo(); if (defaultNode == 0) { defaultNode = myRepairOrder.DocumentoActividades.GetNextNumNodo(); } ///Adiciona atividades à ordem de reparação foreach (var activity in pRepairOrder.Activities) { MovOrdemReparacaoItensActividade actividade = myRepairOrder.Actividades.CreateNew(); myRepairOrder.Actividades.Add(actividade); actividade.NodoPai = defaultNode; actividade.CodTipoActividade = activity.ActivityCode; actividade.Solicitado = true; } var validate = myRepairOrder.Validate(true, ref lstMsg, 0); if (validate) { Eti.Aplicacao.MovimentosAutoGest.MovOrdensReparacao.Update(myRepairOrder, 0); } if (!string.IsNullOrEmpty(myRepairOrder.EtiErrorCode)) { result.ErrorDescription = myRepairOrder.EtiErrorDescription; } else { result = new DocumentResult() { ErrorDescription = myRepairOrder.EtiErrorDescription, DocumentKey = new Helpers.DocumentKey() { SectionCode = myRepairOrder.Cabecalho.CodSeccao, DocTypeAbbrev = myRepairOrder.Cabecalho.AbrevTpDoc, FiscalYear = myRepairOrder.Cabecalho.CodExercicio, Number = myRepairOrder.Cabecalho.Numero } }; } } catch (Exception ex) { errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message); result.ErrorDescription = errorDescription; } return(Ok(result)); }
public static void ShowResults(string title, DocumentResult result) { ShowHeader(title); Console.WriteLine("SessionId {0}", result.SessionId); Console.WriteLine("SessionDate {0}", result.SessionDate); Console.WriteLine("AccountNumber {0}", result.AccountNumber); Console.WriteLine("IsSuccessful {0}", result.Success); if (result.Exceptions != null) foreach (ExceptionMessage ex in result.Exceptions) { Console.WriteLine(" Exception: [{0}] - {1}, {2}", ((int)ex.ExceptionType), ex.ExceptionType, ex.Message); } Console.WriteLine(); }
/// <summary> /// Construct Query string for Redact-it /// </summary> /// <param name="jobId">Job Id</param> /// <param name="document">Document:Contains the document details (DocumentID) and field information's(filed type)</param> /// <param name="title">Title</param> /// <param name="separatorSheet">separator sheet path</param> /// <param name="sb">String builder</param> /// <param name="documentInfo">RVWDocumentBEO</param> /// <param name="fieldValue"></param> public void ConstructQueryString(string jobId, DocumentResult document, string title, string separatorSheet, StringBuilder sb, RVWDocumentBEO documentInfo, string fieldValue) { var targetDirectoryPath = Path.Combine(_mSharedLocation, _mBootParameters.Name); //Url Encode for target file path targetDirectoryPath = HttpUtility.UrlEncode(targetDirectoryPath); separatorSheet = HttpUtility.UrlEncode(separatorSheet); var sourceCount = 0; if (documentInfo.DocumentBinary.FileList.Count > 0) { //Adds the separator sheet for each document sb.Append(Constants.Source.ConcatStrings(new List <string> { sourceCount.ToString(CultureInfo.InvariantCulture), Constants.EqualTo, separatorSheet, Constants.Ampersand })); foreach (var t in documentInfo.DocumentBinary.FileList) { sourceCount++; //Adds the native/image/production files for each document sb.Append(Constants.Source.ConcatStrings(new List <string> { sourceCount.ToString(CultureInfo.InvariantCulture), Constants.EqualTo, HttpUtility.UrlEncode(t.Path), Constants.Ampersand })); } } else { sb.Append(Constants.Source0.ConcatStrings(new List <string> { separatorSheet, Constants.Source1, HttpUtility.UrlEncode(documentInfo.NativeFilePath) })); } sb.Append(Constants.Target.ConcatStrings(new List <string> { targetDirectoryPath, Constants.CSFName, fieldValue, Constants.PdfAndNotificationUrl, CmgServiceConfigBO.GetServiceConfigurationsforConfig(Constants.CallBackUri), Constants.BulkPrintRequestId, jobId })); sb.Append(Constants.MatterId.ConcatStrings(new List <string> { document.MatterID.ToString(), Constants.CollectionId, document.CollectionID, Constants.DocumentId, document.DocumentID })); sb.Append(Constants.Title + title); sb.Append(Constants.NotificationVerb); sb.Append(Constants.PublishBlankPagesQueryString); sb.Append(CmgServiceConfigBO.GetServiceConfigurationsforConfig(Constants.PublishBlankPages)); }
public IHttpActionResult GenerateSalesDoc([FromBody] Models.mySale pSale) { MovVenda mySale; MovVendaLin saleLine; var byRefFalse = false; var stockAvailable = true; var affectsOtherLines = true; var fixedAssociation = true; var freeAssociation = true; var checkStock = false; var famForQty = false; var famForPrice = false; short searchItem = 0; int numberLine; string itemCode; var errorDescription = ""; var result = new DocumentResult(); try { //pSale = GetNewSale(); mySale = Eti.Aplicacao.Movimentos.MovVendas.GetNew(pSale.DocTypeAbbrev, pSale.SectionCode); mySale.Cabecalho.CodExercicio = pSale.FiscalYear; mySale.Cabecalho.AplicacaoOrigem = "WS"; mySale.Cabecalho.Data = pSale.Date.Date; mySale.Cabecalho.DataVencimento = pSale.ExpirationDate; mySale.Cabecalho.Hora = pSale.Date.Hour.ToString("00") + ":" + pSale.Date.Minute.ToString("00"); mySale.Cabecalho.CodEntidade = pSale.EntityCode; mySale.AlteraEntidade(TpEntidade.Cliente, mySale.Cabecalho.CodEntidade, true, true); mySale.Cabecalho.AbrevMoeda = pSale.CurrencyCode; mySale.AlteraMoeda(pSale.CurrencyCode, ref byRefFalse, false); foreach (SalesLine line in pSale.Lines.OrderBy(p => p.LineNumber)) { itemCode = line.ItemCode; numberLine = mySale.CountLin + 1; mySale.AddLin(ref numberLine); saleLine = mySale.Lines[numberLine]; saleLine.TipoLinha = (byte)TpLinha.Artigo; saleLine.CodArtigo = itemCode; mySale.AlteraArtigo(numberLine, ref itemCode, ref affectsOtherLines, ref fixedAssociation, ref freeAssociation, ref searchItem, checkStock, ref stockAvailable, ref famForQty, ref famForPrice); saleLine.DescArtigo = line.ItemDescription; saleLine.Quantidade = line.Quantity; mySale.AlteraQuantidade(numberLine, saleLine.Quantidade, ref affectsOtherLines, false, ref stockAvailable); if (mySale.TDocIvaIncluido) { line.UnitPriceExcludedVAT = line.UnitPriceExcludedVAT * (1 + line.VATTax / 100.0); } saleLine.PrecoUnitario = Convert.ToDouble(line.UnitPriceExcludedVAT); mySale.AlteraPrecoUnitario(numberLine, saleLine.PrecoUnitario, ref byRefFalse); saleLine.TaxaIva = Convert.ToDouble(line.VATTax); saleLine.CodTaxaIva = Eti.Aplicacao.Tabelas.TaxasIvas.GetTaxaIva(Convert.ToDecimal(saleLine.TaxaIva)); mySale.AlteraTaxaIVA(numberLine, saleLine.CodTaxaIva); saleLine.Desconto1 = line.Discount1; mySale.AlteraDesconto(1, numberLine, saleLine.Desconto1); saleLine.Desconto2 = line.Discount2; mySale.AlteraDesconto(2, numberLine, saleLine.Desconto2); saleLine.Desconto3 = line.Discount3; mySale.AlteraDesconto(3, numberLine, saleLine.Desconto3); saleLine.DescontoValorLinha = line.DiscountValue; mySale.AlteraDesconto(4, numberLine, saleLine.DescontoValorLinha); } //documento externo certeficado //mySale.AlteraInfoCertificacao(certificationNumber, "1", hash, saftDocNo); var validate = mySale.Validate(true); if (validate) { var blockingStock = false; Eti.Aplicacao.Movimentos.MovVendas.Update(ref mySale, ref blockingStock, true, 0, ""); } if (!string.IsNullOrEmpty(mySale.EtiErrorCode)) { result.ErrorDescription = mySale.EtiErrorDescription; } else { result = new DocumentResult() { ErrorDescription = mySale.EtiErrorDescription, DocumentKey = new Helpers.DocumentKey() { SectionCode = mySale.Cabecalho.CodSeccao, DocTypeAbbrev = mySale.Cabecalho.AbrevTpDoc, FiscalYear = mySale.Cabecalho.CodExercicio, Number = mySale.Cabecalho.Numero } }; if (pSale.GetReportBytes) { result.reportBytes = Functions.GetReportBytes(TpDocumentoAEmitir.Vendas, result.DocumentKey); } } return(Ok(result)); } catch (Exception ex) { errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message); result.ErrorDescription = errorDescription; } return(Ok(result)); }
/// <summary> /// Construct Log Message and Call Log pipe /// </summary> private void LogMessage(DocumentResult document, bool success, string message) { var log = new List<JobWorkerLog<LogInfo>>(); var taskId = Convert.ToInt32(document.DocumentControlNumber.Replace(_mDataSet.DCNPrefix, string.Empty)); // form the paser lof entity var parserLog = new JobWorkerLog<LogInfo> { JobRunId = (!String.IsNullOrEmpty(PipelineId)) ? Convert.ToUInt32(PipelineId) : 0, CorrelationId = taskId, WorkerRoleType = "PrintValidationWorker", WorkerInstanceId = WorkerId, IsMessage = false, Success = success, //!string.IsNullOrEmpty(documentDetail.DocumentProductionNumber) && success, CreatedBy = bulkPrintServiceRequestBEO.RequestedBy.UserId, LogInfo = new LogInfo { TaskKey = document.DocumentControlNumber, IsError = !success } }; parserLog.LogInfo.AddParameters(Constants.DCN, document.DocumentControlNumber); parserLog.LogInfo.AddParameters(message, mappedPrinter.PrinterDetails.Name); log.Add(parserLog); SendLog(log); }
public IHttpActionResult GenerateOrdersSatisfaction([FromBody] MyOrderSatisfaction pOrder) { MovVenda mySale; MovVendaLin saleLine; MovEncomenda myOrder; var stockAvailable = true; var affectsOtherLines = true; var fixedAssociation = true; var freeAssociation = true; var checkStock = false; var famForQty = false; var famForPrice = false; var byRefFalse = false; short searchItem = 0; int numberLine; string itemCode; var errorDescription = ""; var result = new DocumentResult(); try { //Encomenda a satisfazer myOrder = Eti.Aplicacao.Movimentos.MovEncomendasCli.Find(pOrder.KeyOrder.DocTypeAbbrev, pOrder.KeyOrder.FiscalYear, pOrder.KeyOrder.Number, pOrder.KeyOrder.SectionCode); //Nova venda mySale = Eti.Aplicacao.Movimentos.MovVendas.GetNew(pOrder.DocTypeAbbrevSale, pOrder.KeyOrder.SectionCode); mySale.Cabecalho.CodExercicio = pOrder.FiscalYearSale; mySale.Cabecalho.AplicacaoOrigem = "WS"; mySale.Cabecalho.Data = pOrder.DateSale.Date; mySale.Cabecalho.DataVencimento = pOrder.ExpirationDateSale; mySale.Cabecalho.Hora = pOrder.DateSale.Date.Hour.ToString("00") + ":" + pOrder.DateSale.Date.Minute.ToString("00"); mySale.Cabecalho.CodEntidade = myOrder.Cabecalho.CodEntidade; mySale.AlteraEntidade(TpEntidade.Cliente, mySale.Cabecalho.CodEntidade, true, true); //irá satisfazer toda a encomenda. foreach (MovEncomendaLin line in myOrder.Lines) { itemCode = line.CodArtigo; numberLine = mySale.CountLin + 1; mySale.AddLin(ref numberLine); saleLine = mySale.Lines[numberLine]; saleLine.TipoLinha = 5; saleLine.CodArtigo = itemCode; mySale.AlteraArtigo(numberLine, ref itemCode, ref affectsOtherLines, ref fixedAssociation, ref freeAssociation, ref searchItem, checkStock, ref stockAvailable, ref famForQty, ref famForPrice); saleLine.Quantidade = line.Quantidade; mySale.AlteraQuantidade(numberLine, saleLine.Quantidade, ref affectsOtherLines, false, ref stockAvailable); saleLine.CodArmazem = line.CodArmazem; mySale.AlteraArmazem(numberLine, saleLine.CodArmazem, false, ref stockAvailable); //Tratar a questão do IVA pois os tipos de documentos podem não ter o IVA incluido saleLine.PrecoUnitario = Convert.ToDouble(line.PrecoUnitario); mySale.AlteraPrecoUnitario(numberLine, saleLine.PrecoUnitario, ref byRefFalse); //Ligar a linha da venda á encomenda, 1 linha de venda para 1 linha de encomenda var countLinIntgr = 1; mySale.SetCountLinEncomIntegr(ref numberLine, ref countLinIntgr); var numberLineIntgr = 1; saleLine.EncomIntegr(numberLineIntgr).EncomCodSeccao = pOrder.KeyOrder.SectionCode; saleLine.EncomIntegr(numberLineIntgr).EncomAbrevTpDoc = pOrder.KeyOrder.DocTypeAbbrev; saleLine.EncomIntegr(numberLineIntgr).EncomCodExercicio = pOrder.KeyOrder.FiscalYear; saleLine.EncomIntegr(numberLineIntgr).EncomNumero = pOrder.KeyOrder.Number; saleLine.EncomIntegr(numberLineIntgr).EncomNumLinha = line.NumLinha; saleLine.EncomIntegr(numberLineIntgr).QtdSatisf = line.QuantidadePend; saleLine.EncomIntegr(numberLineIntgr).QtdPendente = 0; saleLine.DocAQueReporta = pOrder.KeyOrder.DocTypeAbbrev + ' ' + pOrder.KeyOrder.SectionCode + '/' + pOrder.KeyOrder.Number.ToString(); } var validate = mySale.Validate(true); if (validate) { var blockingStock = false; Eti.Aplicacao.Movimentos.MovVendas.Update(ref mySale, ref blockingStock, true, 0, ""); } if (!string.IsNullOrEmpty(mySale.EtiErrorCode)) { result.ErrorDescription = mySale.EtiErrorDescription; } else { result = new DocumentResult() { ErrorDescription = mySale.EtiErrorDescription, DocumentKey = new Helpers.DocumentKey() { SectionCode = mySale.Cabecalho.CodSeccao, DocTypeAbbrev = mySale.Cabecalho.AbrevTpDoc, FiscalYear = mySale.Cabecalho.CodExercicio, Number = mySale.Cabecalho.Numero } }; } } catch (Exception ex) { errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message); result.ErrorDescription = errorDescription; } return(Ok(result)); }
private DocumentResult Document(CommonTree tree) { var result = new DocumentResult(); var context = new Context(); if (tree.Children == null) return result; foreach (var section in tree.Children) { ITemplateType o; var s = new Section(section); var e = s.Eval(context, this, out o); result.Errors.AddRange(e); if (e.ContainsError()) continue; o.WriteTo(result.Buffer); } return result; }
public IHttpActionResult GenerateSettlement([FromBody] mySettlement pSettlement) { MovLiquidacao mySettlement; var result = new DocumentResult(); var errorDescription = ""; try { mySettlement = Eti.Aplicacao.Movimentos.MovLiquidacoes.GetNew(pSettlement.DocTypeAbbrev, pSettlement.SectionCode); mySettlement.Cabecalho.CodEntidade = 1; mySettlement.AlteraEntidade(mySettlement.Cabecalho.CodEntidade, true); mySettlement.FindDocs(0, 0, 0, 1); //mySettlement.Cabecalho.set_CampoAdicional(Constants.CA_LIQ_Auto, true); var linePend = mySettlement.get_LinhaOfPendente(pSettlement.PendingDocument.SectionCode, pSettlement.PendingDocument.DocTypeAbbrev, pSettlement.PendingDocument.FiscalYear, pSettlement.PendingDocument.Number); if (linePend.ValorPendente > 0) { //atualizar linha de liquidação var lineSettlement = mySettlement.get_LinhaOfDocumento(linePend.CodSeccaoPend, linePend.AbrevTpDocPend, linePend.CodExercicioPend, linePend.NumeroPend); short IRS = 0; mySettlement.AlteraConfirmacao(lineSettlement.NumLinha, true, ref IRS); linePend.Confirmacao = 1; var validate = mySettlement.Validate(); if (validate) { Eti.Aplicacao.Movimentos.MovLiquidacoes.Update(ref mySettlement); } if (!string.IsNullOrEmpty(mySettlement.EtiErrorCode)) { result.ErrorDescription = mySettlement.EtiErrorDescription; } else { result = new DocumentResult() { ErrorDescription = mySettlement.EtiErrorDescription, DocumentKey = new Helpers.DocumentKey() { SectionCode = mySettlement.Cabecalho.CodSeccao, DocTypeAbbrev = mySettlement.Cabecalho.AbrevTpDoc, FiscalYear = mySettlement.Cabecalho.CodExercicio, Number = mySettlement.Cabecalho.Numero } }; } } } catch (Exception ex) { errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message); return(BadRequest(errorDescription)); } return(Ok(result)); }
/// <summary> /// Print the document /// </summary> /// <param name="jobId"></param> /// <param name="request"></param> /// <param name="document"></param> /// <param name="separatorSheet"></param> /// <param name="errorCode"></param> /// <returns></returns> private bool PrintDocumentSet(string jobId, BulkPrintServiceRequestBEO request, DocumentResult document, string separatorSheet, out string errorCode) { var toReturn = false; var title = string.Empty; var fieldValue = string.Empty; var binaryType = NativeSetBinaryType; var sb = new StringBuilder(string.Empty); //Get the binary types for the images switch (request.BulkPrintOptions.ImageType.ImageType) { case DocumentImageTypeBEO.Native: binaryType = NativeSetBinaryType; break; case DocumentImageTypeBEO.ImageSet: binaryType = ImageSetBinaryType; break; case DocumentImageTypeBEO.ProductionSet: binaryType = ProductionSetBinaryType; break; } //Get the document binary var documentData = DocumentBO.GetDocumentBinaryData(long.Parse(request.DataSet.MatterId), request.BulkPrintOptions.ImageType. ImageIdentifier.CollectionId, document.DocumentID, binaryType, string.Empty); #region Assertion documentData.ShouldNotBe(null); documentData.DocumentBinary.ShouldNotBe(null); #endregion var isFileExists = documentData.DocumentBinary.FileList.Count > 0; errorCode = string.Empty; foreach (var fileInfo in documentData.DocumentBinary.FileList) { if (!File.Exists(fileInfo.Path)) { isFileExists = false; break; } } m_UserDetails = UserBO.GetUserUsingGuid(request.RequestedBy.UserId); userContext = CreateUserContext(request.RequestedBy.UserId); EVHttpContext.CurrentContext = userContext; //Construct Query string if (!isFileExists) { errorCode = "Bulk print Invalid file"; toReturn = true; } else { fieldValue = document.DocumentControlNumber; if (document.Fields != null && document.Fields.Any()) { fieldValue = document.DocumentControlNumber; title = Constants.TitleNotAvailable; foreach (var field in document.Fields) { if (field == null) { continue; } if (field.DataTypeId == Constants.TitleFieldType) { title = !string.IsNullOrEmpty(field.Value) ? fieldValue.Trim() : title; } if (String.IsNullOrEmpty(field.Name)) { continue; } if (field.Name.Equals(_mBootParameters.FieldName)) { fieldValue = !string.IsNullOrEmpty(field.Value) ? field.Value.Trim() : fieldValue; } } } var specialChars = new List <string> { "<", ">", ":", "\"", "\\", "|", "?", "*", "." }; if (specialChars.Exists(x => fieldValue.Contains(x))) { // Log documents with special characters or empty values... toReturn = false; errorCode = "Special characters in the field value and hence cannot be printed"; } else { ConstructQueryString(jobId, document, title, separatorSheet, sb, documentData, fieldValue); try { toReturn = CreatePostWebRequestForCreatingPdf(jobId, sb.ToString()); } catch (WebException webException) { webException.Trace().Swallow(); } catch (Exception ex) { ex.Trace().Swallow(); errorCode = "Error in Conversion and hence cannot be printed"; } } } return(toReturn); }
/// <summary> /// Converts the result document to document result. /// </summary> /// <param name="resultDocument">The result document.</param> /// <returns></returns> private static DocumentResult ConvertResultDocumentToDocumentResult(ResultDocument resultDocument) { var docResult = new DocumentResult { DocumentID = resultDocument.DocumentId.DocumentId, IsLocked = resultDocument.IsLocked, RedactableDocumentSetId = resultDocument.RedactableDocumentSetId, MatterID = long.Parse(resultDocument.DocumentId.MatterId), CollectionID = resultDocument.DocumentId.CollectionId, //family id is needed so that bulk tagging/ reviweset creation can be done for family options FamilyID = resultDocument.DocumentId.FamilyId }; if (resultDocument.FieldValues != null) foreach (FieldResult fieldResult in resultDocument.FieldValues.Select(ConvertDocumentFieldToFieldResult)) { docResult.Fields.Add(fieldResult); if (fieldResult.DataTypeId == 3000) docResult.DocumentControlNumber = fieldResult.Value; } return docResult; }
public IHttpActionResult GenerateCustomerOrder([FromBody] myCustomerOrder pOrder) { MovEncomenda myOrder; MovEncomendaLin myOrderLine; var byRefFalse = false; var stockAvailable = true; var affectsOtherLines = true; var fixedAssociation = true; var freeAssociation = true; var checkStock = false; var famForQty = false; var famForPrice = false; TpProcuraArtigo searchItem = 0; int numberLine; string itemCode; var errorDescription = ""; var result = new DocumentResult(); try { //pOrder = GetNewCustomerOrder(); myOrder = Eti.Aplicacao.Movimentos.MovEncomendasCli.GetNew(pOrder.DocTypeAbbrev, pOrder.SectionCode); myOrder.Cabecalho.CodExercicio = pOrder.FiscalYear; myOrder.Cabecalho.AplicacaoOrigem = "WS"; myOrder.Cabecalho.Data = pOrder.Date.Date; myOrder.Cabecalho.DataVencimento = pOrder.ExpirationDate; myOrder.Cabecalho.Hora = pOrder.Date.Hour.ToString("00") + ":" + pOrder.Date.Minute.ToString("00"); myOrder.Cabecalho.CodEntidade = pOrder.EntityCode; myOrder.AlteraEntidade((byte)TpEntidade.Cliente, myOrder.Cabecalho.CodEntidade, true); myOrder.Cabecalho.AbrevMoeda = pOrder.CurrencyCode; myOrder.AlteraMoeda(pOrder.CurrencyCode, ref byRefFalse, false); foreach (CustomerOrderLine line in pOrder.Lines.OrderBy(p => p.LineNumber)) { itemCode = line.ItemCode; numberLine = myOrder.Lines.Count + 1; myOrder.AddLin(ref numberLine); myOrderLine = myOrder.Lines[numberLine]; myOrderLine.TipoLinha = TpLinha.Artigo; myOrderLine.CodArtigo = itemCode; myOrder.AlteraArtigo(numberLine, ref itemCode, ref affectsOtherLines, ref fixedAssociation, ref freeAssociation, ref searchItem, checkStock, ref stockAvailable, ref famForQty, ref famForPrice); myOrderLine.DescArtigo = line.ItemDescription; myOrderLine.Quantidade = line.Quantity; myOrder.AlteraQuantidade(numberLine, myOrderLine.Quantidade, ref affectsOtherLines, false, ref stockAvailable); if (myOrder.TDocIvaIncluido) { line.UnitPriceExcludedVAT = line.UnitPriceExcludedVAT * (1 + line.VATTax / 100.0); } myOrderLine.PrecoUnitario = Convert.ToDouble(line.UnitPriceExcludedVAT); myOrder.AlteraPrecoUnitario(numberLine, myOrderLine.PrecoUnitario, ref byRefFalse); myOrderLine.TaxaIva = Convert.ToDouble(line.VATTax); myOrderLine.CodTaxaIva = Eti.Aplicacao.Tabelas.TaxasIvas.GetTaxaIva(Convert.ToDecimal(myOrderLine.TaxaIva)); myOrder.AlteraTaxaIVA(numberLine, myOrderLine.CodTaxaIva); myOrderLine.Desconto1 = line.Discount1; myOrder.AlteraDesconto(1, numberLine, myOrderLine.Desconto1); myOrderLine.Desconto2 = line.Discount2; myOrder.AlteraDesconto(2, numberLine, myOrderLine.Desconto2); myOrderLine.Desconto3 = line.Discount3; myOrder.AlteraDesconto(3, numberLine, myOrderLine.Desconto3); myOrderLine.DescontoValorLinha = line.DiscountValue; myOrder.AlteraDesconto(4, numberLine, myOrderLine.DescontoValorLinha); } var validate = myOrder.Validate(true); if (validate) { Eti.Aplicacao.Movimentos.MovEncomendasCli.Update(ref myOrder); } if (myOrder.EtiErrorDescription == "") { result = new DocumentResult() { ErrorDescription = myOrder.EtiErrorDescription, DocumentKey = new Helpers.DocumentKey() { SectionCode = myOrder.Cabecalho.CodSeccao, DocTypeAbbrev = myOrder.Cabecalho.AbrevTpDoc, FiscalYear = myOrder.Cabecalho.CodExercicio, Number = myOrder.Cabecalho.Numero } }; if (pOrder.GetReportBytes) { result.reportBytes = Functions.GetReportBytes(TpDocumentoAEmitir.Encomendas, result.DocumentKey); } } else { result.ErrorDescription = myOrder.EtiErrorDescription; } } catch (Exception ex) { errorDescription = string.Format("{0}.{1}.{2}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name, ex.Message); result.ErrorDescription = errorDescription; } return(Ok(result)); }