Advertisement
Guest User

Untitled

a guest
Feb 11th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.25 KB | None | 0 0
  1.                     case "DocentricReportDocumentService":
  2.                         data = DocentricReportDocumentService.GetData(id);
  3.  
  4.                         XmlSerializer ser = new XmlSerializer(typeof(Документ));
  5.  
  6.                         using (XmlWriter xw = doc.CreateWriter())
  7.                         {
  8.                             ser.Serialize(xw, data);
  9.                             xw.Close();
  10.                         }
  11.  
  12.                         Guid documentFieldValue;
  13.                         var documentField = DocumentFieldService.SelectAll(id);
  14.                         var documentFieldElement = new XElement("Форма");
  15.                         documentFieldElement.Add(
  16.                             from df in documentField
  17.                             select new XElement("Поле_формы", new XAttribute("Код", df.DocumentTypeField.Code),
  18.                                 new XAttribute("Значение", df.DocumentTypeField.FieldType == EnumFieldType.Dictonary && Guid.TryParse(df.Value, out documentFieldValue) ? (DocumentTypeFieldValueService.SelectById(Guid.Parse(df.Value)) != null ? DocumentTypeFieldValueService.SelectById(Guid.Parse(df.Value)).Title : string.Empty) : df.Value))
  19.                         );
  20.  
  21.                         doc.Element("Документ").Add(documentFieldElement);
  22.  
  23.                         XElement el = doc.Root;
  24.                         var str = el.ToString().Replace("xsi:nil=\"true\"", "");
  25.                         el = XElement.Parse(str);
  26.  
  27.                         using (Stream reportDocumentStream = new MemoryStream())
  28.                         {
  29.                             using (Stream reportTemplateStream = FileSystemProvider.GetFile("PrintForm", printForm.CurrentVersion.FileName))
  30.                             {
  31.                                 DocumentGenerator dg = new DocumentGenerator(el);
  32.                                 DocumentGenerationResult result = dg.GenerateDocument(reportTemplateStream, reportDocumentStream);
  33.  
  34.                                 return File(FileSystemProvider.StreamToByte(reportDocumentStream), System.Net.Mime.MediaTypeNames.Application.Octet, printForm.CurrentVersion.FileName);
  35.                             }
  36.                         }
  37.                         break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement