Exemplo n.º 1
0
        public static void ReleaseSequence(ISupportSequenceObject supportSequenceObject)
        {
            var typeName    = supportSequenceObject.Prefix + supportSequenceObject.GetType().FullName;
            var objectSpace = (XPObjectSpace)XPObjectSpace.FindObjectSpaceByObject(supportSequenceObject);

            ReleaseSequence(objectSpace.Session, typeName, supportSequenceObject.Sequence);
        }
Exemplo n.º 2
0
        public static void GenerateSequence(ISupportSequenceObject supportSequenceObject, ITypeInfo typeInfo)
        {
            if (_defaultDataLayer == null)
            {
                return;
            }
            if (_sequenceGenerator == null)
            {
                _sequenceGenerator = new SequenceGenerator();
            }
            long    nextSequence = _sequenceGenerator.GetNextSequence(typeInfo, supportSequenceObject.Prefix);
            Session session      = supportSequenceObject.Session;

            if (!(session is NestedUnitOfWork))
            {
                SessionManipulationEventHandler[] sessionOnAfterCommitTransaction = { null };
                sessionOnAfterCommitTransaction[0] = (sender, args) => {
                    if (_sequenceGenerator != null)
                    {
                        try {
                            _sequenceGenerator.Accept();
                        } finally {
                            session.AfterCommitTransaction -= sessionOnAfterCommitTransaction[0];
                            _sequenceGenerator.Dispose();
                            _sequenceGenerator = null;
                        }
                    }
                };
                session.AfterCommitTransaction += sessionOnAfterCommitTransaction[0];
            }
            supportSequenceObject.Sequence = nextSequence;
        }
Exemplo n.º 3
0
 public static void GenerateSequence(ISupportSequenceObject supportSequenceObject, ITypeInfo typeInfo)
 {
     if (((ISessionProvider)supportSequenceObject).Session.IsNewObject(supportSequenceObject))
     {
         GenerateSequence(((ISessionProvider)supportSequenceObject).Session, supportSequenceObject.Prefix + typeInfo.FullName, l => supportSequenceObject.Sequence = l);
     }
 }
 public ListView CreateListView(XafApplication application, IObjectSpace objectSpace, ISupportSequenceObject supportSequenceObject) {
     var nestedObjectSpace = (XPNestedObjectSpace)objectSpace.CreateNestedObjectSpace();
     var objectType = XafTypesInfo.Instance.FindBussinessObjectType<ISequenceReleasedObject>();
     var collectionSource = application.CreateCollectionSource(nestedObjectSpace, objectType, application.FindListViewId(objectType));
     collectionSource.Criteria["ShowReleasedSequences"] = CriteriaOperator.Parse("TypeName=?", supportSequenceObject.Prefix + supportSequenceObject.ClassInfo.FullName);
     return application.CreateListView(nestedObjectSpace, objectType, true);
 }
Exemplo n.º 5
0
        public static void GenerateSequence(ISupportSequenceObject supportSequenceObject)
        {
            var info     = XafTypesInfo.Instance.FindTypeInfo(supportSequenceObject.GetType());
            var typeInfo = info.IsInterface
                ? XafTypesInfo.Instance.FindTypeInfo(XpoTypesInfoHelper.GetXpoTypeInfoSource().GetGeneratedEntityType(info.Type))
                : XafTypesInfo.Instance.FindTypeInfo(((XPBaseObject)supportSequenceObject).ClassInfo.FullName);

            GenerateSequence(supportSequenceObject, typeInfo);
        }
Exemplo n.º 6
0
        public static void ReleaseSequence(ISupportSequenceObject supportSequenceObject)
        {
            if (_defaultDataLayer == null)
            {
                return;
            }
            var objectSpace    = (XPObjectSpace)XPObjectSpace.FindObjectSpaceByObject(supportSequenceObject);
            var sequenceObject = objectSpace.GetObjectByKey(_sequenceObjectType, supportSequenceObject.Prefix + supportSequenceObject.ClassInfo.FullName) as ISequenceObject;

            if (sequenceObject != null)
            {
                var objectFromInterface = objectSpace.CreateObjectFromInterface <ISequenceReleasedObject>();
                objectFromInterface.Sequence       = supportSequenceObject.Sequence;
                objectFromInterface.SequenceObject = sequenceObject;
            }
        }
Exemplo n.º 7
0
 public static void GenerateSequence(ISupportSequenceObject supportSequenceObject)
 {
     GenerateSequence(supportSequenceObject, XafTypesInfo.Instance.FindTypeInfo(supportSequenceObject.ClassInfo.FullName));
 }
Exemplo n.º 8
0
 public static void ReleaseSequence(ISupportSequenceObject supportSequenceObject) {
     if (_defaultDataLayer == null)
         return;
     var objectSpace = (XPObjectSpace)XPObjectSpace.FindObjectSpaceByObject(supportSequenceObject);
     var sequenceObject = objectSpace.GetObjectByKey(_sequenceObjectType, supportSequenceObject.Prefix + supportSequenceObject.ClassInfo.FullName) as ISequenceObject;
     if (sequenceObject != null) {
         var objectFromInterface = objectSpace.CreateObjectFromInterface<ISequenceReleasedObject>();
         objectFromInterface.Sequence = supportSequenceObject.Sequence;
         objectFromInterface.SequenceObject = sequenceObject;
     }
 }
Exemplo n.º 9
0
 public static void GenerateSequence(ISupportSequenceObject supportSequenceObject) {
     GenerateSequence(supportSequenceObject, XafTypesInfo.Instance.FindTypeInfo(supportSequenceObject.ClassInfo.FullName));
 }
Exemplo n.º 10
0
        public static void GenerateSequence(ISupportSequenceObject supportSequenceObject, ITypeInfo typeInfo) {
            if (_defaultDataLayer == null)
                return;
            if (supportSequenceObject.Session is NestedUnitOfWork ||
                !supportSequenceObject.Session.IsNewObject(supportSequenceObject))
                return;
            if (_sequenceGenerator == null)
                _sequenceGenerator = new SequenceGenerator();
            long nextSequence = _sequenceGenerator.GetNextSequence(typeInfo, supportSequenceObject.Prefix);
            Session session = supportSequenceObject.Session;
            if (IsNotNestedUnitOfWork(session)) {
                SessionManipulationEventHandler[] sessionOnAfterCommitTransaction = { null };
                sessionOnAfterCommitTransaction[0] = (sender, args) => {
                    if (_sequenceGenerator != null) {
                        try {
                            _sequenceGenerator.Accept();
                        }
                        finally {
                            session.AfterCommitTransaction -= sessionOnAfterCommitTransaction[0];
                        }
                    }

                };
                session.AfterCommitTransaction += sessionOnAfterCommitTransaction[0];
            }
            supportSequenceObject.Sequence = nextSequence;
        }
        public ListView CreateListView(XafApplication application, IObjectSpace objectSpace, ISupportSequenceObject supportSequenceObject)
        {
            var nestedObjectSpace = (XPNestedObjectSpace)objectSpace.CreateNestedObjectSpace();
            var objectType        = XafTypesInfo.Instance.FindBussinessObjectType <ISequenceReleasedObject>();
            var collectionSource  = application.CreateCollectionSource(nestedObjectSpace, objectType, application.FindListViewId(objectType));

            collectionSource.Criteria["ShowReleasedSequences"] = CriteriaOperator.Parse("TypeName=?", supportSequenceObject.Prefix + supportSequenceObject.ClassInfo.FullName);
            return(application.CreateListView(nestedObjectSpace, objectType, true));
        }
        public void Assign(PopupWindowShowActionExecuteEventArgs popupWindowShowActionExecuteEventArgs, ISupportSequenceObject sequenceObject)
        {
            var sequenceReleasedObject = ((ISequenceReleasedObject)popupWindowShowActionExecuteEventArgs.PopupWindow.View.CurrentObject);

            _sequenceReleasedObjectKey = popupWindowShowActionExecuteEventArgs.PopupWindow.View.ObjectSpace.GetKeyValue(popupWindowShowActionExecuteEventArgs.PopupWindow.View.CurrentObject);
            var sequence = sequenceReleasedObject.Sequence;

            sequenceObject.Sequence = sequence;
        }
 public void Init(IObjectSpace objectSpace, ISupportSequenceObject editingObject, XafApplication application)
 {
     _objectSpace           = (XPObjectSpace)objectSpace;
     _supportSequenceObject = editingObject;
     _application           = application;
 }
Exemplo n.º 14
0
        public static void GenerateSequence(ISupportSequenceObject supportSequenceObject) {
            if (_sequenceGenerator == null)
                _sequenceGenerator = new SequenceGenerator();
            long nextSequence = _sequenceGenerator.GetNextSequence(supportSequenceObject.ClassInfo, supportSequenceObject.Prefix);
            Session session = supportSequenceObject.Session;
            if (!(session is NestedUnitOfWork)) {
                SessionManipulationEventHandler[] sessionOnAfterCommitTransaction = { null };
                sessionOnAfterCommitTransaction[0] = (sender, args) => {
                    if (_sequenceGenerator != null) {
                        try {
                            _sequenceGenerator.Accept();
                        } finally {
                            session.AfterCommitTransaction -= sessionOnAfterCommitTransaction[0];
                            _sequenceGenerator.Dispose();
                            _sequenceGenerator = null;
                        }
                    }

                };
                session.AfterCommitTransaction += sessionOnAfterCommitTransaction[0];
            }
            supportSequenceObject.Sequence = nextSequence;
        }
 public void Init(IObjectSpace objectSpace, ISupportSequenceObject editingObject, XafApplication application) {
     _objectSpace = (XPObjectSpace)objectSpace;
     _supportSequenceObject = editingObject;
     _application = application;
 }
 public void Assign(PopupWindowShowActionExecuteEventArgs popupWindowShowActionExecuteEventArgs, ISupportSequenceObject sequenceObject) {
     var sequenceReleasedObject = ((ISequenceReleasedObject)popupWindowShowActionExecuteEventArgs.PopupWindow.View.CurrentObject);
     _sequenceReleasedObjectKey = popupWindowShowActionExecuteEventArgs.PopupWindow.View.ObjectSpace.GetKeyValue(popupWindowShowActionExecuteEventArgs.PopupWindow.View.CurrentObject);
     var sequence = sequenceReleasedObject.Sequence;
     sequenceObject.Sequence = sequence;
 }
Exemplo n.º 17
0
 private static bool IsProviderSupported(ISupportSequenceObject supportSequenceObject){
     return !(supportSequenceObject.Session.DataLayer.ConnectionProvider(supportSequenceObject) is SQLiteConnectionProvider);
 }