public static bool GetCurrentUserLoginRole(UserRoleName roleName, string moduleId)
        {
            UserInfo userInfo = ApplicationSession.UserLoginInfo;

            if (userInfo == null)
            {
                if (roleName == UserRoleName.VIEW_ONLY)
                    return true;

                return false;
            }

            bool isViewOnly = userInfo.Roles.ContainsKey(moduleId) ? userInfo.Roles[moduleId].IsViewOnly : true;

            if (roleName == UserRoleName.VIEW_ONLY)
                return isViewOnly;
            else if(roleName == UserRoleName.CREATE)
            {
                bool isCreate = userInfo.Roles.ContainsKey(moduleId) ?  userInfo.Roles[moduleId].IsCreate: false;
                return !isViewOnly && isCreate;
            }

            bool isImport = userInfo.Roles.ContainsKey(moduleId) ? userInfo.Roles[moduleId].IsImport : false;
            return !isViewOnly && isImport;
        }
Exemplo n.º 2
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            const string AdministratorRoleName = "Administrator";

            modelBuilder.Entity <IdentityRole <Guid> >().HasData(new IdentityRole <Guid>
            {
                Id             = Guid.NewGuid(),
                Name           = AdministratorRoleName,
                NormalizedName = AdministratorRoleName.ToUpper()
            });

            const string UserRoleName = "User";

            modelBuilder.Entity <IdentityRole <Guid> >().HasData(new IdentityRole <Guid>
            {
                Id             = Guid.NewGuid(),
                Name           = UserRoleName,
                NormalizedName = UserRoleName.ToUpper()
            });

            var languageCodes = Enum.GetValues(typeof(LanguageCode)).Cast <LanguageCode>();

            foreach (var languageCode in languageCodes)
            {
                modelBuilder.Entity <Language>().HasData(new Language
                {
                    Id           = Guid.NewGuid(),
                    LanguageCode = languageCode
                });
            }

            modelBuilder.Entity <Language>()
            .HasMany(l => l.DictionaryLanguages)
            .WithOne(dl => dl.Language)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <Entities.Attribute>()
            .HasMany(a => a.AttributeValues)
            .WithOne(av => av.Attribute)
            .OnDelete(DeleteBehavior.Cascade);

            var userTypeConverter = new EnumToStringConverter <UserType>();

            modelBuilder.Entity <UserDictionary>()
            .Property(ud => ud.Type)
            .HasConversion(userTypeConverter);


            var attributeTypeConverter = new EnumToStringConverter <AttributeType>();

            modelBuilder.Entity <Entities.Attribute>()
            .Property(a => a.Type)
            .HasConversion(attributeTypeConverter);

            var languageTypeConverter = new EnumToStringConverter <LanguageType>();

            modelBuilder.Entity <DictionaryLanguage>()
            .Property(dl => dl.Type)
            .HasConversion(languageTypeConverter);

            var languageCodeConverter = new EnumToStringConverter <LanguageCode>();

            modelBuilder.Entity <Language>()
            .Property(l => l.LanguageCode)
            .HasConversion(languageCodeConverter);
        }