示例#1
0
 //
 // Disassociate this tote from a domain if the contents is empty.
 //
 void Contents_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if (Contents.Count == 0)
     {
         Domain = null;
     }
 }
示例#2
0
 private void xpCollectionUser_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if (e.CollectionChangedType == XPCollectionChangedType.AfterRemove)
     {
         (sender as XPCollection).Session.Delete(e.ChangedObject);
     }
 }
        protected override void OnCollectionChanged(XPCollectionChangedEventArgs args)
        {
            base.OnCollectionChanged(args);


            NotifyCollectionChangedEventArgs ObservableArgs = null;

            switch (args.CollectionChangedType)
            {
            case XPCollectionChangedType.BeforeAdd:
                return;

            case XPCollectionChangedType.AfterAdd:
                ObservableArgs = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, args.ChangedObject, args.NewIndex);
                break;

            case XPCollectionChangedType.BeforeRemove:

                return;

            case XPCollectionChangedType.AfterRemove:

                ObservableArgs = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, args.ChangedObject);
                break;
            }



            OnInternalCollectionChanged(this, ObservableArgs);
        }
示例#4
0
        /// <summary>
        /// Handles the CollectionChanged event of the collection control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DevExpress.Xpo.XPCollectionChangedEventArgs"/> instance containing the event data.</param>
        private void collection_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
        {
            if (TrackedObjectBag.SessionData.Collector.ProtocolService.LoadService.IsLoading)
            {
                return;
            }

            ProtocolEventType protocolEventType;

            switch (e.CollectionChangedType)
            {
            case XPCollectionChangedType.AfterAdd:
                protocolEventType = ProtocolEventType.AddedToCollection;
                break;

            case XPCollectionChangedType.AfterRemove:
                protocolEventType = ProtocolEventType.RemovedFromCollection;
                break;

            default:
                return;
            }
            var protEvent = new ProtocolEvent
            {
                Target            = TargetObject,
                OldValue          = e.ChangedObject,
                PropertyName      = Collections[(XPBaseCollection)sender],
                ProtocolEventType = protocolEventType,
                ReplicationKey    = ExtensionsHelper.GetReplicationKey(TargetObject)
            };
            var session = ((ISessionProvider)TargetObject).Session;

            TrackedObjectBag.SessionData.Collector.RegisterProtocolEvent(session, protEvent);
        }
 private void collection_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if (e.CollectionChangedType == XPCollectionChangedType.BeforeRemove)
     {
         IntermediateObject intermediateObject;
         if (intermediateObjectHash.TryGetValue(e.ChangedObject, out intermediateObject))
         {
             intermediateObject.Delete();
             intermediateObjectHash.Remove(e.ChangedObject);
         }
         else
         {
             hiddenCollection.BaseRemove(e.ChangedObject);
         }
     }
     if (e.CollectionChangedType == XPCollectionChangedType.AfterAdd)
     {
         IntermediateObject intermediateObject = null;
         if (!owner.Session.IsNewObject(e.ChangedObject))
         {
             var criteria = new GroupOperator();
             foreach (XPMemberInfo memberInfo in intermediateClassInfo.PersistentProperties)
             {
                 if (memberInfo.MemberType.IsAssignableFrom(owner.GetType()))
                 {
                     criteria.Operands.Add(new BinaryOperator(memberInfo.Name, owner));
                 }
                 if (memberInfo.MemberType.IsAssignableFrom(e.ChangedObject.GetType()))
                 {
                     criteria.Operands.Add(new BinaryOperator(memberInfo.Name, e.ChangedObject));
                 }
             }
             intermediateObject = owner.Session.FindObject(intermediateClassInfo, criteria) as IntermediateObject;
             if (intermediateObject != null && intermediateObject.IsDeleted)
             {
                 var newIntermediateObject = new IntermediateObject(owner.Session, intermediateClassInfo);
                 intermediateObject = newIntermediateObject;
                 newIntermediateObject.LeftIntermediateObjectField  = intermediateObject.LeftIntermediateObjectField;
                 newIntermediateObject.RightIntermediateObjectField = intermediateObject.RightIntermediateObjectField;
             }
         }
         if (intermediateObject == null)
         {
             intermediateObject = new IntermediateObject(owner.Session, intermediateClassInfo);
             foreach (XPMemberInfo memberInfo in intermediateClassInfo.PersistentProperties)
             {
                 if (memberInfo.MemberType.IsAssignableFrom(owner.GetType()))
                 {
                     memberInfo.SetValue(intermediateObject, owner);
                 }
                 if (memberInfo.MemberType.IsAssignableFrom(e.ChangedObject.GetType()))
                 {
                     memberInfo.SetValue(intermediateObject, e.ChangedObject);
                 }
             }
         }
         intermediateObjectHash.Add(e.ChangedObject, intermediateObject);
     }
 }
示例#6
0
 private void Resources_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if ((e.CollectionChangedType == XPCollectionChangedType.AfterAdd) || (e.CollectionChangedType == XPCollectionChangedType.AfterRemove))
     {
         UpdateResourceIds();
         OnChanged("ResourceId");
     }
 }
示例#7
0
 private void LstHaustechnikKomponenten_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     //throw new NotImplementedException();
     if (e.CollectionChangedType == XPCollectionChangedType.AfterAdd || e.CollectionChangedType == XPCollectionChangedType.AfterRemove)
     {
         this.lstHaustechnikKomponenten.Reload();
         this.Reload();
     }
 }
示例#8
0
 private void ChildrenOperationChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if (View.CurrentObject is MaintenanceOperation operation &&
         e.CollectionChangedType.OneOf(XPCollectionChangedType.AfterAdd, XPCollectionChangedType.AfterRemove))
     {
         PersistentCalculatedTool.Mark(operation, nameof(operation.TotalCost));
         PersistentCalculatedTool.Mark(operation, nameof(operation.Duration));
     }
 }
示例#9
0
 private void Properties_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if (!IsLoading && !IsSaving)
     {
         _propertiesDataSource = null;
         OnChanged(nameof(CollectionPropertyCount));
         OnChanged(nameof(ReferencePropertyCount));
         OnChanged(nameof(PropertyCount));
         calcName();
     }
 }
 protected override void OnCollectionChanged(XPCollectionChangedEventArgs args)
 {
     base.OnCollectionChanged(args);
     if (args.CollectionChangedType == DevExpress.Xpo.XPCollectionChangedType.AfterRemove)
     {
         if (this.Session is UnitOfWork)//Should be UnitOfWork to use extension method SaveLine
         {
             UnitOfWork unit = (UnitOfWork)this.Session;
             unit.Delete(args.ChangedObject);
             unit.SaveLine();
         }
     }
 }
示例#11
0
 private void XPC_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     if (e.ChangedObject is CoreModel.AccountGroup)
     {
         ((CoreModel.AccountGroup)e.ChangedObject).AccountType = currentActivatedAccType;
     }
     else if (e.ChangedObject is CoreModel.AccountRef1)
     {
         ((CoreModel.AccountRef1)e.ChangedObject).AccountType = currentActivatedAccType;
     }
     else if (e.ChangedObject is CoreModel.AccountRef2)
     {
         ((CoreModel.AccountRef2)e.ChangedObject).AccountType = currentActivatedAccType;
     }
 }
示例#12
0
 void coll_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     UpdateTotal();
     //UpdateCount();
 }
示例#13
0
 protected void OnCollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     UpdateTotals();
 }
示例#14
0
 // calculating taxes starts here
 void UpdateCurrentInvoiceTotal(object sender, XPCollectionChangedEventArgs args)
 {
     OnChanged("CurrentInvoiceTotal");
 }
示例#15
0
 void col_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     // call TotalsChanged if the grid is not the only control that modifies the Children collection
 }
示例#16
0
 private void Resources_CollectionChanged(object sender, XPCollectionChangedEventArgs e) {
     if ((e.CollectionChangedType == XPCollectionChangedType.AfterAdd) || (e.CollectionChangedType == XPCollectionChangedType.AfterRemove)) {
         UpdateResourceIds();
         OnChanged("ResourceId");
     }
 }
示例#17
0
 private static void XPCollectionCollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     System.Diagnostics.Debug.WriteLine("XPCollection: CollectionChanged()");
 }
 void Details_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     UpdateSubDetails();
     OnChanged("SubDetails");
 }
示例#19
0
 private void m_serials_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     RefreshCounts();
 }
示例#20
0
        static void CollectionOnCollectionChanged(object sender, XPCollectionChangedEventArgs e)
        {
            var collection = sender as XPCollection <TestDetail>;

            System.Diagnostics.Debug.WriteLine(e.ChangedObject);
        }
示例#21
0
 void communication_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     Calculate();
 }
示例#22
0
 public void CasesCollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
     OnChanged("VisitCases");
     OnChanged("HospitalCases");
     OnChanged("DispanserizaionCases");
 }
示例#23
0
 private void xpCollection1_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
 {
 }
示例#24
0
        /// <summary>
        /// Handles the CollectionChanged event of the collection control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DevExpress.Xpo.XPCollectionChangedEventArgs"/> instance containing the event data.</param>
        private void collection_CollectionChanged(object sender, XPCollectionChangedEventArgs e)
        {
            if (TrackedObjectBag.SessionData.Collector.ProtocolService.LoadService.IsLoading) return;

            ProtocolEventType protocolEventType;
            switch (e.CollectionChangedType)
            {
                case XPCollectionChangedType.AfterAdd:
                    protocolEventType = ProtocolEventType.AddedToCollection;
                    break;
                case XPCollectionChangedType.AfterRemove:
                    protocolEventType = ProtocolEventType.RemovedFromCollection;
                    break;
                default:
                    return;
            }
            var protEvent = new ProtocolEvent
                                {
                                    Target = TargetObject,
                                    OldValue = e.ChangedObject,
                                    PropertyName = Collections[(XPBaseCollection)sender],
                                    ProtocolEventType = protocolEventType,
                                    ReplicationKey = ExtensionsHelper.GetReplicationKey(TargetObject)
                                };
            var session = ((ISessionProvider)TargetObject).Session;
            TrackedObjectBag.SessionData.Collector.RegisterProtocolEvent(session, protEvent);
        }