Exemple #1
0
 public UsersController([FromServices] UserManager <User> userManager,
                        [FromServices] RoleManager <IdentityRole> roleManager,
                        [FromServices] IRepository <User> userRepository,
                        [FromServices] IRepository <IdentityRole> roleRepositoy,
                        [FromServices] IRepository <Organization> organizationRepositoy,
                        [FromServices] IRepository <Role> anraRole,
                        [FromServices] IRepository <RoleDetail> roleDetail,
                        [FromServices] IRepository <UserRoleDetail> userRoleDetail,
                        AnraConfiguration anraConfiguration,
                        [FromServices] IRepository <Module> module,
                        MantiDbContext dbContext
                        )
 {
     this.userManager      = userManager;
     this.roleManager      = roleManager;
     UserRepository        = userRepository;
     RoleRepository        = roleRepositoy;
     OrganizationRepositoy = organizationRepositoy;
     AnraRole           = anraRole;
     RoleDetail         = roleDetail;
     UserRoleDetail     = userRoleDetail;
     _anraConfiguration = anraConfiguration;
     Module             = module;
     this.dbContext     = dbContext;
 }
Exemple #2
0
 public SendMailLogic(ILogger <SendMailLogic> logger,
                      IRepository <Model.Users.User> UserRepository,
                      SendNotification sendNotification,
                      AnraConfiguration configuration)
 {
     _logger           = logger;
     _userRepository   = UserRepository;
     _sendNotification = sendNotification;
     _configuration    = configuration;
 }
 public OrganizationController(
     [FromServices] IRepository <Organization> organizationRepository,
     UserManager <User> userManager,
     [FromServices] IRepository <UserRoleDetail> userRoleDetail,
     [FromServices] IRepository <User> userRepository, AnraConfiguration anraConfiguration)
 {
     OrganizationRepository = organizationRepository;
     UserManager            = userManager;
     UserRoleDetail         = userRoleDetail;
     AnraConfiguration      = anraConfiguration;
     UserRepository         = userRepository;
 }
Exemple #4
0
        private void ConfigureCommonObjects(IServiceCollection services)
        {
            AnraConfiguration.Configure(services, Configuration);

            //services.AddSingleton(new SendNotification(services.BuildServiceProvider().GetRequiredService<AnraConfiguration>()));

            services.AddSingleton(new TokenProviderOptions
            {
                Audience           = "AnraUsers",
                Issuer             = "AnraTechnologies",
                SigningCredentials = new SigningCredentials(new RsaSecurityKey(RSAKeyUtils.GetKey()), SecurityAlgorithms.RsaSha256Signature),
                Expiration         = TimeSpan.FromMinutes(Configuration.GetSection("LoginSettings").GetValue <double>("Expiration"))
            });
        }
Exemple #5
0
 public SchedulingService(ILogger <string> _logger, IServiceProvider serviceProvider, AnraConfiguration configuration)
 {
     logger = _logger;
     this.serviceProvider = serviceProvider;
     this.configuration   = configuration;
 }
 public SendNotification(AnraConfiguration configuration, ILogger <SendNotification> logger)
 {
     this.configuration = configuration;
     _logger            = logger;
 }
        private static async Task SeedDatabaseAsync(UserManager <User> signInManager, RoleManager <IdentityRole> roleManager, AnraConfiguration anraConfiguration)
        {
            UserRoleDetail urd;

            #region "Roles Creation"

            var roles = new[] { "SuperAdmin", "Administrator", "SystemUser", "Other" };//"Pilot", "Payload Operator", "Visual Observer",
            if (!(context.MantiScanRole.Any(u => roles.Contains(u.RoleName))))
            {
                foreach (var roleName in roles)
                {
                    var role = new Role {
                        RoleName = roleName, IsActive = true,
                    };
                    context.MantiScanRole.Add(role);
                }
                context.SaveChanges();
            }

            #endregion "Roles Creation"

            #region "Module Creation"

            if (!(context.Modules.Any(u => u.ModuleName == nameof(User))))
            {
                var lstModule = new List <Module>
                {
                    new Module {
                        ModuleId = 1, ModuleName = "User", IsActive = true
                    },
                    new Module {
                        ModuleId = 2, ModuleName = "Organization", IsActive = true
                    },
                    new Module {
                        ModuleId = 4, ModuleName = "Plateform", IsActive = true
                    },
                    new Module {
                        ModuleId = 3, ModuleName = "Incident", IsActive = true
                    },
                    new Module {
                        ModuleId = 5, ModuleName = "Report", IsActive = true
                    }
                };
                context.Modules.AddRange(lstModule);
                context.SaveChanges();
            }

            #endregion "Module Creation"

            #region "Role Detail Creation"

            if (!(context.RoleDetails.Any(u => u.RoleDetailId == 1)))
            {
                var roleSAdmin = context.MantiScanRole.First(v => v.RoleId == 1);
                var roleAdmin  = context.MantiScanRole.First(v => v.RoleId == 2);
                var roleSuser  = context.MantiScanRole.First(v => v.RoleId == 3);
                var roleOther  = context.MantiScanRole.First(v => v.RoleId == 4);

                var lstrd = new List <RoleDetail>
                {
                    new RoleDetail
                    {
                        Role     = roleSAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 1),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 1),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleSAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 2),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 2),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleSAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 3),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 3),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleSAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 4),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 4),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleSAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 5),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    },
                    new RoleDetail
                    {
                        Role     = roleAdmin,
                        Module   = context.Modules.First(v => v.ModuleId == 5),
                        Add      = true,
                        Edit     = true,
                        Delete   = true,
                        View     = true,
                        IsActive = true
                    }
                };

                context.RoleDetails.AddRange(lstrd);
                context.SaveChanges();
            }

            #endregion "Role Detail Creation"

            #region "Organization Creation"

            if (!(context.Organizations.Any(u => u.Name == anraConfiguration.DefaultOrganization)))
            {
                var lstOrg = new List <Organization>
                {
                    new Organization
                    {
                        Name         = anraConfiguration.DefaultOrganization,
                        Website      = "www.anratechnolgies.com",
                        ContactEmail = "*****@*****.**"
                    }
                };

                //Main Organization - ANRA Technologies

                context.Organizations.AddRange(lstOrg);
                context.SaveChanges();
            }

            #endregion "Organization Creation"

            var defaultOrganization = context.Organizations.First(v => v.Name == anraConfiguration.DefaultOrganization);

            #region "User Creation"
            if (!(context.User.Any(u => u.UserName == anraConfiguration.DefaultSuperAdmin)))
            {
                #region create superadmin user
                var superAdminUser = new User
                {
                    Id           = Guid.NewGuid().ToString(),
                    UserName     = anraConfiguration.DefaultSuperAdmin,
                    Email        = anraConfiguration.DefaultSuperAdmin,
                    FirstName    = "John",
                    LastName     = "Doe",
                    IsActive     = true,
                    Organization = defaultOrganization,
                    DateCreated  = DateTime.UtcNow,
                    DateModified = DateTime.UtcNow,
                    LastLogin    = DateTime.UtcNow
                };

                await signInManager.CreateAsync(superAdminUser, "AnRaBaSe1$");

                await signInManager.SetLockoutEnabledAsync(superAdminUser, false);

                urd = new UserRoleDetail
                {
                    Role     = context.MantiScanRole.First(v => v.RoleId == (int)Roles.SuperAdmin),
                    User     = superAdminUser,
                    IsActive = true
                };
                context.UserRoleDetails.Add(urd);
                context.SaveChanges();

                #endregion create superadmin user
            }
            #endregion "User Creation"
        }