public override async Task <ProcessResult <bool> > Handle(LinkUserToOrganizationCommand request, CancellationToken cancellationToken) { var result = new ProcessResult <bool>(); try { var user = _ctx.Users.FirstOrDefault(x => x.Id == request.UserId); if (user == null) { result.AddError("User not exist"); return(result); } var org = _ctx.Organizations.FirstOrDefault(x => x.Id == request.OrganizationId); if (org == null) { result.AddError("OrgNotExist"); return(result); } user.OrganizationId = request.OrganizationId; _ctx.Users.Update(user); var saveSucces = await _ctx.SaveChangesAsync() == 1; if (saveSucces) { result.Result = true; } else { result.AddError(@"Save failed ¯\_(ツ)_/¯"); } return(result); } catch (Exception ex) { result.AddError(ex.Message); return(result); } }
public async Task <ActionResult <ProcessResult <bool> > > OrganizationLink(LinkUserToOrganizationCommand command, CancellationToken token) { return(await _mediator.Send(command, token)); }