Esempio n. 1
0
        void analysisEditor_DataSourceCreating(object sender, DataSourceCreatingEventArgs e)
        {
            CriteriaOperator userCriteria = null;

            if (e.AnalysisInfo != null)
            {
                if (!string.IsNullOrEmpty(e.AnalysisInfo.Criteria))
                {
                    using (ObjectSpace.CreateParseCriteriaScope()) {
                        userCriteria = CriteriaWrapper.ParseCriteriaWithReadOnlyParameters(e.AnalysisInfo.Criteria, e.AnalysisInfo.DataType);
                    }
                }

                var analysisEditorBase   = (AnalysisEditorBase)sender;
                var criteriaOperatorArgs = new CriteriaOperatorArgs(analysisEditorBase, e.AnalysisInfo);
                var analysisEditorArgs   = new AnalysisEditorArgs(analysisEditorBase, e.AnalysisInfo);
                InvokeDatasourceCreating(analysisEditorArgs);
                InvokeApplyingCollectionCriteria(criteriaOperatorArgs);
                e.DataSource = analysisEditorArgs.Handled
                                   ? analysisEditorArgs.DataSource
                                   : ObjectSpace.CreateCollection(e.AnalysisInfo.DataType,
                                                                  userCriteria & criteriaOperatorArgs.Criteria & _criteriaOperator);
                e.Handled = true;
                InvokeDataSourceCreated(analysisEditorArgs);
            }
        }
 private void listEditor_CreateCustomEditItemTemplate(object sender, CreateCustomEditItemTemplateEventArgs e)
 {
     if (e.ModelColumn.PropertyName == "LookupReferencedObject")
     {
         IEnumerable <ReferencedObject> referencedObjectsList = ObjectSpace.CreateCollection(typeof(ReferencedObject), null, new SortProperty[] { new SortProperty("Name", DevExpress.Xpo.DB.SortingDirection.Ascending) }).Cast <ReferencedObject>();
         e.Template = new ReferencedTemplate(referencedObjectsList);
         e.Handled  = true;
     }
 }
        protected override void OnActivated( )
        {
            var tipos = ObjectSpace.CreateCollection(typeof(DocumentoTipo), CriteriaOperator.Parse("Clase = 'Endoso'"));

            foreach (DocumentoTipo tipo in tipos)
            {
                nuevoEndosoAction.Items.Add(new ChoiceActionItem(tipo.Nombre, tipo));
            }
            base.OnActivated( );
        }
        public override void UpdateDatabaseAfterUpdateSchema()
        {
            base.UpdateDatabaseAfterUpdateSchema();

            if (ObjectSpace.CreateCollection(typeof(Company)).Count == 0)
            {
                SecuritySystemRole adminRole = ObjectSpace.FindObject <SecuritySystemRole>(new BinaryOperator("Name", SecurityStrategy.AdministratorRoleName));
                if (adminRole == null)
                {
                    adminRole                  = ObjectSpace.CreateObject <SecuritySystemRole>();
                    adminRole.Name             = SecurityStrategy.AdministratorRoleName;
                    adminRole.IsAdministrative = true;
                }
                SecuritySystemRole userRole = ObjectSpace.FindObject <SecuritySystemRole>(new BinaryOperator("Name", "User"));
                if (userRole == null)
                {
                    userRole      = ObjectSpace.CreateObject <SecuritySystemRole>();
                    userRole.Name = "User";
                    SecuritySystemTypePermissionObject userTypePermission =
                        ObjectSpace.CreateObject <SecuritySystemTypePermissionObject>();
                    userTypePermission.TargetType = typeof(SecuritySystemUser);
                    SecuritySystemObjectPermissionsObject currentUserObjectPermission =
                        ObjectSpace.CreateObject <SecuritySystemObjectPermissionsObject>();
                    currentUserObjectPermission.Criteria      = "[Oid] = CurrentUserId()";
                    currentUserObjectPermission.AllowNavigate = true;
                    currentUserObjectPermission.AllowRead     = true;
                    userTypePermission.ObjectPermissions.Add(currentUserObjectPermission);
                    userRole.TypePermissions.Add(userTypePermission);

                    SecuritySystemTypePermissionObject validatedObjectTypePermission =
                        ObjectSpace.CreateObject <SecuritySystemTypePermissionObject>();
                    validatedObjectTypePermission.TargetType    = typeof(ValidatedObject);
                    validatedObjectTypePermission.AllowWrite    = true;
                    validatedObjectTypePermission.AllowNavigate = true;
                    validatedObjectTypePermission.AllowCreate   = true;
                    validatedObjectTypePermission.AllowDelete   = true;
                    validatedObjectTypePermission.AllowRead     = true;

                    userRole.TypePermissions.Add(validatedObjectTypePermission);

                    SecuritySystemTypePermissionObject companyTypePermission =
                        ObjectSpace.CreateObject <SecuritySystemTypePermissionObject>();
                    companyTypePermission.TargetType = typeof(Company);
                    companyTypePermission.AllowRead  = true;

                    userRole.TypePermissions.Add(companyTypePermission);
                }

                Employee admin = ObjectSpace.CreateObject <Employee>();
                admin.UserName = "******";
                admin.SetPassword("");
                admin.Roles.Add(adminRole);
                admin.Save();

                Company company1 = ObjectSpace.CreateObject <Company>();
                company1.Name = "Company 1";
                company1.Employees.Add(admin);
                company1.Save();

                Employee user = ObjectSpace.CreateObject <Employee>();
                user.UserName = "******";
                user.SetPassword("");
                user.Roles.Add(userRole);
                user.Save();

                Employee user2 = ObjectSpace.CreateObject <Employee>();
                user2.UserName = "******";
                user2.SetPassword("");
                user2.Roles.Add(userRole);
                user2.Save();

                Company company2 = ObjectSpace.CreateObject <Company>();
                company2.Name = "Company 2";
                company2.Employees.Add(user);
                company2.Employees.Add(user2);
                company2.Save();
            }
        }
        WebDataSource WebDataSource(Type resourceType, ListView filterView)
        {
            var criteria = new InOperator(filterView.ObjectTypeInfo.KeyMember.Name,
                                          filterView.SelectedObjects.Cast <object>().Select(o => ObjectSpace.GetKeyValue(o)));

            return(new WebDataSource(ObjectSpace, Application.TypesInfo.FindTypeInfo(resourceType), ObjectSpace.CreateCollection(resourceType, criteria)));
        }