Exemplo n.º 1
0
        public async Task <ActionResult <object> > Create([FromBody] CreateAccountRequest reqObj)
        {
            using (var connection = new NpgsqlConnection(this.config["ConnectionString"]))
            {
                var sql    = $"CALL create_member_user('{reqObj.Username}', '{reqObj.Password}', '{reqObj.FirstName}', '{reqObj.LastName}')";
                var result = await connection.ExecuteAsync(sql);

                // TODO: Find out why the following is throwing error.
                // var queryParameters = new DynamicParameters();
                // queryParameters.Add("@un", reqObj.Username, dbType: DbType.AnsiString);
                // queryParameters.Add("@pw", reqObj.Password, dbType: DbType.AnsiString);
                // queryParameters.Add("@fn", reqObj.FirstName, dbType: DbType.AnsiString);
                // queryParameters.Add("@ln", reqObj.LastName, dbType: DbType.AnsiString);

                // return await connection.ExecuteAsync(
                //     "create_member_user",
                //     queryParameters,
                //     commandType: CommandType.StoredProcedure);

                var evt = new NewUserCreatedEvent(reqObj.FirstName, reqObj.LastName, "some_uuid", reqObj.Username, "member");
                this.integrationEventService.PublishThroughEventBus(evt);

                return(result);
            }
        }
Exemplo n.º 2
0
        private async Task <IHttpActionResult> Handle(NewUserCreatedEvent @event)
        {
            string       recipient     = @event.Email;
            const string Subject       = "Välkommen till Snittlistan!";
            string       activationKey = @event.ActivationKey;
            string       id            = @event.UserId;

            await Emails.UserRegistered(recipient, Subject, id, activationKey);

            return(Ok());
        }