feat(store): job application

This commit is contained in:
Andriy
2025-07-22 22:07:23 +03:00
parent cf4569d413
commit f58aa494bc
+18 -8
View File
@@ -19,13 +19,13 @@ public class Store : CommonHandler
{ {
private readonly IReputation? _reputation; private readonly IReputation? _reputation;
private readonly IServiceProvider _provider; private readonly IServiceProvider _provider;
private readonly ContentStore _store; private readonly UserService _userService;
public Store(CoreContext db, IServiceProvider provider, ContentStore store) : base(db) public Store(CoreContext db, IServiceProvider provider, UserService userService) : base(db)
{ {
_reputation = provider.GetService<IReputation>(); _reputation = provider.GetService<IReputation>();
_provider = provider; _provider = provider;
_store = store; _userService = userService;
} }
[InChat(InChat.Public)] [InChat(InChat.Public)]
@@ -47,6 +47,7 @@ public class Store : CommonHandler
var reputation = await _reputation.GetUserReputationAsync(Chat, user); var reputation = await _reputation.GetUserReputationAsync(Chat, user);
await Bot.SendMessage(Chat.Id, $"<b>{user.ToHtml()} ({reputation})</b>, чего пожелаете?", parseMode: ParseMode.Html, await Bot.SendMessage(Chat.Id, $"<b>{user.ToHtml()} ({reputation})</b>, чего пожелаете?", parseMode: ParseMode.Html,
replyParameters: Message!.Id,
replyMarkup: new InlineKeyboardMarkup( replyMarkup: new InlineKeyboardMarkup(
_provider.GetServices<IRandomMediaService>() _provider.GetServices<IRandomMediaService>()
.ToAsyncEnumerable() .ToAsyncEnumerable()
@@ -100,11 +101,20 @@ public class Store : CommonHandler
var reputation = await _reputation.GetUserReputationAsync(Chat, From); var reputation = await _reputation.GetUserReputationAsync(Chat, From);
if (reputation < storeItem.Price) if (reputation < storeItem.Price)
{ {
await Bot.EditMessageText( if (!_userService.IsUserUnlucky(From.Id))
Chat.Id, {
messageId, await Bot.EditMessageText(
$"<b>{From.ToHtml()} ({reputation})</b>, продолжай работать и тебе обязательно хватит на покупку.", Chat.Id,
ParseMode.Html); messageId,
$"<b>{From.ToHtml()} ({reputation})</b>, продолжай работать и тебе обязательно хватит на покупку.",
ParseMode.Html);
}
else
{
var inputFile = new InputFileUrl("https://unclesix-prod-static.s3.twcstorage.ru/job_application.jpg");
await Bot.EditMessageMedia(Chat.Id, messageId, new InputMediaPhoto(inputFile));
}
await AnswerQuery(query.Id); await AnswerQuery(query.Id);
return; return;
} }