public TFRModel GetTFRValido(decimal idUfficio, DateTime dt, ModelDBISE db) { TFRModel tfrm = new TFRModel(); using (dtUffici dtu = new dtUffici()) { UfficiModel ufm = dtu.GetUffici(idUfficio, db); ValuteModel vm = new ValuteModel(); if (ufm.pagatoValutaUfficio == false) { using (dtValute dtv = new dtValute()) { vm = dtv.GetValutaUfficiale(db); if (vm.HasValue()) { var ltfr = db.TFR.Where(a => a.ANNULLATO == false && a.IDVALUTA == vm.idValuta && dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA) .OrderByDescending(a => a.DATAINIZIOVALIDITA) .ToList(); if (ltfr != null && ltfr.Count > 0) { var tfr = ltfr.First(); tfrm = new TFRModel() { idTFR = tfr.IDTFR, idValuta = tfr.IDVALUTA, dataInizioValidita = tfr.DATAINIZIOVALIDITA, dataFineValidita = tfr.DATAFINEVALIDITA == Utility.DataFineStop() ? new DateTime?() : tfr.DATAFINEVALIDITA, dataAggiornamento = tfr.DATAAGGIORNAMENTO, tassoCambio = tfr.TASSOCAMBIO, Annullato = tfr.ANNULLATO }; } } else { throw new Exception("La valuta ufficiale non risulta registrata, provvedere prima di procedere."); } } } } return(tfrm); }
public void AttivaRichiestaAnticipi(decimal idAttivitaAnticipi) { using (ModelDBISE db = new ModelDBISE()) { db.Database.BeginTransaction(); try { var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi); if (aa?.IDATTIVITAANTICIPI > 0) { if (aa.NOTIFICARICHIESTA == true) { aa.ATTIVARICHIESTA = true; aa.DATAATTIVARICHIESTA = DateTime.Now; aa.DATAAGGIORNAMENTO = DateTime.Now; int i = db.SaveChanges(); if (i <= 0) { throw new Exception("Errore: Impossibile completare l'attivazione anticipo."); } else { using (dtElaborazioni dte = new dtElaborazioni()) { dte.InviaAnticipoPrimaSistemazione(idAttivitaAnticipi, db); } Utility.SetLogAttivita(EnumAttivitaCrud.Modifica, "Attivazione anticipi.", "ATTIVITAANTICIPI", db, aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, aa.IDATTIVITAANTICIPI); using (dtCalendarioEventi dtce = new dtCalendarioEventi()) { dtce.ModificaInCompletatoCalendarioEvento(aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, EnumFunzioniEventi.RichiestaAnticipi, db); } //using (dtDipendenti dtd = new dtDipendenti()) //{ using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtUffici dtu = new dtUffici()) { var t = dtt.GetTrasferimentoByIdPrimaSistemazione(aa.IDPRIMASISTEMAZIONE); if (t?.idTrasferimento > 0) { //var dip = dtd.GetDipendenteByID(t.idDipendente); var uff = dtu.GetUffici(t.idUfficio); EmailTrasferimento.EmailAttiva(aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, Resources.msgEmail.OggettoAttivaRichiestaAnticipi, string.Format(Resources.msgEmail.MessaggioAttivaRichiestaAnticipi, uff.descUfficio + " (" + uff.codiceUfficio + ")", t.dataPartenza.ToShortDateString()), db); } } } //} //this.EmailAttivaRichiestaAnticipi(aa.IDATTIVITAANTICIPI, db); } } } db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } }