public async Task <IActionResult> PushStrings() { var stringsToPush = await _soStringService.GetStringsAsync(s => s.HasTranslation, includeEverything : true); if (stringsToPush.Length > 0) { var sendNotifications = (await _soStringService.CountStringsAsync(s => s.NeedsPush)) > 0; await _transifexService.PushStringsToTransifexAsync(stringsToPush); if (sendNotifications) { await _userService.SendBatchNotifications(NotificationType.StringsPushedToTransifex, null); } } return(NoContent()); }
public async Task <StringCountsViewModel> GetStringCounts() { return(new StringCountsViewModel { TotalStrings = await _soStringService.CountStringsAsync(s => !s.IsIgnored), WithoutTranslation = await _soStringService.CountStringsAsync(s => !s.HasTranslation && !s.IsIgnored), WithPendingSuggestions = await _soStringService.CountStringsAsync(s => s.HasSuggestions && !s.IsIgnored), WaitingApproval = await _soStringService.CountStringsAsync(s => s.HasSuggestionsWaitingApproval && !s.IsIgnored), WaitingReview = await _soStringService.CountStringsAsync(s => s.HasApprovedSuggestionsWaitingReview && !s.IsIgnored), UrgentStrings = await _soStringService.CountStringsAsync(s => s.IsUrgent && !s.IsIgnored), }); }