示例#1
0
        protected override DevExpress.Xpo.Metadata.Helpers.MemberInfoCollection GetPropertiesListForUpdateInsert(object theObject, bool isUpdate, bool addDelayedReference)
        {
            //Check if the Object is our "change tracking object"
            if ((theObject is BaseObject) && (!(((PersistentBase)theObject).Session.IsNewObject(theObject))))
            {
                DevExpress.Xpo.Metadata.XPClassInfo ci = GetClassInfo(theObject);
                //obtain the class info so we can walk through the members
                DevExpress.Xpo.Metadata.Helpers.MemberInfoCollection list = new DevExpress.Xpo.Metadata.Helpers.MemberInfoCollection(ci);
                //obtain a list of members
                int count = 0;

                foreach (DevExpress.Xpo.Metadata.XPMemberInfo m in base.GetPropertiesListForUpdateInsert(theObject, isUpdate, addDelayedReference))
                {
                    //If it is a servicefield this is required (OID, GCRecord etc)
                    if (m is DevExpress.Xpo.Metadata.Helpers.ServiceField | ((BaseObject)theObject).ChangedMembers.Contains(m))
                    {
                        list.Add(m);
                    }
                }

                //return out list of "changed" members (plus the service fields)
                return(list);
            }
            else
            {
                return(base.GetPropertiesListForUpdateInsert(theObject, isUpdate, addDelayedReference));
            }
        }
示例#2
0
        protected override void OnSaved()
        {
            base.OnSaved();

            if (!(Session is NestedUnitOfWork) &&
                (Session.DataLayer != null) &&
                (Session.ObjectLayer is SimpleObjectLayer)
                )
            {
                DevExpress.Xpo.Metadata.XPClassInfo myClass = Session.GetClassInfo(typeof(Companies));
                CriteriaOperator  myCriteria = CriteriaOperator.Parse("1=1");
                SortingCollection sortProps  = new SortingCollection(null);
                sortProps.Add(new SortProperty("Oid", DevExpress.Xpo.DB.SortingDirection.Ascending));

                var LDocType = Session.GetObjects(myClass, myCriteria, sortProps, 0, false, true);

                //XPCollection<DocTypes> LDocType = new XPCollection<DocTypes>();
                //LDocType.Load();

                bool added = false;
                foreach (var dtl in LDocType)
                {
                    CompanyDocs findobj = Session.FindObject <CompanyDocs>(CriteriaOperator.Parse("DocType.Oid=? and Company.Oid=?", this.Oid, ((Companies)dtl).Oid));
                    if (findobj == null)
                    {
                        added = true;
                        int cnt = 0;
                        if (((Companies)dtl).CompanyDoc != null)
                        {
                            cnt = ((Companies)dtl).CompanyDoc.Count();
                        }

                        cnt++;
                        CompanyDocs obj = new CompanyDocs(Session);
                        obj.Company   = Session.FindObject <Companies>(new BinaryOperator("Oid", ((Companies)dtl).Oid, BinaryOperatorType.Equal));
                        obj.DocType   = Session.FindObject <DocTypes>(new BinaryOperator("Oid", this.Oid, BinaryOperatorType.Equal));
                        obj.NextDocNo = (cnt * 1000000) + 1;
                    }
                }
                if (added)
                {
                    Session.CommitTransaction();
                }
            }
        }
示例#3
0
        private void FillItemWithValues(ChoiceActionItem parentItem)
        {
            var objectSpace = Application.CreateObjectSpace();

            parentItem.Items.Clear();
            Session currentSession = ((XPObjectSpace)objectSpace).Session;

            DevExpress.Xpo.Metadata.XPClassInfo statusClass = currentSession.GetClassInfo(typeof(Status));
            SortingCollection sortProps = new SortingCollection(null)
            {
                new SortProperty("Description", DevExpress.Xpo.DB.SortingDirection.Ascending)
            };

            foreach (Status status in currentSession.GetObjects(statusClass, null, sortProps, 0, false, true))
            {
                var item = new ChoiceActionItem(status.Description, status);
                parentItem.Items.Add(item);
            }
        }
示例#4
0
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).

            IsHideTax            = false;
            IsPassAccept         = false;
            IsRejectWOApp        = true;
            IsDetail             = true;
            IsItem               = true;
            IsMileage            = true;
            PostToDocument       = PostToDocuments.JE;
            ApprovalBy           = ApprovalBys.User;
            IsConcurrentAppStage = false; // IsConcurrentAppStage always false
            BoCode               = "";
            BoName               = "";

            DevExpress.Xpo.Metadata.XPClassInfo myClass = Session.GetClassInfo(typeof(DocTypes));
            CriteriaOperator  myCriteria = new BinaryOperator("IsActive", true);
            SortingCollection sortProps  = new SortingCollection(null);

            sortProps.Add(new SortProperty("BoCode", DevExpress.Xpo.DB.SortingDirection.Ascending));

            var LDocType = Session.GetObjects(myClass, myCriteria, sortProps, 0, false, true);

            //XPCollection<DocTypes> LDocType = new XPCollection<DocTypes>();
            //LDocType.Load();

            int cnt = 0;

            foreach (var dtl in LDocType)
            {
                cnt++;
                CompanyDocs obj = new CompanyDocs(Session);
                obj.DocType   = Session.FindObject <DocTypes>(new BinaryOperator("Oid", ((DocTypes)dtl).Oid, BinaryOperatorType.Equal));
                obj.NextDocNo = (cnt * 1000000) + 1;
                this.CompanyDoc.Add(obj);
            }
        }
 protected XPLiteObjectExt(Session session, DevExpress.Xpo.Metadata.XPClassInfo classInfo) : base(session, classInfo)
 {
     classInfo = Session.GetClassInfo(this);
 }
示例#6
0
 protected AuditableBase(Session session, DevExpress.Xpo.Metadata.XPClassInfo classInfo) : base(session, classInfo)
 {
 }
示例#7
0
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).
            CreateUser = Session.GetObjectByKey <SystemUsers>(SecuritySystem.CurrentUserId);
            CreateDate = DateTime.Now;
            DocDate    = DateTime.Today;
            //ApprovalStatus = ApprovalStatuses.Not_Applicable;

            Company       = Session.FindObject <Companies>(new BinaryOperator("Oid", CreateUser.Company.Oid, BinaryOperatorType.Equal));
            IsHideBrand   = Company.IsHideBrand;
            IsHideProject = Company.IsHideProject;

            DocType  = Session.FindObject <DocTypes>(new BinaryOperator("BoCode", GeneralSettings.defclaimdoc));
            Employee = Session.FindObject <Employees>(new BinaryOperator("SystemUser.Oid", SecuritySystem.CurrentUserId));
            if (Employee != null)
            {
                if (Employee.Department != null)
                {
                    Department = Session.GetObjectByKey <Departments>(Employee.Department.Oid);
                }
                if (Employee.Division != null)
                {
                    Division = Session.GetObjectByKey <Divisions>(Employee.Division.Oid);
                }
                if (Employee.Brand != null)
                {
                    Brand = Session.GetObjectByKey <Brands>(Employee.Brand.Oid);
                }
                if (Employee.Position != null)
                {
                    Position = Session.GetObjectByKey <Positions>(Employee.Position.Oid);
                }
            }
            Remarks = getRemarks();


            Currency = Session.FindObject <Currencies>(new BinaryOperator("BoCode", GeneralSettings.LocalCurrency));

            IsClaimSuperCheck = false;
            IsClaimUserCheck  = true;
            IsAcceptUserCheck = false;
            IsVerifyUserCheck = false;
            if (CreateUser != null)
            {
                if (CreateUser.Roles.Where(p => p.Name == GeneralSettings.claimsuperrole).Count() > 0)
                {
                    this.IsClaimSuperCheck = true;
                    this.IsClaimUserCheck  = true;
                }
                //else if (this.CreateUser != null)
                //    if (CreateUser.Roles.Where(p => p.Name == GeneralSettings.claimrole).Count() > 0 && CreateUser.Oid == this.CreateUser.Oid)
                //        this.IsClaimUserCheck = true;

                if (CreateUser.Roles.Where(p => p.Name == GeneralSettings.Acceptancerole).Count() > 0)
                {
                    this.IsAcceptUserCheck = true;
                }

                if (CreateUser.Roles.Where(p => p.Name == GeneralSettings.verifyrole).Count() > 0)
                {
                    this.IsVerifyUserCheck = true;
                }
            }

            DevExpress.Xpo.Metadata.XPClassInfo myClass = Session.GetClassInfo(typeof(ClaimTypes));
            CriteriaOperator  myCriteria = new BinaryOperator("IsActive", true);
            SortingCollection sortProps  = new SortingCollection(null);

            sortProps.Add(new SortProperty("BoCode", DevExpress.Xpo.DB.SortingDirection.Ascending));

            var LDocType = Session.GetObjects(myClass, myCriteria, sortProps, 0, false, true);

            //XPCollection<DocTypes> LDocType = new XPCollection<DocTypes>();
            //LDocType.Load();

            int cnt = 0;

            foreach (var dtl in LDocType)
            {
                cnt++;
                ClaimTrxDetails obj = new ClaimTrxDetails(Session);
                obj.Oid       = cnt * -1;
                obj.ClaimType = Session.FindObject <ClaimTypes>(new BinaryOperator("Oid", ((ClaimTypes)dtl).Oid, BinaryOperatorType.Equal));
                if (obj.ClaimType.IsMileage)
                {
                    obj.Tax = Session.FindObject <Taxes>(new BinaryOperator("BoCode", GeneralSettings.defaultmileagetax, BinaryOperatorType.Equal));
                }
                else
                {
                    obj.Tax = Session.FindObject <Taxes>(new BinaryOperator("BoCode", GeneralSettings.defaulttax, BinaryOperatorType.Equal));
                }
                this.ClaimTrxDetail.Add(obj);
            }
        }
示例#8
0
文件: Items.cs 项目: ewin66/OfficeRX
 protected Items(Session session, DevExpress.Xpo.Metadata.XPClassInfo classInfo)
     : base(session, classInfo)
 {
 }
示例#9
0
 public Appointment(Session session, DevExpress.Xpo.Metadata.XPClassInfo classInfo)
     : base(session, classInfo)
 {
 }