using Shared.DTOs; using Back.Data.Contracts; using Back.Data.Models; using Microsoft.EntityFrameworkCore; namespace Back.Services { public class servTaxPayer { private readonly IAsyncRepository _repoSentTax; private readonly IAsyncRepository _repoPattern; public servTaxPayer(IAsyncRepository repoSentTax, IAsyncRepository repoPattern) { _repoSentTax = repoSentTax; _repoPattern = repoPattern; } public async Task ExistSuccessfulorSendorpendingInvoiceinCompanyID(int CompanyID) { return await _repoSentTax.Get(w => w.invoice.CompanyID == CompanyID && (w.SentStatus == SentStatus.Successful || w.SentStatus == SentStatus.Send || w.SentStatus == SentStatus.pending)).AnyAsync(); } public async Task ExistSuccessfulorSendorpendingInvoice(Invoice invoice) { return _repoSentTax.Get(w => w.InvoiceType == invoice.invoiceType && w.InvoiceID == invoice.ID && (w.SentStatus == SentStatus.Successful || w.SentStatus == SentStatus.Send || w.SentStatus == SentStatus.pending)).Any(); } public async Task CheckingTheCompanyKeyInformation(int CompanyID, string UniqeMemory, string PrivateKey, string EconomicCode) { return await _repoSentTax.Get(w => (w.invoice.company.UniqeMemory == UniqeMemory || w.invoice.company.PrivateKey == PrivateKey || w.invoice.company.EconomicCode == EconomicCode) && (w.SentStatus == SentStatus.Successful || w.SentStatus == SentStatus.Send || w.SentStatus == SentStatus.pending) && w.invoice.CompanyID != CompanyID).AnyAsync(); } public async Task>> GetPatterns() { return await _repoPattern.Get(w=>w.Status).Select(s => new IdName { ID = s.ID, Title = s.Title }).ToListAsync(); } } }