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; }
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); }