public void AddCreditCardAccount(double comission, double limit) { IAccount account = new AccountFabric().CreateAccount(comission, limit); if (suspicious) { account = new SuspiciousAccount(account, susp_limit); } Accounts.Add(account); }
private async Task <SuspiciousAccount> CreateNewSuspiciousAccount(ReportSuspiciousActivity request, CancellationToken cancellationToken) { SuspiciousAccount suspiciousAccount = new SuspiciousAccount() { TwitterUserId = request.SuspiciousAccountTwitterUserId, TwitterScreenName = request.SuspiciousAccountTwitterScreenName, TwitterJoinDate = request.SuspiciousAccountTwitterUserJoinDate }; await _db.SuspiciousAccounts.AddAsync(suspiciousAccount); await _db.SaveChangesAsync(cancellationToken); return(suspiciousAccount); }
public async Task <Unit> Handle(AddSuspiciousAccount request, CancellationToken cancellationToken) { var twitterUserInfo = _rostamBotManagerService.GetSuspiciousAccountInfo(request.TwitterScreenName); if (await _db.SuspiciousAccounts.AnyAsync(x => x.TwitterUserId == twitterUserInfo.TwitterUserId)) { throw new AppException($"{request.TwitterScreenName} is already in block list"); } var newSuspiciousAccount = new SuspiciousAccount() { ShouldBlock = true, TwitterJoinDate = twitterUserInfo.TwitterJoinDate, TwitterScreenName = twitterUserInfo.TwitterScreenName, TwitterUserId = twitterUserInfo.TwitterUserId }; await _db.SuspiciousAccounts.AddAsync(newSuspiciousAccount); await _db.SaveChangesAsync(cancellationToken); var suspiciousAccountDto = new SuspiciousAccountDto() { Id = newSuspiciousAccount.Id, TwitterUserId = newSuspiciousAccount.TwitterUserId, TwitterScreenName = newSuspiciousAccount.TwitterScreenName, TwitterJoinDate = newSuspiciousAccount.TwitterJoinDate }; await _mediator.Publish( new ChangeBlockStatusSaved { SuspiciousAccountDto = twitterUserInfo, BlockStatus = true }, cancellationToken); return(Unit.Value); }
private async Task <SuspiciousTweet> CreateNewSuspiciousTweet(ReportSuspiciousActivity request, Reporter reporter, SuspiciousAccount suspiciousAccount, CancellationToken cancellationToken) { SuspiciousTweet suspiciousTweet = new SuspiciousTweet() { ReporterId = reporter.Id, SuspiciousAccountId = suspiciousAccount.Id, TweetId = request.SuspiciousTweetId, TweetContent = request.SuspiciousTweetContent }; await _db.SuspiciousTweets.AddAsync(suspiciousTweet); await _db.SaveChangesAsync(cancellationToken); return(suspiciousTweet); }
private async Task CreateNewSuspiciousAccountReport(ReportSuspiciousActivity request, Reporter reporter, SuspiciousAccount suspiciousAccount, CancellationToken cancellationToken) { var suspiciousAccountReport = new SuspiciousAccountReport() { ReportDate = DateTime.Now, ReporterId = reporter.Id, SuspiciousAccountId = suspiciousAccount.Id, TweetId = request.ReporterTweetId, TweetContent = request.ReporterTweetContent, IsViaDirect = request.IsViaDirect }; await _db.SuspiciousAccountReports.AddAsync(suspiciousAccountReport); await _db.SaveChangesAsync(cancellationToken); }
private async Task GetOrAddSuspiciousTweet(ReportSuspiciousActivity request, Reporter reporter, SuspiciousAccount suspiciousAccount, CancellationToken cancellationToken) { var suspiciousTweetExists = await _db.SuspiciousTweets.AnyAsync(x => x.TweetId == request.SuspiciousTweetId && x.ReporterId == reporter.Id); if (!suspiciousTweetExists) { await CreateNewSuspiciousTweet(request, reporter, suspiciousAccount, cancellationToken); } }