Esempio n. 1
0
        async static System.Threading.Tasks.Task CheckRoles()
        {
            DBRepository db    = new DBRepository();
            List <Role>  roles = await db.GetRoles();

            if (roles.Count == 0)
            {
                Permission AddNewTask = new Permission()
                {
                    Name = "AddNewTask"
                };
                await db.AddPermission(AddNewTask);

                Permission ChangeTask = new Permission()
                {
                    Name = "ChangeTask"
                };
                await db.AddPermission(ChangeTask);

                Permission DeleteTask = new Permission()
                {
                    Name = "DeleteTask"
                };
                await db.AddPermission(DeleteTask);

                Permission VisibilityTask = new Permission()
                {
                    Name = "VisibilityTask"
                };
                await db.AddPermission(VisibilityTask);

                Permission DeleteProject = new Permission()
                {
                    Name = "DeleteProject"
                };
                await db.AddPermission(DeleteProject);

                Permission AddNewMembers = new Permission()
                {
                    Name = "AddNewMembers"
                };
                await db.AddPermission(AddNewMembers);

                Permission DeleteMembers = new Permission()
                {
                    Name = "DeleteMembers"
                };
                await db.AddPermission(DeleteMembers);

                Permission ChangeRole = new Permission()
                {
                    Name = "ChangeRole"
                };
                await db.AddPermission(ChangeRole);

                List <Permission> permissions = new List <Permission>()
                {
                    (await db.GetPermission("AddNewTask")),
                    (await db.GetPermission("ChangeTask")),
                    (await db.GetPermission("DeleteTask")),
                    (await db.GetPermission("VisibilityTask")),
                    (await db.GetPermission("DeleteProject")),
                    (await db.GetPermission("AddNewMembers")),
                    (await db.GetPermission("DeleteMembers")),
                    (await db.GetPermission("ChangeRole"))
                };
                Role Admin = new Role()
                {
                    Name = "Admin"
                };
                Role Developer = new Role()
                {
                    Name = "Developer"
                };
                Role Manager = new Role()
                {
                    Name = "Manager"
                };
                await db.AddRole(Admin);

                await db.AddRole(Developer);

                await db.AddRole(Manager);

                foreach (Permission permission in permissions)
                {
                    RolePermission rolePermission = new RolePermission()
                    {
                        RoleId       = (await db.GetRole("Admin")).Id,
                        PermissionId = permission.Id
                    };
                    await db.AddRolePermission(rolePermission);
                }
                RolePermission rolePermission1 = new RolePermission()
                {
                    RoleId       = (await db.GetRole("Manager")).Id,
                    PermissionId = (await db.GetPermission("AddNewTask")).Id
                };
                RolePermission rolePermission2 = new RolePermission()
                {
                    RoleId       = (await db.GetRole("Manager")).Id,
                    PermissionId = (await db.GetPermission("ChangeTask")).Id
                };
                RolePermission rolePermission3 = new RolePermission()
                {
                    RoleId       = (await db.GetRole("Manager")).Id,
                    PermissionId = (await db.GetPermission("DeleteTask")).Id
                };
                RolePermission rolePermission4 = new RolePermission()
                {
                    RoleId       = (await db.GetRole("Manager")).Id,
                    PermissionId = (await db.GetPermission("VisibilityTask")).Id
                };
                await db.AddRolePermission(rolePermission1);

                await db.AddRolePermission(rolePermission2);

                await db.AddRolePermission(rolePermission3);

                await db.AddRolePermission(rolePermission4);

                Status status1 = new Status()
                {
                    Name = "Open"
                };
                Status status2 = new Status()
                {
                    Name = "Closed"
                };
                await db.AddStatus(status1);

                await db.AddStatus(status2);
            }
        }