This commit is contained in:
mmrbnjd
2025-01-19 17:44:20 +03:30
parent be0616ac97
commit d14c474c6b
20 changed files with 570 additions and 74 deletions

View File

@@ -10,33 +10,51 @@ namespace Back.Services.Warehouse
public class ReceiptService
{
private readonly IAsyncRepository<Receipt> _ReceiptRepo;
private readonly CheckPermission _checkPermission;
public ReceiptService(IAsyncRepository<Receipt> ReceiptRepo)
public ReceiptService(IAsyncRepository<Receipt> receiptRepo, CheckPermission checkPermission)
{
_ReceiptRepo = ReceiptRepo;
_ReceiptRepo = receiptRepo;
_checkPermission = checkPermission;
}
public async Task<ReceiptDto?> ADD(ReceiptDto item)
public async Task<ReceiptDto?> ADD(ReceiptDto item, int CompanyID)
{
var model = new Receipt()
try
{
Date = item.Date,
CODID = item.CODID,
Count = item.Count,
ForSale = item.ForSale,
info = item.info,
Type = item.Type,
};
var returnmodel = await _ReceiptRepo.AddAsync(model);
if (returnmodel!=null)
{
item.ID= returnmodel.ID;
return item;
if (await _checkPermission.ExtensionofAccess(CompanyID, 18, "-1"))
{
var model = new Receipt()
{
Date = item.Date,
CODID = item.CODID,
Count = item.Count,
ForSale = item.ForSale,
info = item.info,
Type = item.Type,
Deleted = false
};
var returnmodel = await _ReceiptRepo.AddAsync(model);
if (returnmodel != null)
{
item.ID = returnmodel.ID;
return item;
}
else
{
return null;
}
}
else
{
return null;
}
}
else
catch (Exception)
{
return null;
}
}
public async Task<ReceiptDto?> Update(ReceiptDto item)
{
@@ -60,13 +78,13 @@ namespace Back.Services.Warehouse
public async Task<bool> Delete(int itemID,int CompanyID)
{
var model = await _ReceiptRepo.Get(w => w.ID == itemID && w.cODItem.CompanyID==CompanyID).FirstOrDefaultAsync();
model.Deleted= true;
return await _ReceiptRepo.UpdateAsync(model);
return await _ReceiptRepo.DeleteAsync(model);
}
public async Task<ReceiptDto?> Get(int itemID, int CompanyID)
{
return await _ReceiptRepo.Get(w => w.ID == itemID && w.cODItem.CompanyID == CompanyID)
return await _ReceiptRepo.Get(w => w.ID == itemID && w.cODItem.CompanyID == CompanyID && !w.Deleted)
.Include(inc=>inc.cODItem)
.Select(s=>new ReceiptDto()
{
@@ -87,7 +105,7 @@ namespace Back.Services.Warehouse
}
public async Task<List<ReceiptDto>?> GetAll(int CompanyID, TypeReceipt? Type=null, int CODID=0)
{
var request = _ReceiptRepo.Get(w => w.cODItem.CompanyID == CompanyID);
var request = _ReceiptRepo.Get(w => w.cODItem.CompanyID == CompanyID && !w.Deleted);
if (Type != null)
request = request.Where(w => w.Type == Type);