コード例 #1
0
        public async Task <bool> Handle(ManageRequestRequest message, IOutputPort <ManageRequestResponse> outputPort)
        {
            var manageRequestResult = await _requestRepository.ManageRequest(message);

            outputPort.Handle(new ManageRequestResponse(true, null));
            return(true);
        }
コード例 #2
0
            public async Task <bool> ManageRequest(ManageRequestRequest message)
            {
                var rId      = new SqlParameter("@RequestId", message.RequestId);
                var uId      = new SqlParameter("@UserId", message.UserId);
                var response = new SqlParameter("@Response", message.Answer);
                var status   = new SqlParameter("@Status", message.Status);

                var command = _context.Database.GetDbConnection().CreateCommand();

                command.CommandText = "RequestManage";
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.Add(rId);
                command.Parameters.Add(uId);
                command.Parameters.Add(response);
                command.Parameters.Add(status);

                if (command.Connection.State == ConnectionState.Closed)
                {
                    await command.Connection.OpenAsync();
                }

                var resultReader = await command.ExecuteReaderAsync();

                await resultReader.ReadAsync();

                await _eventBus.Trigger(new RequestAcceptedRejected()
                {
                    OldStatus         = (string)resultReader["OldStatus"],
                    NewStatus         = message.Status,
                    RequestId         = Guid.Parse(message.RequestId),
                    UpdatedBy         = Guid.Parse(message.UserId),
                    ApproverFullName  = (string)resultReader["ApproverFullName"],
                    RequesterFullName = (string)resultReader["RequesterFullName"],
                    RequesterId       = (Guid)resultReader["RequesterId"],
                    RequesterUsername = (string)resultReader["RequesterUsername"],
                    RequesterEmail    = (string)resultReader["RequesterEmail"],
                    RequestTitle      = (string)resultReader["Title"]
                });

                return(true);
            }