public async Task <LdapMember> Create(LdapMember member, string changedBy, CancellationToken cancellationToken = default) { member.Dn = $"cn={member.Id},{this._config.MemberDn}"; await this._connection.Add(member, changedBy, cancellationToken); return(member); }
public async Task <IActionResult> Create(int tribeId, [FromBody] LdapMember member) { try { // TODO: null checks // TODO: different methods for memberimport & membercreate to log the changes in the right way var t = await this._tribe.Get(tribeId); if (t == null) { return(this.BadRequest($"The tribe {tribeId} does not exist.")); } var division = await this._division.Get(t.DivisionId); var m = await this._manager.Create(member, nameof(MemberController) + nameof(this.Create)); division.MemberIds.Add(m.Id); t.MemberIds.Add(m.Id); await this._group.SetMembers(division); await this._group.SetMembers(t); return(this.Ok(m)); } catch (Exception ex) { this._logger.LogError(ex, nameof(MemberController) + nameof(this.Create)); return(this.Error(this._env, ex)); } }
public WireMember(LdapMember member, UserType type) { switch (type) { case UserType.FullUser: case UserType.ContactUser: { this.OfficialMail = member.OfficialMail; goto case UserType.MinimalUser; } case UserType.MinimalUser: { this.Id = member.Id; this.Dn = member.Dn; this.UserName = member.UserName; this.FirstName = member.FirstName; this.LastName = member.LastName; break; } default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } }