コード例 #1
0
        protected async Task <User.EkspertgruppeRolle> GetRoleInGroup(string id)
        {
            var user = await GetUser();

            var roleInGroup = user.EkspertgruppeRoller.Select(x => new User.EkspertgruppeRolle()
            {
                EkspertgruppeId = x.EkspertgruppeId,
                Leder           = x.Leder,
                Leser           = x.Leser,
                Skriver         = x.Skriver,
                User            = new User()
                {
                    Brukernavn = user.Brukernavn, Id = user.Id, ErAdministrator = user.ErAdministrator
                }
            }).FirstOrDefault(x => x.EkspertgruppeId == id);

            if (roleInGroup == null)
            {
                roleInGroup = new User.EkspertgruppeRolle()
                {
                    EkspertgruppeId = id, Leder = false, Leser = false, Skriver = false, User = new User()
                    {
                        Brukernavn = user.Brukernavn, Id = user.Id, ErAdministrator = user.ErAdministrator
                    }
                };
            }

            // gi admin anledning til å låse opp vurderinger o.l.
            if (user.ErAdministrator)
            {
                roleInGroup.Leder = true;
            }
            return(roleInGroup);
        }
コード例 #2
0
        public async Task <bool> AddMembers([FromBody] LeggTilgang value)
        {
            var user = await base.GetUser();

            if (user == null || !user.ErAdministrator)
            {
                throw new HttpRequestException("Not admin");
            }
            var bruker = await _dbContext.Users.Include(y => y.EkspertgruppeRoller).Where(x => x.Id == value.Id)
                         .FirstOrDefaultAsync();

            if (bruker == null)
            {
                return(false);
            }

            var eid    = value.EkspertgruppeId.Trim();
            var medlem = bruker.EkspertgruppeRoller.FirstOrDefault(y => y.EkspertgruppeId == eid);

            if (medlem == null)
            {
                medlem = new User.EkspertgruppeRolle {
                    EkspertgruppeId = eid
                };
                bruker.EkspertgruppeRoller.Add(medlem);
            }

            medlem.DatoOpprettet       = DateTime.Now;
            medlem.OpprettetAvBrukerId = user.Id;
            medlem.Leder   = value.Leder;
            medlem.Leser   = value.Leser;
            medlem.Skriver = value.Leder ? value.Leder : value.Skriver;
            await _dbContext.SaveChangesAsync();

            return(true);
        }