public IErpOrderModel LoadOrder(string orderNumber) { EnsureSession(); var dlToken = ((long)((DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds)).ToString(); var fields = new Dictionary <string, string> { ["downloadToken"] = dlToken, ["order_num"] = orderNumber }; var post = m_client.Post(ActionUrl("/erp/impexp/export/index/orders_with_items/xml")) .Field("dataSubset", "a:0:{}") .Field("data", string.Empty); CreateMassFilter(fields, post); var stringData = post.Call(); var ordersModel = ExportDocument.Parse(stringData); var result = ordersModel.Orders.Orders; foreach (var om in result) { om.ErpSystemId = Erp.Id; } return(ordersModel.Orders.Orders.FirstOrDefault(o => o.OrderNumber == orderNumber)); }
public void ExportFolderJson(string sessionId, string folderId, string outputFolder) { var serializer = new DataContractJsonSerializer(typeof(ExportDocument)); var cds = new CaptureDocumentService(); var exportDoc = new ExportDocument(); var folder = cds.GetFolder(sessionId, null, folderId); string targetFolder = Path.Combine(outputFolder, folderId); exportDoc.FolderFields = folder.Fields; Directory.CreateDirectory(targetFolder); folder.Documents.ForEach(doc => { ExportDocumentJson(sessionId, doc.Id, targetFolder); }); }
private IEnumerable <IErpOrderModel> LoadOrders(DateTime from, DateTime?to, string status) { m_log.Info($"Zacinam stahovani objednavek od={from}, do={to}, status={status}"); EnsureSession(); var xDateFrom = from.ToString("d.+M.+yyyy"); var nDateFrom = from.ToString("yyyy-MM-dd"); var dlToken = ((long)((DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds)).ToString(); var fields = new Dictionary <string, string> { ["pur_date_from_xdate"] = xDateFrom, ["pur_date_from"] = nDateFrom }; if (to != null) { fields["pur_date_to_xdate"] = to.Value.ToString("d.+M.+yyyy"); fields["pur_date_to"] = to.Value.ToString("yyyy-MM-dd"); } if (status != null) { fields["status"] = status; } fields["downloadToken"] = dlToken; var post = m_client.Post(ActionUrl("/erp/impexp/export/index/orders_with_items/xml")) .Field("dataSubset", "a:0:{}") .Field("data", string.Empty); CreateMassFilter(fields, post); var stringData = post.Call(); var ordersModel = ExportDocument.Parse(stringData); var result = ordersModel.Orders.Orders; foreach (var om in result) { om.ErpSystemId = Erp.Id; } return(ordersModel.Orders.Orders); }
public string ExportDocumentJson(string sessionId, string documentId, string outputFolder) { var serializer = new DataContractJsonSerializer(typeof(ExportDocument)); var cds = new CaptureDocumentService(); var exportDoc = new ExportDocument(); var doc = cds.GetDocument(sessionId, null, documentId); string folderId = doc.ParentId; var folder = cds.GetFolder(sessionId, null, folderId); string targetFolder = outputFolder; exportDoc.FolderFields = folder.Fields; Directory.CreateDirectory(targetFolder); exportDoc.Fields = doc.Fields; var fileName = Path.Combine( targetFolder, doc.Id + ".json"); using (var fs = File.Create(fileName)) { serializer.WriteObject(fs, exportDoc); } return(fileName); }
public string InsertXml(string BlankNo, string TaskNo, string EventType, string ProlonagtionCode) { ExportDocument doc = new ExportDocument(); doc.Document = new Document(); doc.Document.TemplateId = "АПК «Задание»"; doc.Document.TemplateVersionId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); doc.Document.TemplateVersionTime = DateTime.Now.Year.ToString(); doc.Document.Values = new Values(); doc.Document.Values.Value = new List <Value>(); Value v = new Value(); v = new Value(); v.FieldName = "Задание: Бланк №"; v.FieldValue = BlankNo; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Задание: Задание №"; v.FieldValue = TaskNo; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Задание: Поручение №"; v.FieldValue = tbCommissionNo.Text; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Задание: Год задания"; v.FieldValue = cbTaskYear.Text; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Задание: Исполнитель"; v.FieldValue = cbExecutor.Text; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Задание: Группа контроля"; v.FieldValue = cbWorkGroup.Text; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Задание: Код мероприятия"; v.FieldValue = cbTaskCode.Text; doc.Document.Values.Value.Add(v); v = new Value(); v.FieldName = "Мероприятие: Тип ОТМ"; v.FieldValue = EventType; doc.Document.Values.Value.Add(v); //foreach (var item in markers) //{ // string s = item.Tags; // string[] split = s.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); // int decision = 0; // foreach (var tag in split) // { // if (list[Convert.ToInt32(tag.Replace("{", "").Replace("}", ""))] != string.Empty) // decision++; // } // if (decision > 0) // { // string j = ""; // string[] splitValue = item.Value.Replace("{", "").Split(new string[] { "}" }, StringSplitOptions.RemoveEmptyEntries); // foreach (var p in splitValue) // { // if (p != "") // { // if (EjectData(p) == "error") // j += "Ошибка"; // else if (EjectData(p) == "DigCount") // j += list[Convert.ToInt32(p)]; // else // j += p; // } // } // v = new Value(); // v.FieldName = item.Caption; v.FieldValue = j; // doc.Document.Values.Value.Add(v); // } // else // { // v = new Value(); // v.FieldName = item.Caption; v.FieldValue = ""; // doc.Document.Values.Value.Add(v); // } //} foreach (var item in scanFields) { string s = item.Tags; string[] split = s.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); string complete = string.Empty; foreach (var tag in split) { if (list[Convert.ToInt32(tag.Replace("{", "").Replace("}", ""))] != string.Empty) { complete += markers.Find(x => x.Tag == tag).BeforeSymbol + list[Convert.ToInt32(tag.Replace("{", "").Replace("}", ""))] + markers.Find(x => x.Tag == tag).AfterSymbol; } } if (complete != string.Empty) { v = new Value(); v.FieldName = item.Caption; v.FieldValue = complete; doc.Document.Values.Value.Add(v); } else { v = new Value(); v.FieldName = item.Caption; v.FieldValue = ""; doc.Document.Values.Value.Add(v); } } if (chbProlongation.Checked) { v = new Value(); v.FieldName = "Продление для задания"; v.FieldValue = ProlonagtionCode; doc.Document.Values.Value.Add(v); } else { v = new Value(); v.FieldName = "Продление для задания"; v.FieldValue = ""; doc.Document.Values.Value.Add(v); } if (list2.Count > 0) { v = new Value(); v.FieldName = "Задание: Справка об объекте (справка-меморандум)"; v.FieldValue = R + " " + T + " " + Y + " " + U + " " + I + " " + O + " " + P + " " + A + " " + S; doc.Document.Values.Value.Add(v); } else { v = new Value(); v.FieldName = "Задание: Справка об объекте (справка-меморандум)"; v.FieldValue = ""; doc.Document.Values.Value.Add(v); } XmlSerializer xmlSerializer = new XmlSerializer(typeof(ExportDocument)); StringWriter stringWriter = new StringWriter(); xmlSerializer.Serialize(stringWriter, doc); return(stringWriter.ToString()); }