示例#1
0
        private void DuplicateNote_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            if (!ObjectSpace.IsModified)
            {
                genCon.showMsg("Error", "Please edit the item 1st.", InformationType.Error);
                return;
            }
            if (((ListView)View).SelectedObjects.Count != 1)
            {
                genCon.showMsg("Error", "Only 1 record to be duplicated at once.", InformationType.Error);
            }
            else
            {
                int minoid = 0;
                foreach (ClaimTrxDetailNotes dtl in ((ListView)View).CollectionSource.List)
                {
                    if (dtl.Oid < minoid)
                    {
                        minoid = dtl.Oid - 1;
                    }
                }

                foreach (ClaimTrxDetailNotes dtl in ((ListView)View).SelectedObjects)
                {
                    ClaimTrxDetailNotes newdtl = ObjectSpace.CreateObject <ClaimTrxDetailNotes>();
                    genCon.duplicatedetailnote(ref newdtl, dtl, ObjectSpace);
                    newdtl.Oid          = (dtl.ClaimTrxDetail.Oid < 0 ? dtl.ClaimTrxDetail.Oid * 100 : dtl.ClaimTrxDetail.Oid * -100) + minoid;
                    newdtl.IsDuplicated = true;
                    ((ListView)View).CollectionSource.Add(newdtl);
                }
                genCon.showMsg("Success", "Item duplicated.", InformationType.Success);
            }
        }
示例#2
0
        private void Controller_ObjectCreated(object sender, ObjectCreatedEventArgs e)
        {
            ListView lv = ((ListView)View);

            if (lv.CollectionSource is PropertyCollectionSource)
            {
                PropertyCollectionSource collectionSource = (PropertyCollectionSource)lv.CollectionSource;
                if (collectionSource.MasterObject != null)
                {
                    int minvalue     = -1;
                    int comparevalue = 0;
                    if (View.ObjectTypeInfo.Type == typeof(ClaimTrxDetails))
                    {
                        if (collectionSource.MasterObjectType == typeof(ClaimTrxs))
                        {
                            ClaimTrxs       masterobject  = (ClaimTrxs)collectionSource.MasterObject;
                            ClaimTrxDetails currentobject = (ClaimTrxDetails)e.CreatedObject;
                            if (masterobject.Currency != null)
                            {
                                currentobject.Currency = currentobject.Session.GetObjectByKey <Currencies>(masterobject.Currency.Oid);
                            }
                            currentobject.FCRate = masterobject.FCRate;

                            #region assign oid
                            if (masterobject.ClaimTrxDetail.Count > 0)
                            {
                                comparevalue = masterobject.ClaimTrxDetail.Min(pp => pp.Oid);
                            }
                            if (comparevalue <= minvalue)
                            {
                                minvalue = comparevalue - 1;
                            }
                            currentobject.Oid = minvalue;
                            #endregion
                        }
                    }
                    if (View.ObjectTypeInfo.Type == typeof(ClaimTrxDetailNotes))
                    {
                        if (collectionSource.MasterObjectType == typeof(ClaimTrxDetails))
                        {
                            ClaimTrxDetails     masterobject  = (ClaimTrxDetails)collectionSource.MasterObject;
                            ClaimTrxDetailNotes currentobject = (ClaimTrxDetailNotes)e.CreatedObject;
                            if (masterobject.Currency != null)
                            {
                                currentobject.Currency = currentobject.Session.GetObjectByKey <Currencies>(masterobject.Currency.Oid);
                                currentobject.FCRate   = masterobject.FCRate;
                            }
                            else if (masterobject.ClaimTrx != null && masterobject.ClaimTrx.Currency != null)
                            {
                                currentobject.Currency = currentobject.Session.GetObjectByKey <Currencies>(masterobject.ClaimTrx.Currency.Oid);
                                currentobject.FCRate   = masterobject.ClaimTrx.FCRate;
                            }
                            else
                            {
                                currentobject.FCRate = masterobject.FCRate;
                            }

                            #region assign oid
                            if (masterobject.ClaimTrxDetailNote.Count > 0)
                            {
                                comparevalue = masterobject.ClaimTrxDetailNote.Min(pp => pp.Oid);
                            }
                            if (comparevalue <= minvalue)
                            {
                                minvalue = comparevalue - 1;
                            }
                            currentobject.Oid = (masterobject.Oid < 0? masterobject.Oid * 100: masterobject.Oid * -100) + minvalue;
                            #endregion
                        }
                    }
                    if (View.ObjectTypeInfo.Type == typeof(ClaimTrxItems))
                    {
                        if (collectionSource.MasterObjectType == typeof(ClaimTrxs))
                        {
                            ClaimTrxs     masterobject  = (ClaimTrxs)collectionSource.MasterObject;
                            ClaimTrxItems currentobject = (ClaimTrxItems)e.CreatedObject;
                            if (masterobject.Currency != null)
                            {
                                currentobject.Currency = currentobject.Session.GetObjectByKey <Currencies>(masterobject.Currency.Oid);
                            }
                            currentobject.FCRate = masterobject.FCRate;

                            #region assign oid
                            if (masterobject.ClaimTrxItem.Count > 0)
                            {
                                comparevalue = masterobject.ClaimTrxItem.Min(pp => pp.Oid);
                            }
                            if (comparevalue <= minvalue)
                            {
                                minvalue = comparevalue - 1;
                            }
                            currentobject.Oid = minvalue;
                            #endregion
                        }
                    }
                    if (View.ObjectTypeInfo.Type == typeof(ClaimTrxMileages))
                    {
                        if (collectionSource.MasterObjectType == typeof(ClaimTrxs))
                        {
                            ClaimTrxs        masterobject  = (ClaimTrxs)collectionSource.MasterObject;
                            ClaimTrxMileages currentobject = (ClaimTrxMileages)e.CreatedObject;

                            #region assign oid
                            if (masterobject.ClaimTrxMileage.Count > 0)
                            {
                                comparevalue = masterobject.ClaimTrxMileage.Min(pp => pp.Oid);
                            }
                            if (comparevalue <= minvalue)
                            {
                                minvalue = comparevalue - 1;
                            }
                            currentobject.Oid = minvalue;
                            #endregion
                        }
                    }
                    if (View.ObjectTypeInfo.Type == typeof(ClaimTrxPostDetails))
                    {
                        if (collectionSource.MasterObjectType == typeof(ClaimTrxs))
                        {
                            ClaimTrxs           masterobject  = (ClaimTrxs)collectionSource.MasterObject;
                            ClaimTrxPostDetails currentobject = (ClaimTrxPostDetails)e.CreatedObject;

                            #region assign oid
                            if (masterobject.ClaimTrxPostDetail.Count > 0)
                            {
                                comparevalue = masterobject.ClaimTrxPostDetail.Min(pp => pp.Oid);
                            }
                            if (comparevalue <= minvalue)
                            {
                                minvalue = comparevalue - 1;
                            }
                            currentobject.Oid = minvalue;
                            #endregion
                        }
                    }
                }
            }
        }