コード例 #1
0
ファイル: BillData.cs プロジェクト: vvboborykin/VistaMedTools
        public BillData(IBackgroundContext context, string lFileName, string hFileName)
        {
            LFileName = Path.GetFileName(lFileName);
            HFileName = Path.GetFileName(hFileName);
            if (File.Exists(lFileName) && File.Exists(hFileName))
            {
                Reestr = new ZL_LIST();
                context.ReportProgress(@"Загрузка файла {0} ...", Path.GetFileName(hFileName));
                Reestr.ReadXml(hFileName);

                Persons = new PERS_LIST();
                context.ReportProgress(@"Загрузка файла {0} ...", Path.GetFileName(lFileName));
                Persons.ReadXml(lFileName);
            }
            else
                throw new ApplicationException(string.Format(@"Файл счета не найден {0}/{1}", lFileName, hFileName));
        }
コード例 #2
0
        private void LoadXMLAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                using (Stream stream = dialog.OpenFile())
                {
                    UnitOfWork uow = new UnitOfWork(((DevExpress.ExpressApp.Xpo.XPObjectSpace)ObjectSpace).Session.DataLayer);
                    XDocument  doc = XDocument.Load(stream);
                    if (doc.Root.Name != "PERS_LIST")
                    {
                        throw new ArgumentException("PERS_LIST");
                    }
                    var pers_list = new PERS_LIST(uow);
                    //PERS_LIST pers_list = ObjectSpace.CreateObject<PERS_LIST>();

                    //заголовок
                    XElement xzglv = doc.Root.Element("ZGLV");
                    if (xzglv != null)
                    {
                        var zglv = new ZGLV(uow);
                        //var zglv = ObjectSpace.CreateObject<ZGLV>();
                        zglv.VERSION   = GetString(xzglv.Element("VERSION"), true);
                        zglv.DATA      = GetString(xzglv.Element("DATA"), true);
                        zglv.FILENAME  = GetString(xzglv.Element("FILENAME"), true);
                        zglv.FILENAME1 = GetString(xzglv.Element("FILENAME1"), false);

                        pers_list.ZGLV = zglv;
                    }
                    else
                    {
                        throw new ArgumentException("ZGLV");
                    }

                    int counter = 0;
                    //Список персов
                    foreach (var xpers in doc.Root.Elements("PERS"))
                    {
                        var pers = new PERS(uow);
                        //var pers = ObjectSpace.CreateObject<PERS>();

                        pers.ID_PAC = GetString(xpers.Element("ID_PAC"), true);
                        pers.FAM    = GetString(xpers.Element("FAM"), false);
                        pers.IM     = GetString(xpers.Element("IM"), false);
                        pers.OT     = GetString(xpers.Element("OT"), false);
                        pers.W      = GetNumber(xpers.Element("W"), true);
                        pers.DR     = GetString(xpers.Element("DR"), false);

                        //foreach (var xdost in xpers.Elements("DOST"))
                        //{
                        //    Dost dost = (Dost)GetNumber(xdost, true);
                        //    pers.DOST.Add(dost);
                        //}

                        pers.FAM_P = GetString(xpers.Element("FAM_P"), false);
                        pers.IM_P  = GetString(xpers.Element("IM_P"), false);
                        pers.OT_P  = GetString(xpers.Element("OT_P"), false);
                        pers.W_P   = GetNumber(xpers.Element("W_P"), false);
                        pers.DR_P  = GetString(xpers.Element("DR_P"), false);

                        //foreach (var xdost in xpers.Elements("DOST_P"))
                        //{
                        //    Dost dost = (Dost)GetNumber(xdost, true);
                        //    pers.DOST_P.Add(dost);
                        //}

                        pers.MR      = GetString(xpers.Element("MR"), false);
                        pers.DOCTYPE = GetString(xpers.Element("DOCTYPE"), false);
                        pers.DOCSER  = GetString(xpers.Element("DOCSER"), false);
                        pers.DOCNUM  = GetString(xpers.Element("DOCNUM"), false);
                        pers.SNILS   = GetString(xpers.Element("SNILS"), false);
                        pers.OKATOG  = GetString(xpers.Element("OKATOG"), false);
                        pers.OKATOP  = GetString(xpers.Element("OKATOP"), false);
                        pers.COMENTP = GetString(xpers.Element("COMENTP"), false);
                        //pers.PERS_LIST = pers_list;
                        pers_list.People.Add(pers);

                        counter++;
                        if (counter % 1000 == 0)
                        {
                            uow.CommitChanges();
                            uow.Dispose();
                            uow       = new UnitOfWork(((DevExpress.ExpressApp.Xpo.XPObjectSpace)ObjectSpace).Session.DataLayer);
                            pers_list = uow.GetObjectByKey <PERS_LIST>(pers_list.Oid);
                        }
                    }
                    uow.CommitChanges();
                    MessageBox.Show("Загрузка завершена. Всего записей : " + counter);
                }
            }
        }
コード例 #3
0
        private void SaveLAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                int counter = 0;
                if (View.CurrentObject is PERS_LIST)
                {
                    PERS_LIST list = (PERS_LIST)View.CurrentObject;

                    XElement pers_list = new XElement("PERS_LIST");
                    XElement xzglv     = new XElement("ZGLV");
                    xzglv.Add(new XElement("VERSION")
                    {
                        Value = list.ZGLV.VERSION
                    });
                    xzglv.Add(new XElement("DATA")
                    {
                        Value = list.ZGLV.DATA
                    });
                    xzglv.Add(new XElement("FILENAME")
                    {
                        Value = list.ZGLV.FILENAME
                    });
                    xzglv.Add(new XElement("FILENAME1")
                    {
                        Value = list.ZGLV.FILENAME1
                    });
                    pers_list.AddFirst(xzglv);

                    foreach (PERS pers in list.People)
                    {
                        XElement xpers = new XElement("PERS");
                        xpers = AddXElement(xpers, "ID_PAC", pers.ID_PAC, true);
                        xpers = AddXElement(xpers, "FAM", pers.FAM, false);
                        xpers = AddXElement(xpers, "IM", pers.IM, false);
                        xpers = AddXElement(xpers, "OT", pers.OT, false);
                        xpers = AddXElement(xpers, "W", Convert.ToString(pers.W), false);
                        xpers = AddXElement(xpers, "DR", pers.DR, false);
                        xpers = AddXElement(xpers, "FAM_P", pers.FAM_P, false);
                        xpers = AddXElement(xpers, "IM_P", pers.IM_P, false);
                        xpers = AddXElement(xpers, "OT_P", pers.OT_P, false);
                        xpers = AddXElement(xpers, "W_P", Convert.ToString(pers.W_P), false);
                        xpers = AddXElement(xpers, "DR_P", pers.DR_P, false);
                        xpers = AddXElement(xpers, "MR", pers.MR, true);
                        xpers = AddXElement(xpers, "DOCTYPE", pers.DOCTYPE, false);
                        xpers = AddXElement(xpers, "DOCSER", pers.DOCSER, false);
                        xpers = AddXElement(xpers, "DOCNUM", pers.DOCNUM, false);
                        xpers = AddXElement(xpers, "SNILS", pers.SNILS, false);
                        xpers = AddXElement(xpers, "OKATOG", pers.OKATOG, false);
                        xpers = AddXElement(xpers, "OKATOP", pers.OKATOP, false);
                        xpers = AddXElement(xpers, "COMENTP", pers.COMENTP, false);

                        pers_list.Add(xpers);
                        counter++;
                    }

                    using (Stream stream = dialog.OpenFile())
                    {
                        XDeclaration decl = new XDeclaration("1.0", "windows-1251", "");
                        XDocument    doc  = new XDocument(decl, pers_list);
                        //doc.Declaration = decl;
                        doc.Save(stream);
                    }
                }

                MessageBox.Show("Выгрузка завершена. Всего записей : " + counter);
            }
        }