public void RicalcoloPS(DateTime dtIniVar, DateTime dtFinVar, EnumTipoTrasferimento tipotrasf) { using (ModelDBISE db = new ModelDBISE()) { this.RicPS(dtIniVar, dtFinVar, tipotrasf, db); } }
public IList <IndennitaSistemazioneModel> GetListIndennitaSistemazione(EnumTipoTrasferimento tipoTrasf, DateTime dt, ModelDBISE db) { List <IndennitaSistemazioneModel> lism = new List <IndennitaSistemazioneModel>(); var lis = db.INDENNITASISTEMAZIONE.Where( a => a.ANNULLATO == false && a.DATAINIZIOVALIDITA <= dt.Date && a.DATAFINEVALIDITA >= dt.Date && a.IDTIPOTRASFERIMENTO == (decimal)tipoTrasf) .OrderBy(a => a.DATAINIZIOVALIDITA).ToList(); if (lis?.Any() ?? false) { foreach (var indSist in lis) { var ism = new IndennitaSistemazioneModel() { idIndSist = indSist.IDINDSIST, idTipoTrasferimento = indSist.IDTIPOTRASFERIMENTO, dataInizioValidita = indSist.DATAINIZIOVALIDITA, dataFineValidita = indSist.DATAFINEVALIDITA, coefficiente = indSist.COEFFICIENTE, dataAggiornamento = indSist.DATAAGGIORNAMENTO, annullato = indSist.ANNULLATO }; lism.Add(ism); } } return(lism); }
private void RicPS(DateTime dtIniVar, DateTime dtFinVar, EnumTipoTrasferimento tipotrasf, ModelDBISE db) { var lt = db.TRASFERIMENTO.Where( a => a.DATAPARTENZA >= dtIniVar && a.DATAPARTENZA <= dtFinVar && (EnumTipoTrasferimento)a.IDTIPOTRASFERIMENTO == tipotrasf && ((EnumStatoTraferimento)a.IDSTATOTRASFERIMENTO == EnumStatoTraferimento.Da_Attivare || (EnumStatoTraferimento)a.IDSTATOTRASFERIMENTO == EnumStatoTraferimento.Attivo)).ToList(); if (lt?.Any() ?? false) { using (dtPrimaSistemazione dtps = new dtPrimaSistemazione()) { using (dtIndennitaSistemazione dtis = new dtIndennitaSistemazione()) { foreach (var t in lt) { var ps = t.PRIMASITEMAZIONE; var lism = dtis.GetListIndennitaSistemazione((EnumTipoTrasferimento)t.IDTIPOTRASFERIMENTO, t.DATAPARTENZA, db); foreach (var ism in lism) { var esisteAssociazione = ps.INDENNITASISTEMAZIONE?.All( a => a.IDINDSIST != ism.idIndSist && a.ANNULLATO == false) ?? false; if (esisteAssociazione == false) { dtps.AssociaIndennitaSistemazione(ps.IDPRIMASISTEMAZIONE, ism.idIndSist, db); } } } } } } }
/// <summary> /// /// </summary> /// <param name="idPrimaSistemazione"></param> /// <param name="tipoTrasf"></param> /// <param name="dt"></param> /// <param name="db"></param> /// <returns></returns> public IndennitaSistemazioneModel GetIndennitaSistemazioneAssociata(Decimal idPrimaSistemazione, EnumTipoTrasferimento tipoTrasf, DateTime dt, ModelDBISE db) { IndennitaSistemazioneModel ism = new IndennitaSistemazioneModel(); var ps = db.PRIMASITEMAZIONE.Find(idPrimaSistemazione); if (ps != null && ps.IDPRIMASISTEMAZIONE > 0) { var lIndSist = ps.INDENNITASISTEMAZIONE.Where( a => a.ANNULLATO == false && a.IDTIPOTRASFERIMENTO == (decimal)tipoTrasf && dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA) .OrderByDescending(a => a.DATAFINEVALIDITA); if (lIndSist?.Any() ?? false) { var indSist = lIndSist.First(); ism = new IndennitaSistemazioneModel() { idIndSist = indSist.IDINDSIST, idTipoTrasferimento = indSist.IDTIPOTRASFERIMENTO, dataInizioValidita = indSist.DATAINIZIOVALIDITA, dataFineValidita = indSist.DATAFINEVALIDITA, coefficiente = indSist.COEFFICIENTE, dataAggiornamento = indSist.DATAAGGIORNAMENTO, annullato = indSist.ANNULLATO }; } } return(ism); }