Exemple #1
0
        public async Task <IEnumerable <UserProgrammeMapping> > AddProgramme(UserFilter filter)
        {
            var user = await GetUser(filter);

            var programmes = user.Programmes.ToList();
            var exists     = programmes.Any(p => p.ProgrammeId == filter.ProgrammeId && p.Action == filter.RoleAction);

            if (!exists)
            {
                programmes.Add(new UserProgrammeMapping()
                {
                    FdpUserId   = user.FdpUserId.GetValueOrDefault(),
                    ProgrammeId = filter.ProgrammeId.GetValueOrDefault(),
                    Action      = filter.RoleAction
                });
            }
            // Build up a comma seperated list of programme ids and permissions
            filter.Permissions = programmes.ToPermissionString();

            return(await Task.FromResult(_userDataStore.FdpUserProgrammeMappingsSave(filter)));
        }