コード例 #1
0
        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);
            }
        }
コード例 #2
0
 public async Task <ActionResult <ProcessResult <bool> > > OrganizationLink(LinkUserToOrganizationCommand command, CancellationToken token)
 {
     return(await _mediator.Send(command, token));
 }