...
This commit is contained in:
@@ -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);
|
||||
|
||||
|
@@ -24,6 +24,7 @@ namespace Back.Services.Warehouse
|
||||
Count = item.Count,
|
||||
info = item.info,
|
||||
Type = item.Type,
|
||||
Deleted=false
|
||||
};
|
||||
var returnmodel = await _ReceiptRepo.AddAsync(model);
|
||||
if (returnmodel != null)
|
||||
@@ -36,6 +37,10 @@ namespace Back.Services.Warehouse
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public async Task AddRange(List<Remittance> items)
|
||||
{
|
||||
await _ReceiptRepo.AddRangeAsync(items);
|
||||
}
|
||||
public async Task<RemittanceDto?> Update(RemittanceDto item)
|
||||
{
|
||||
var model = await _ReceiptRepo.Get(w => w.ID == item.ID).FirstOrDefaultAsync();
|
||||
@@ -44,6 +49,7 @@ namespace Back.Services.Warehouse
|
||||
model.Count = item.Count;
|
||||
model.info = item.info;
|
||||
model.Type = item.Type;
|
||||
|
||||
var returnmodel = await _ReceiptRepo.UpdateAsync(model);
|
||||
if (returnmodel)
|
||||
{
|
||||
@@ -56,14 +62,14 @@ 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();
|
||||
|
||||
return await _ReceiptRepo.DeleteAsync(model);
|
||||
var model = await _ReceiptRepo.Get(w => w.ID == itemID && w.cODItem.CompanyID == CompanyID && !w.Deleted).FirstOrDefaultAsync();
|
||||
model.Deleted = true;
|
||||
return await _ReceiptRepo.UpdateAsync(model);
|
||||
|
||||
}
|
||||
public async Task<RemittanceDto?> 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 RemittanceDto()
|
||||
{
|
||||
@@ -83,7 +89,7 @@ namespace Back.Services.Warehouse
|
||||
}
|
||||
public async Task<List<RemittanceDto>?> GetAll(int CompanyID, TypeRemittance? 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);
|
||||
|
||||
@@ -108,6 +114,20 @@ namespace Back.Services.Warehouse
|
||||
|
||||
|
||||
}
|
||||
public async Task<bool> HasaRemittance(int InvoiceID)
|
||||
{
|
||||
return await _ReceiptRepo.Get(w => w.InvoiceID == InvoiceID && !w.Deleted).AnyAsync();
|
||||
}
|
||||
public async Task<bool> HasaRemittance(int InvoiceID,int CODID)
|
||||
{
|
||||
return await _ReceiptRepo.Get(w => w.InvoiceID == InvoiceID && w.CODID==CODID && !w.Deleted).AnyAsync();
|
||||
}
|
||||
public async Task DeleteByInvoiceIDandCODID(int InvoiceID, int CODID)
|
||||
{
|
||||
var model = await _ReceiptRepo.Get(w => w.InvoiceID == InvoiceID && w.CODID == CODID && !w.Deleted).FirstOrDefaultAsync();
|
||||
model.Deleted = true;
|
||||
await _ReceiptRepo.UpdateAsync(model);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -25,7 +25,7 @@ namespace Back.Services.Warehouse
|
||||
}
|
||||
public async Task<PagingDto<CirculationDto>> Circulation(int CompanyID,string date="",int CODID=0,int PageIndex=1,int PageSize=5)
|
||||
{
|
||||
var RequestRemittance = _RemittanceRepo.Get(w => w.cODItem.CompanyID == CompanyID)
|
||||
var RequestRemittance = _RemittanceRepo.Get(w => w.cODItem.CompanyID == CompanyID && !w.Deleted)
|
||||
.Select(s=>new CirculationDto
|
||||
{
|
||||
CODID=s.CODID,
|
||||
@@ -42,7 +42,7 @@ namespace Back.Services.Warehouse
|
||||
if (CODID!=0)
|
||||
RequestRemittance = RequestRemittance.Where(w => w.CODID == CODID);
|
||||
//-----------
|
||||
var RequestReceipt = _ReceiptRepo.Get(w => w.cODItem.CompanyID == CompanyID)
|
||||
var RequestReceipt = _ReceiptRepo.Get(w => w.cODItem.CompanyID == CompanyID && !w.Deleted)
|
||||
.Select(s => new CirculationDto
|
||||
{
|
||||
CODID = s.CODID,
|
||||
@@ -64,10 +64,10 @@ namespace Back.Services.Warehouse
|
||||
//list.AddRange(await RequestRemittance.ToListAsync());
|
||||
//return await list.OrderByDescending(o=>o.Date).AsQueryable().Paging(PageIndex, PageSize);
|
||||
}
|
||||
public async Task<int> Inventory(int CompanyID,int CODID)
|
||||
public async Task<decimal> Inventory(int CompanyID,int CODID)
|
||||
{
|
||||
var CReceipt=await _ReceiptRepo.Get(w => w.cODItem.CompanyID == CompanyID && w.CODID == CODID && w.ForSale ).SumAsync(s => s.Count);
|
||||
var CRemittance=await _RemittanceRepo.Get(w => w.cODItem.CompanyID == CompanyID && w.CODID == CODID ).SumAsync(s => s.Count);
|
||||
var CReceipt=await _ReceiptRepo.Get(w => w.cODItem.CompanyID == CompanyID && w.CODID == CODID && w.ForSale && !w.Deleted).SumAsync(s => s.Count);
|
||||
var CRemittance=await _RemittanceRepo.Get(w => w.cODItem.CompanyID == CompanyID && w.CODID == CODID && !w.Deleted).SumAsync(s => s.Count);
|
||||
return CReceipt - CRemittance;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user