Update ricerfa articoli x tipo
This commit is contained in:
@@ -502,25 +502,51 @@ namespace MP.Data.Controllers
|
||||
/// Elenco tabella Articoli da filtro
|
||||
/// </summary>
|
||||
/// <param name="numRecord"></param>
|
||||
/// <param name="tipoArt"></param>
|
||||
/// <param name="azienda"></param>
|
||||
/// <param name="searchVal"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<AnagArticoliModel>> ArticoliGetSearchAsync(int numRecord, string azienda = "*", string searchVal = "")
|
||||
public async Task<List<AnagArticoliModel>> ArticoliGetSearchAsync(int numRecord, string tipoArt = "*", string azienda = "*", string searchVal = "")
|
||||
{
|
||||
List<AnagArticoliModel> dbResult = new List<AnagArticoliModel>();
|
||||
using (var dbCtx = new MoonProContext(options))
|
||||
using var dbCtx = new MoonProContext(options);
|
||||
IQueryable<AnagArticoliModel> query = dbCtx.DbSetArticoli
|
||||
.AsNoTracking();
|
||||
|
||||
// filtro tipo articolo
|
||||
if (tipoArt != "*")
|
||||
{
|
||||
dbResult = await dbCtx
|
||||
.DbSetArticoli
|
||||
.AsNoTracking()
|
||||
.Where(x => (azienda == "*" || x.Azienda.ToUpper() == azienda.ToUpper()) && (string.IsNullOrEmpty(searchVal) || x.CodArticolo.Contains(searchVal) || x.DescArticolo.Contains(searchVal) || x.Disegno.Contains(searchVal)))
|
||||
.OrderBy(x => x.CodArticolo)
|
||||
.Take(numRecord)
|
||||
.ToListAsync();
|
||||
//query = query.Where(x => x.Tipo.ToLower() == tipoArt.ToLower());
|
||||
query = query.Where(x => EF.Functions.Like(x.Tipo, tipoArt));
|
||||
|
||||
}
|
||||
return dbResult;
|
||||
// filtro azienda
|
||||
if (azienda != "*")
|
||||
{
|
||||
//query = query.Where(x => x.Azienda.ToLower() == azienda.ToLower());
|
||||
query = query.Where(x => EF.Functions.Like(x.Azienda, azienda));
|
||||
|
||||
}
|
||||
// filtro ricerca
|
||||
if (!string.IsNullOrWhiteSpace(searchVal))
|
||||
{
|
||||
//query = query.Where(x =>
|
||||
// x.CodArticolo.Contains(searchVal) ||
|
||||
// x.DescArticolo.Contains(searchVal) ||
|
||||
// x.Disegno.Contains(searchVal));
|
||||
string pattern = $"%{searchVal}%";
|
||||
query = query.Where(x =>
|
||||
EF.Functions.Like(x.CodArticolo, pattern) ||
|
||||
EF.Functions.Like(x.DescArticolo, pattern) ||
|
||||
EF.Functions.Like(x.Disegno, pattern));
|
||||
}
|
||||
|
||||
return await query
|
||||
.OrderBy(x => x.CodArticolo)
|
||||
.Take(numRecord)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Elenco tabella Articoli NON IMPIEGATI (da stored stp_ART_getUsed) Async
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user