57 lines
2.0 KiB
C#
57 lines
2.0 KiB
C#
using Back.Data.Contracts;
|
|
using Back.Data.Models;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Hosting;
|
|
using Shared.DTOs;
|
|
|
|
namespace Back.Services
|
|
{
|
|
public class servInvoicePayment
|
|
{
|
|
private readonly IAsyncRepository<InvoicePayment> _Repo;
|
|
private readonly IAsyncRepository<Coding> _CodingRepo;
|
|
public servInvoicePayment(IAsyncRepository<InvoicePayment> Repo, IAsyncRepository<Coding> CodingRepo)
|
|
{
|
|
_Repo = Repo;
|
|
_CodingRepo = CodingRepo;
|
|
}
|
|
public async Task<InvoicePayment> Add(InvoicePayment item)
|
|
{
|
|
return await _Repo.AddAsync(item);
|
|
}
|
|
public async Task<InvoicePayment> Update(InvoicePayment item)
|
|
{
|
|
return await _Repo.UpdateByObjAsync(item);
|
|
}
|
|
public async Task<bool> Delete(InvoicePayment item)
|
|
{
|
|
return await _Repo.DeleteAsync(item);
|
|
}
|
|
public async Task<bool> Exist(int companyID, int invoiceID, int ID)
|
|
{
|
|
return await _Repo.Get(w => w.InvoiceID == invoiceID && w.ID == ID && w.invoice.CompanyID == companyID).AnyAsync();
|
|
}
|
|
public async Task<InvoicePayment?> GetinvoicePay(int CompanyID, int ID)
|
|
{
|
|
return await _Repo
|
|
.Get(w => w.ID == ID && w.invoice.CompanyID == CompanyID && !w.invoice.IsDeleted)
|
|
.Include(s=>s.invoice)
|
|
.FirstOrDefaultAsync();
|
|
}
|
|
public async Task<InvoicePayment> GetInvoicePayByInvoicePayID (int companyID, int invoiceID, int ID)
|
|
{
|
|
return await _Repo.Get(w => w.InvoiceID == invoiceID && w.ID == ID && w.invoice.CompanyID == companyID).FirstOrDefaultAsync();
|
|
}
|
|
public async Task<List<IdName<string>>> GetPaymentMethods()
|
|
{
|
|
return await _CodingRepo.Get(w => w.FildID == 71)
|
|
.Select(s=>new IdName<string>
|
|
{
|
|
ID=s.Code,Title=s.Title
|
|
}).ToListAsync();
|
|
}
|
|
|
|
|
|
}
|
|
}
|