private Member(OrganisationMemberDto data) { OrganisationId = data.OrgId; // can only be set at creation SetEmail(data.Email); SetName(data.Name); SetIsActive(data.IsActive); }
//[ValidateAntiForgeryToken()] //[RequiresPermission(ApplicationType., PermissionType.Admin)] public async Task <IActionResult> PutOrgKey(long organisationId, [FromBody] OrganisationMemberDto data) { try { // TODO: Validate user // await MemberIsValid(memberId); //await MemberIsValidSubscriber(memberId); //TODO: Secure api for valid subscription if (organisationId.ToString() != data.OrganisationId) { throw new ThisAppException(StatusCodes.Status401Unauthorized, Messages.Err401Unauhtorised); } var results = await Mediator.Send(new UpdateOrganisationMemberCommand(data)); return(Ok(results)); } catch (ThisAppException ex) { Logger.LogError($"PutOrgKey, {ex.StatusCode}, {ex.Message}", ex); throw new ThisAppException(ex.StatusCode, ex.Message); } catch (System.Exception ex) { Logger.LogError($"PutOrgKey, {StatusCodes.Status500InternalServerError}", ex); throw new ThisAppException(StatusCodes.Status500InternalServerError, Messages.Err500); } }
public static async Task <Member> Create(IQueryExecutor executor, OrganisationMemberDto data) { //does data.Email exists? no duplicates allowed var value = await executor.Execute(new GetOrganisationMemberQuery(data.OrgId, data.Email)); if (value != null) { throw new ThisAppException(StatusCodes.Status409Conflict, Messages.Err409ObjectExists("Organisation Member")); } value = new Member(data); await executor.Add <Member>(value); await executor.Save(); return(value); }
public UpdateOrganisationMemberCommand(OrganisationMemberDto data) { Data = data; }