public void RendiAnnullatoUnRecord(decimal IDCOEFINDRICHIAMO, ModelDBISE db) { COEFFICIENTEINDRICHIAMO entita = new COEFFICIENTEINDRICHIAMO(); entita = db.COEFFICIENTEINDRICHIAMO.Find(IDCOEFINDRICHIAMO); entita.ANNULLATO = true; db.SaveChanges(); }
public COEFFICIENTEINDRICHIAMO RestituisciIlRecordPrecedente(decimal IDCOEFINDRICHIAMO) { COEFFICIENTEINDRICHIAMO tmp = null; using (ModelDBISE db = new ModelDBISE()) { COEFFICIENTEINDRICHIAMO interessato = new COEFFICIENTEINDRICHIAMO(); interessato = db.COEFFICIENTEINDRICHIAMO.Find(IDCOEFINDRICHIAMO); tmp = db.COEFFICIENTEINDRICHIAMO.Where(a => a.ANNULLATO == false).ToList().Where(b => b.DATAFINEVALIDITA == interessato.DATAINIZIOVALIDITA.AddDays(-1)).ToList().First(); } return(tmp); }
public void DelCoefficienteRichiamo(decimal idCoefIndRichiamo) { COEFFICIENTEINDRICHIAMO precedenteIB = new COEFFICIENTEINDRICHIAMO(); COEFFICIENTEINDRICHIAMO delIB = new COEFFICIENTEINDRICHIAMO(); using (ModelDBISE db = new ModelDBISE()) { try { db.Database.BeginTransaction(); var lib = db.COEFFICIENTEINDRICHIAMO.Where(a => a.IDCOEFINDRICHIAMO == idCoefIndRichiamo); if (lib.Count() > 0) { delIB = lib.First(); delIB.ANNULLATO = true; RendiAnnullatoUnRecord(delIB.IDCOEFINDRICHIAMO, db); precedenteIB = RestituisciIlRecordPrecedente(idCoefIndRichiamo); RendiAnnullatoUnRecord(precedenteIB.IDCOEFINDRICHIAMO, db); var NuovoPrecedente = new COEFFICIENTEINDRICHIAMO() { DATAINIZIOVALIDITA = precedenteIB.DATAINIZIOVALIDITA, DATAFINEVALIDITA = delIB.DATAFINEVALIDITA, // ALIQUOTA = precedenteIB.ALIQUOTA, COEFFICIENTERICHIAMO = precedenteIB.COEFFICIENTERICHIAMO, DATAAGGIORNAMENTO = DateTime.Now,// precedenteIB.DATAAGGIORNAMENTO, ANNULLATO = false }; db.COEFFICIENTEINDRICHIAMO.Add(NuovoPrecedente); } db.SaveChanges(); using (objLogAttivita log = new objLogAttivita()) { log.Log(enumAttivita.Eliminazione, "Eliminazione parametro di aliquote contributive.", "COEFFICIENTEINDRICHIAMO", idCoefIndRichiamo); } db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } }