I have 2 almost the same codes: It's for Likes:
private async Task HandleCallbackQuery(CallbackQuery callbackQuery, CancellationToken cancellationToken)
{
switch (callbackQuery.Data)
{
// This is the case for Likes
case "post_id like":
{
var postData = _context.Posts
.FirstOrDefault(x => x.MessageId == callbackQuery.Message.MessageId);
//var postData = conn.ExecuteReader($"SELECT * FROM PostData AS pd WHERE pd.MessageId = '{ callbackQuery.Message.MessageId }'").Parse<PostData>().FirstOrDefault();
if (postData == null)
{
return;
}
var reader = _context.Votes
.FirstOrDefault(x => x.VoterId == callbackQuery.From.Id && x.PostDataId == postData.Id);
var voteData = reader;
// ...
}
// This is the case for Dislikes:
case "post_id dislike":
{
var postData = _context.Posts
.FirstOrDefault(x => x.MessageId == callbackQuery.Message.MessageId);
//var postData = conn.ExecuteReader("SELECT * FROM PostData AS pd WHERE pd.MessageId = @MessageId", new { callbackQuery.Message.MessageId }).Parse<PostData>().FirstOrDefault();
if (postData == null)
{
return;
}
var reader = _context.Votes
.FirstOrDefault(x => x.VoterId == callbackQuery.From.Id && x.PostDataId == postData.Id);
//conn.ExecuteReader("SELECT * FROM VoteData AS vd WHERE vd.VoterId = @VoterId AND vd.PostDataId = @PostDataId", new { VoterId = callbackQuery.From.Id, PostDataId = postData.Id });
var voteData = reader;
// ...
}
}
}
In the first time this code runs normally, but for the second time I always in postData in dislikes have "NullReferenceException", I don't know why :/