示例#1
0
 //Продготовка файла Result
 protected void PrepareResultFile()
 {
     ResultFile = General.ControllerDir + @"Result\Result" + Id + ".accdb";
     if (!DaoDb.FromTemplate(General.ControllerDir + "ResultTemplate.accdb", ResultFile, ApplicationType == ApplicationType.Controller ? ReplaceByTemplate.IfNewVersion : ReplaceByTemplate.Always))
     {
         DaoDb.Compress(ResultFile, 400000000, General.TmpDir, 3000);
     }
 }
示例#2
0
        //Открытие файла истории
        private void OpenHistory(string fileName, bool replace)
        {
            var file     = TestLib.TestRunDir + @"Libraries\History\" + fileName + ".accdb";
            var template = ItStatic.InfoTaskDir() + @"Templates\LocalData\History.accdb";

            if (replace)
            {
                DaoDb.FromTemplate(template, file, ReplaceByTemplate.Always);
                TestLib.CopyFile("Libraries", "CorrectHistory.accdb", @"History\CorrectHistory.accdb");
            }
            Logger         = new Logger(new TestIndicator());
            Logger.History = new AccessHistory(Logger, file, template);
        }
示例#3
0
        //Загрузка настроек из SysPage и создание файла данных, если нужно
        public void LoadSetup()
        {
            AddEvent("Загрузка свойств отчета и открытие файла данных");
            string s = Workbook.Name;

            DataFile = General.ReporterDir + @"Tmp\" + s.Substring(0, s.Length - 5) + "Data.accdb";
            DaoDb.FromTemplate(General.ReportTemplateFile, DataFile);
            Name            = SysPage.GetValue("ReportName");
            PeriodLength    = new TimeSpan(SysPage.GetIntValue("DayLength"), SysPage.GetIntValue("HourLength"), SysPage.GetIntValue("MinuteLength"), 0);
            MonthLengh      = SysPage.GetIntValue("MonthLength");
            DefaultPeriod   = SysPage.GetValue("DefaultPeriod");
            PeriodNull      = SysPage.GetValue("HourStart").IsEmpty() && SysPage.GetValue("MinuteStart").IsEmpty();
            PeriodStart     = new TimeSpan(0, SysPage.GetIntValue("HourStart"), SysPage.GetIntValue("MinuteStart"), 0);
            DayStart        = SysPage.GetIntValue("DayStart");
            DifferentLength = SysPage.GetValue("DifferentLength").ToDifferentLength();
            DifferentBegin  = SysPage.GetBoolValue("DifferentBegin");
        }
示例#4
0
        public void DaoDbStatic()
        {
            var    db        = CopyDb("Static");
            string file      = File("Static");
            string fileWrong = File("Static2");
            string fileCopy  = File("Copy");
            string fileTmp   = TestLib.TestRunDir + @"Libraries\TmpDaoStatic.accdb";

            db.Dispose();
            Assert.IsNull(db.Database);
            Assert.IsNull(db.Connection);
            Assert.IsTrue(DaoDb.Check(file, "DaoTest"));
            Assert.IsTrue(DaoDb.Check(file, "DaoTest", new[] { "Tabl", "SubTabl", "EmptyTabl", "SysTabl", "SysSubTabl" }));
            Assert.IsTrue(DaoDb.Check(file, new[] { "Tabl", "SubTabl", "EmptyTabl" }));
            Assert.IsFalse(DaoDb.Check(fileWrong, "Fignia"));
            Assert.IsFalse(DaoDb.Check(null, "Fignia"));
            Assert.IsFalse(DaoDb.Check(fileWrong, "Fignia"));
            Assert.IsFalse(DaoDb.Check(fileWrong, new[] { "Tabl" }));
            Assert.IsFalse(DaoDb.Check(file, new[] { "Tabl", "SubTabl", "EmptyTabl1" }));

            DaoDb.Compress(file, 10000000);
            DaoDb.Compress(file, 10000);
            Assert.IsTrue(new FileInfo(fileTmp).Exists);

            Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.Always));
            Assert.IsFalse(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNotExists));
            Assert.IsFalse(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNewVersion));
            new FileInfo(fileCopy).Delete();
            Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNotExists));
            new FileInfo(fileCopy).Delete();
            Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNewVersion));
            Assert.IsTrue(new FileInfo(fileCopy).Exists);

            DaoDb.Execute(file, "DELETE * FROM Tabl");
            DaoDb.ExecuteAdo(file, "DELETE * FROM SysTabl");
            using (var rec = new AdoReader(file, "SELECT * FROM Tabl"))
                Assert.IsFalse(rec.HasRows);
            using (var rec = new AdoReader(file, "SELECT * FROM SubTabl"))
                Assert.IsFalse(rec.HasRows);
            using (var rec = new DaoRec(file, "SysTabl"))
                Assert.IsFalse(rec.HasRows);
            using (var rec = new DaoRec(file, "SysSubTabl"))
                Assert.IsFalse(rec.HasRows);
        }
示例#5
0
 //Сохранение в ведомость
 public void SaveVed()
 {
     try
     {
         DaoDb.FromTemplate(General.GeneralDir + @"\Templates\AnalyzerVedTemplate.accdb", _vedFile, ReplaceByTemplate.Always);
         using (_vedDb = new DaoDb(_vedFile))
         {
             WriteSysTabl();
             MakeColumnsAndFilters();
             _project.ThreadCalc.Procent = 10;
             WriteParams();
             _project.ThreadCalc.Start(WriteLinVed, 20);
         }
     }
     catch (Exception ex)
     {
         AddError("Ошибка при записи в ведомость", ex, "", _project.Code);
     }
 }
示例#6
0
        //Обновление файла данных из проектов и отчета, загрузка параметров Projects
        //updateAll - обновлять, даже если дата обновления ссылок не совпадет, delete - удалять файл перед обновлением
        public void UpdateDataFile(bool delete, bool updateAll = false)
        {
            AddEvent("Обновление файла данных", Code);
            if (delete)
            {
                DaoDb.FromTemplate(General.ReportTemplateFile, DataFile, ReplaceByTemplate.Always);
            }
            if (updateAll)
            {
                LastChangeLinks = DateTime.Now;
            }
            bool needUpdate = ParamsProjectsToFile();

            if (updateAll || needUpdate || Projects.Count == 0)
            {
                ParamsFileToMemory();
            }
            if (needUpdate || LastChangeLinks != SysTabl.ValueS(DataFile, "LastChangeLinks").ToDateTime())
            {
                LinksReportToFile();
            }
        }