using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Core.Interfaces; using gehGassi.Domain.Common; using gehGassi.Domain.Feedback; namespace gehGassi.Core.Services { /// /// Service der die Verwaltung von Feedbacks aus der App ermöglicht /// public class AppFeedbackService : ServiceBase, IAppFeedbackService { /// /// Erstellt eine Instanz /// /// Instanz eines IUnitOfWork public AppFeedbackService(IUnitOfWork unitOfWork) : base(unitOfWork) { } /// /// Erstellen eines Feedback /// /// AppFeedback public AppFeedback Create() { var item = new AppFeedback(); return item; } /// /// Gibt eine gefilterte Liste von Feedback zurück /// /// Filterbegriff der in bestimmten Feldern gesucht wird /// List betroffener Feedbacks public IQueryable Filter(string filter) { return Repository.Query(c => c.UserName.Contains(filter) || c.Name.Contains(filter)); } /// /// Gibt die Anzahl von Feedbacks in einem bestimmten Status zurück /// /// Gewünschter Status /// Anzahl Feedbacks im Status public async Task CountAsync(AppFeedbackStatus status) { return await Repository.CountAsync(c => c.Status == status).ConfigureAwait(false); } } }