Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
            });
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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());
        }