void SaveProject()
        {
            AddRevisionChangesArgs args = new AddRevisionChangesArgs();

            args.ProjectId    = _project.ProjectId;
            args.EntityList   = new List <Entity>();
            args.ImportedList = _importedList;

            foreach (TabData info in _tabList)
            {
                if (info.Editor.IsDirty)
                {
                    info.Editor.Save();
                    args.EntityList.Add(info.Editor.Entity);
                }
            }

            try {
                RevisionLogic logic = new RevisionLogic(GlobalData.AppInfo);
                logic.AddRevisionChanges(args);
                _isDirty      = false;
                _importedList = new List <Entity>();
                OpenProject(_project.ProjectId);
            } catch (Exception ex) {
                throw;
            }
        }
        private void createRevision()
        {
            RevisionLogic logic = new RevisionLogic(GlobalData.AppInfo);

            _currentRevision = logic.BeginRevision(_project.ProjectId);
            _importedList    = new List <Entity>();
            SetupToolbar();
        }
        void GenerateScript()
        {
            // make sure everything is saved
            if (_isDirty)
            {
                SaveProject();
            }

            var logic = new RevisionLogic(GlobalData.AppInfo);

            logic.GenerateScript(_currentRevision.RevisionId);
        }
Example #4
0
        virtual public async Task MakeRevisionAsync(Entity entity)
        {
            //Revision itself:
            var clone = entity.Clone() as Entity;

            clone.Revisions = null;

            OnBeforeRevision(clone);

            var revision = new Revision
            {
                ForeignType     = entity.EntityName,
                ForeignKey      = entity.Id,
                Value           = clone.ToJson(),
                RevisionMessage = entity.RevisionMessage,
                CreatedAt       = DateTimeOffset.Now,
                Discriminator   = entity.EntityName
            };

            await RevisionLogic.AddAsync(revision);
        }
Example #5
0
        virtual public void MakeRevision(Entity entity)
        {
            //Revision itself:
            var clone = entity.Clone() as Entity;

            clone.Revisions = null;

            OnBeforeRevision(clone);

            var revision = new Revision
            {
                ForeignType     = typeof(Entity).Name,
                ForeignKey      = entity.Id,
                Value           = clone.ToJson(),
                RevisionMessage = entity.RevisionMessage,
                CreatedAt       = DateTimeOffset.Now,
                Discriminator   = typeof(Entity).Name
            };

            RevisionLogic.Add(revision);
        }
        void CommitVersion()
        {
            // make sure everything is saved
            if (_isDirty)
            {
                SaveProject();
            }

            CommitRevsionArgs args = new CommitRevsionArgs()
            {
                RevisionId = _currentRevision.RevisionId, ExcuteMigration = true
            };
            CommitRevision rev = new CommitRevision(args);

            if (rev.ShowDialog() == DialogResult.OK)
            {
                var logic = new RevisionLogic(GlobalData.AppInfo);
                logic.CommitRevision(args);
                // reload the entire project
                OpenProject(_project.ProjectId);
            }
        }
Example #7
0
 public override void Init(IDbConnection db, IAuthSession auth, IRequest request)
 {
     base.Init(db, auth, request);
     RevisionLogic.Init(db, auth, request);
     TrackLogic.Init(db, auth, request);
 }