Aggiunta preliminare progetti IM e Data x Sherpa Fatt nuovo
This commit is contained in:
@@ -0,0 +1,318 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NLog;
|
||||
using SHERPA.Data.DbModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SHERPA.Data.Controllers
|
||||
{
|
||||
public class SInManController : IDisposable
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
private static IConfiguration _configuration = null!;
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
public SInManController(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
Log.Info("Avviata classe BBMController.SHERPAFattContext");
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public int CustomersCount()
|
||||
{
|
||||
int answ = 0;
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
answ = dbCtx
|
||||
.DbSetCustomers
|
||||
.Count();
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco Customers
|
||||
/// </summary>
|
||||
/// <param name="searchVal"></param>
|
||||
/// <returns></returns>
|
||||
public List<CustomerModel> CustomersGetAll(string searchVal)
|
||||
{
|
||||
List<CustomerModel> dbResult = new List<CustomerModel>();
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetCustomers
|
||||
.Where(x => (x.RagSoc.Contains(searchVal) || x.CodUnivoco.Contains(searchVal) || string.IsNullOrEmpty(searchVal)))
|
||||
.OrderBy(x => x.RagSoc)
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiorna un Cliente
|
||||
/// </summary>
|
||||
/// <param name="updItem"></param>
|
||||
/// <returns></returns>
|
||||
public bool CustomerUpdate(CustomerModel updItem)
|
||||
{
|
||||
bool done = false;
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var currData = dbCtx
|
||||
.DbSetCustomers
|
||||
.Where(x => x.IdxCli == updItem.IdxCli)
|
||||
.FirstOrDefault();
|
||||
if (currData != null)
|
||||
{
|
||||
currData.Attivo = updItem.Attivo;
|
||||
currData.Cap = updItem.Cap;
|
||||
currData.CFisc = updItem.CFisc;
|
||||
currData.CodiceCliente = updItem.CodiceCliente;
|
||||
currData.CodUnivoco = updItem.CodUnivoco;
|
||||
currData.IdExt = updItem.IdExt;
|
||||
currData.IdxGruppo = updItem.IdxGruppo;
|
||||
currData.Localita = updItem.Localita;
|
||||
currData.Note = updItem.Note;
|
||||
currData.Pagamento = updItem.Pagamento;
|
||||
currData.Pec = updItem.Pec;
|
||||
currData.PIva = updItem.PIva;
|
||||
currData.Provincia = updItem.Provincia;
|
||||
currData.RagSoc = updItem.RagSoc;
|
||||
currData.Valuta = updItem.Valuta;
|
||||
currData.Via = updItem.Via;
|
||||
dbCtx.Entry(currData).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
{
|
||||
dbCtx
|
||||
.DbSetCustomers
|
||||
.Add(updItem);
|
||||
}
|
||||
dbCtx.SaveChanges();
|
||||
done = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{ }
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elimina item AccoDoc (Accounting Document)
|
||||
/// </summary>
|
||||
/// <param name="FattId"></param>
|
||||
/// <returns></returns>
|
||||
public bool AccoDocDelete(int FattId)
|
||||
{
|
||||
bool done = false;
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var item2del = dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Where(x => x.IdxFatt == FattId)
|
||||
.FirstOrDefault();
|
||||
if (item2del != null)
|
||||
{
|
||||
dbCtx.DbSetAccoDocs.Remove(item2del);
|
||||
dbCtx.SaveChanges();
|
||||
done = true;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupera AccoDoc (Accounting Document) da Key
|
||||
/// </summary>
|
||||
/// <param name="newItem"></param>
|
||||
/// <returns></returns>
|
||||
public AccoDocModel AccoDocGetByKey(int DocId)
|
||||
{
|
||||
AccoDocModel currDoc = new AccoDocModel();
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
currDoc = dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Where(x => x.IdxFatt == DocId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return currDoc;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco ultimi AccoDoc (Accounting Document)
|
||||
/// </summary>
|
||||
/// <param name="numRecord"></param>
|
||||
/// <returns></returns>
|
||||
public List<AccoDocModel> AccoDocGetLastDesc(int numRecord)
|
||||
{
|
||||
List<AccoDocModel> dbResult = new List<AccoDocModel>();
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
// se numRecord = 0 --> passo tutti
|
||||
if (numRecord == 0)
|
||||
{
|
||||
numRecord = dbCtx.DbSetAccoDocs.Count();
|
||||
}
|
||||
dbResult = dbCtx
|
||||
.DbSetAccoDocs
|
||||
.OrderByDescending(x => x.Anno)
|
||||
.ThenByDescending(x => x.Num)
|
||||
.Take(numRecord)
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco Docs
|
||||
/// </summary>
|
||||
/// <param name="searchVal">Ricerca in descrizione + note</param>
|
||||
/// <param name="anno">Anno da selezionare: 0=tutti / anno specifico</param>
|
||||
/// <param name="numero">Filtro numero, = = tutti</param>
|
||||
/// <param name="tipoDoc">Filtro x Tipo Doc</param>
|
||||
/// <returns></returns>
|
||||
public List<AccoDocModel> DocGetLastDesc(string searchVal, int anno = 0, int numero = 0, string tipoDoc = "")
|
||||
{
|
||||
List<AccoDocModel> dbResult = new List<AccoDocModel>();
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Where(x => (x.Anno == anno || anno == 0) && (x.Num == numero || numero == 0) && (x.Tipo == tipoDoc || string.IsNullOrEmpty(tipoDoc)) && ((x.CustomerNav != null && x.CustomerNav.RagSoc !=null && x.CustomerNav.RagSoc.Contains(searchVal)) || string.IsNullOrEmpty(searchVal)))
|
||||
.Include(d => d.RigheFattNav)
|
||||
.Include(d => d.CustomerNav)
|
||||
.Include(d => d.ContributiNav)
|
||||
.Include(d => d.ScadenzeNav)
|
||||
.Include(d => d.PagamentiNav)
|
||||
.OrderByDescending(x => x.Anno)
|
||||
.ThenByDescending(x => x.Num)
|
||||
.ToList();
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunge un nuovo item Doc
|
||||
/// </summary>
|
||||
/// <param name="newItem"></param>
|
||||
/// <returns></returns>
|
||||
public bool DocsAddNew(AccoDocModel newItem)
|
||||
{
|
||||
bool done = false;
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Add(newItem);
|
||||
dbCtx.SaveChanges();
|
||||
done = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return done;
|
||||
}
|
||||
/// <summary>
|
||||
/// Conteggio documenti x criteri
|
||||
/// </summary>
|
||||
/// <param name="anno"></param>
|
||||
/// <param name="tipoDoc"></param>
|
||||
/// <returns></returns>
|
||||
public int DocsCount(int anno, string tipoDoc)
|
||||
{
|
||||
int answ = 0;
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
answ = dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Where(x => (x.Anno== anno || anno==0) && (x.Tipo==tipoDoc || string.IsNullOrEmpty(tipoDoc)))
|
||||
.Count();
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiorna un item Doc
|
||||
/// </summary>
|
||||
/// <param name="updItem"></param>
|
||||
/// <returns></returns>
|
||||
public bool DocUpdate(AccoDocModel updItem)
|
||||
{
|
||||
bool done = false;
|
||||
using (SHERPAFattContext dbCtx = new SHERPAFattContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var currData = dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Where(x => x.IdxFatt == updItem.IdxFatt)
|
||||
.FirstOrDefault();
|
||||
if (currData != null)
|
||||
{
|
||||
currData.Anno = updItem.Anno;
|
||||
currData.Num = updItem.Num;
|
||||
currData.DtEvent = updItem.DtEvent;
|
||||
currData.IdxCli = updItem.IdxCli;
|
||||
currData.Tipo = updItem.Tipo;
|
||||
currData.Ritenuta = updItem.Ritenuta;
|
||||
currData.Scelta= updItem.Scelta;
|
||||
currData.Token = updItem.Token;
|
||||
currData.NewId = updItem.NewId;
|
||||
// segno modificato!
|
||||
dbCtx.Entry(currData).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
{
|
||||
dbCtx
|
||||
.DbSetAccoDocs
|
||||
.Add(updItem);
|
||||
}
|
||||
dbCtx.SaveChanges();
|
||||
done = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user