public void NotificaRichiestaAnticipi(decimal idAttivitaAnticipi, decimal percentualeRichiesta) { try { using (ModelDBISE db = new ModelDBISE()) { db.Database.BeginTransaction(); try { var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi); var ra = aa.RINUNCIAANTICIPI; var rinunciaAnticipi = ra.RINUNCIAANT; var a = aa.ANTICIPI.Where(x => x.IDTIPOLOGIAANTICIPI == (decimal)EnumTipologiaAnticipi.Prima_Sistemazione).First(); if (a.PERCENTUALEANTICIPO != percentualeRichiesta) { a.PERCENTUALEANTICIPO = percentualeRichiesta; a.DATAAGGIORNAMENTO = DateTime.Now; if (db.SaveChanges() <= 0) { throw new Exception("Errore nella fase di aggiornamento della percentuale di anticipo richiesta."); } } aa.NOTIFICARICHIESTA = true; aa.DATANOTIFICARICHIESTA = DateTime.Now; aa.DATAAGGIORNAMENTO = DateTime.Now; if (db.SaveChanges() <= 0) { throw new Exception("Errore nella fase d'inserimento per la richiesta attivazione anticipi."); } else { using (dtDipendenti dtd = new dtDipendenti()) { var dip = dtd.GetDipendenteByID(aa.PRIMASITEMAZIONE.TRASFERIMENTO.DIPENDENTI.IDDIPENDENTE); EmailTrasferimento.EmailNotifica(EnumChiamante.Anticipi, aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, Resources.msgEmail.OggettoNotificaRichiestaAnticipi, string.Format(Resources.msgEmail.MessaggioNotificaRichiestaAnticipi, dip.cognome + " " + dip.nome + " (" + dip.matricola + ")"), db); } //this.EmailNotificaRichiestaAnticipi(idAttivitaAnticipi, db); using (dtCalendarioEventi dtce = new dtCalendarioEventi()) { CalendarioEventiModel cem = new CalendarioEventiModel() { idFunzioneEventi = EnumFunzioniEventi.RichiestaAnticipi, idTrasferimento = aa.PRIMASITEMAZIONE.IDPRIMASISTEMAZIONE, DataInizioEvento = DateTime.Now.Date, DataScadenza = DateTime.Now.AddDays(Convert.ToInt16(Resources.ScadenzaFunzioniEventi.RichiestaAnticipi)).Date, }; dtce.InsertCalendarioEvento(ref cem, db); } } //} db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } } catch (Exception ex) { throw ex; } }
public void NotificaRichiestaPS(decimal idProvScolastiche) { try { using (ModelDBISE db = new ModelDBISE()) { db.Database.BeginTransaction(); try { using (dtDipendenti dtd = new dtDipendenti()) { var atps = db.ATTIVAZIONIPROVSCOLASTICHE.Find(idProvScolastiche); atps.NOTIFICARICHIESTA = true; atps.DATAATTIVAZIONE = DateTime.Now; atps.DATAAGGIORNAMENTO = DateTime.Now; var t = atps.PROVVIDENZESCOLASTICHE.TRASFERIMENTO; var dip = dtd.GetDipendenteByID(t.IDDIPENDENTE); var i = db.SaveChanges(); if (i <= 0) { throw new Exception("Errore nella fase d'inserimento per la richiesta provvidenze scolastiche."); } #region ciclo attivazione documenti PS var ldps = atps.DOCUMENTI.Where(a => a.MODIFICATO == false && a.IDSTATORECORD == (decimal)EnumStatoRecord.In_Lavorazione).ToList(); foreach (var dps in ldps) { dps.IDSTATORECORD = (decimal)EnumStatoRecord.Da_Attivare; if (db.SaveChanges() <= 0) { throw new Exception("Errore durante il ciclo di attivazione provvidenze scolastiche"); } } #endregion EmailTrasferimento.EmailNotifica(EnumChiamante.ProvvidenzeScolastiche, atps.PROVVIDENZESCOLASTICHE.TRASFERIMENTO.IDTRASFERIMENTO, Resources.msgEmail.OggettoNotificaProvvidenzeScolastiche, string.Format(Resources.msgEmail.MessaggioNotificaProvvidenzeScolastiche, dip.cognome + " " + dip.nome + " (" + dip.matricola + ")"), db); using (dtCalendarioEventi dtce = new dtCalendarioEventi()) { CalendarioEventiModel cem = new CalendarioEventiModel() { idFunzioneEventi = EnumFunzioniEventi.RichiestaProvvidenzeScolastiche, idTrasferimento = atps.PROVVIDENZESCOLASTICHE.IDTRASFPROVSCOLASTICHE, DataInizioEvento = DateTime.Now.Date, DataScadenza = DateTime.Now.AddDays(Convert.ToInt16(Resources.ScadenzaFunzioniEventi.RichiestaProvvidenzeScolastiche)).Date, }; dtce.InsertCalendarioEvento(ref cem, db); } db.Database.CurrentTransaction.Commit(); } } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } } catch (Exception ex) { throw ex; } }