Beispiel #1
0
        public void Generate()
        {
            _progressHandler.SetMessage("T2_block", "Create blocks", MessageType.Info);
            _progressHandler.SetMessage("T2_wfRule", "Create workflow rules", MessageType.Info);
            _progressHandler.SetMessage("T2_dll", "Generate dll", MessageType.Info);

            _currentVersion = GetCurrentVersion(_application.Name);

            GenerateCsFiles();
            GenerateDll();
        }
Beispiel #2
0
        private void saveBlocks()
        {
            bool abort = false;

            foreach (TapestryDesignerBlock block in _blocksToBuild)
            {
                try
                {
                    saveBlockContent(block);
                    _progressHandler.IncrementProgress("blockContent");
                }
                catch (Exception e)
                {
                    while (e.Message.Contains("An error occurred while updating the entries. See the inner exception for details."))
                    {
                        e = e.InnerException;
                    }

                    _progressHandler.Error($"{block.Name} - {e.Message}");
                    abort = true;
                }
            }
            _progressHandler.SetMessage("blockContent", "Saving generated block content", MessageType.InProgress);
            _context.SaveChanges();

            if (abort)
            {
                throw new Exception("během aktualizace workflow došlo k chybám");
            }
        }
Beispiel #3
0
        public Dictionary <TapestryDesignerBlock, Block> GenerateTapestry(COREobject core, ModalProgressHandler <EModule> progressHandler)
        {
            _core            = core;
            _progressHandler = progressHandler;
            _app             = core.Application;

            // block & metablock
            try
            {
                // generate new
                progressHandler.SetMessage("block", "Generating metablocks and blocks", MessageType.InProgress, _app.TapestryDesignerMetablocks.Count);
                saveMetablock(_app.TapestryDesignerRootMetablock, true);
                progressHandler.SetMessage("block", "Generating metablocks and blocks completed", MessageType.Success);
            }
            catch (Exception)
            {
                _context.DiscardChanges();

                throw;
            }

            // block content
            try
            {
                progressHandler.SetMessage("blockContent", "Generating block content", MessageType.InProgress, _app.TapestryDesignerMetablocks.Sum(mb => mb.Blocks.Count));
                saveBlocks();
                _context.SaveChanges();
                progressHandler.SetMessage("blockContent", "Generating block content completed", MessageType.Success);
            }
            catch (Exception)
            {
                _context.DiscardChanges();

                throw;
            }

            return(_blockMapping);
        }
        /// <summary>
        /// </summary>
        /// <param name="dbSchemeCommit"></param>
        public void GenerateDatabase(DbSchemeCommit dbSchemeCommit, COREobject core)
        {
            if (dbSchemeCommit != null)
            {
                try
                {
                    _db  = core.Entitron;
                    _ent = core.Context;
                    _app = core.Application;

                    _progressHandler.SetMessage("DropOldRelations", "Drop old relations");
                    _progressHandler.SetMessage("GenerateTables", "Generate tables");
                    _progressHandler.SetMessage("GenerateRelation", "Generate relations");
                    _progressHandler.SetMessage("GenerateView", "Generate views");
                    _progressHandler.SetMessage("DroppingOldTables", "Drop old tables");

                    DropOldRelations(dbSchemeCommit);
                    GenerateTables(dbSchemeCommit);
                    GenerateRelation(dbSchemeCommit);
                    GenerateView(dbSchemeCommit);
                    DroppingOldTables(dbSchemeCommit);

                    _progressHandler.SetMessage("", type: MessageType.Success);
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    Entitron.ClearCache();
                }
            }
        }
Beispiel #5
0
        private void MoveApp()
        {
            progressHandler.SetActiveSection(EModule.Master);

            // copy application to new DB
            if (context != masterContext)
            {
                progressHandler.SetMessage(message: "Copying application to app database", type: MessageType.InProgress);

                app = context.Applications.SingleOrDefault(a => a.Name == core.Application.Name);
                if (app == null)
                {
                    app = new Application();
                    context.Applications.Add(app);
                }

                app.CopyPropertiesFrom(masterApp, skip: new string[] { "Id" });
                context.SaveChanges();

                progressHandler.SetMessage(message: "Application copied", type: MessageType.Success);
            }
            else
            {
                progressHandler.SetMessage(message: "Application is not necessary to copy", type: MessageType.Info);
                app = masterApp;
            }
        }