110 lines
3.7 KiB
C#
110 lines
3.7 KiB
C#
using Lux.Data.DbModel;
|
|
using Microsoft.Extensions.Configuration;
|
|
using NLog;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
namespace Lux.Data.Controllers
|
|
{
|
|
public class LuxController
|
|
{
|
|
// manca costruttore parametrico contoller...
|
|
|
|
#region Public Methods
|
|
|
|
public List<ItemModel> ItemGetAll()
|
|
{
|
|
List<ItemModel> dbResult = new List<ItemModel>();
|
|
//using (DataLayerContext dbCtx = new DataLayerContext(_configuration))
|
|
using (DataLayerContext dbCtx = new DataLayerContext())
|
|
{
|
|
try
|
|
{
|
|
dbResult = dbCtx
|
|
.DbSetItem
|
|
.ToList();
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
Log.Error($"Eccezione durante ItemGetAll{Environment.NewLine}{exc}");
|
|
}
|
|
}
|
|
return dbResult;
|
|
}
|
|
|
|
public List<ItemModel> ItemGetSearch(string term)
|
|
{
|
|
List<ItemModel> dbResult = new List<ItemModel>();
|
|
//using (DataLayerContext dbCtx = new DataLayerContext(_configuration))
|
|
using (DataLayerContext dbCtx = new DataLayerContext())
|
|
{
|
|
try
|
|
{
|
|
dbResult = dbCtx
|
|
.DbSetItem
|
|
.Where(x => x.Description.Contains(term))
|
|
.ToList();
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
Log.Error($"Eccezione durante ItemGetSearch{Environment.NewLine}{exc}");
|
|
}
|
|
}
|
|
return dbResult;
|
|
}
|
|
|
|
public bool ItemUpsert(ItemModel newRec)
|
|
{
|
|
bool answ = false;
|
|
//using (DataLayerContext dbCtx = new DataLayerContext(_configuration))
|
|
using (DataLayerContext dbCtx = new DataLayerContext())
|
|
{
|
|
try
|
|
{
|
|
var currRec = dbCtx
|
|
.DbSetItem
|
|
.Where(x => x.ItemID == newRec.ItemID)
|
|
.FirstOrDefault();
|
|
// se trovato --> aggiorno
|
|
if (currRec != null)
|
|
{
|
|
currRec.Description = newRec.Description;
|
|
currRec.SupplCode = newRec.SupplCode;
|
|
currRec.ItemCode = newRec.ItemCode;
|
|
currRec.Cost = newRec.Cost;
|
|
currRec.Description = newRec.Description;
|
|
currRec.IsService = newRec.IsService;
|
|
currRec.Margin = newRec.Margin;
|
|
dbCtx.Entry(currRec).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
|
|
|
|
}
|
|
// se mancasse --> aggiungo
|
|
else
|
|
{
|
|
dbCtx.DbSetItem.Add(newRec);
|
|
}
|
|
// salvo...
|
|
dbCtx.SaveChanges();
|
|
}
|
|
catch (Exception exc)
|
|
{
|
|
Log.Error($"Eccezione durante ItemGetSearch{Environment.NewLine}{exc}");
|
|
}
|
|
}
|
|
return answ; ;
|
|
}
|
|
|
|
#endregion Public Methods
|
|
|
|
#region Private Fields
|
|
|
|
private static IConfiguration _configuration;
|
|
private static Logger Log = LogManager.GetCurrentClassLogger();
|
|
|
|
#endregion Private Fields
|
|
}
|
|
} |