public string[] InserisciSospensione(SospensioneModel sosp, decimal idTipoSospensione) { string[] my_array = new string[] { "0", "0" }; if (dateValide(sosp.DataInizioSospensione.Value, sosp.DataFineSospensione.Value)) { if (!CompresaInUnIntervallo(sosp.DataInizioSospensione.Value, sosp.DataFineSospensione.Value, sosp.idTrasferimento, sosp.idSospensione)) { using (var db = new ModelDBISE()) { try { db.Database.BeginTransaction(); var sospnew = new SOSPENSIONE { IDTRASFERIMENTO = sosp.idTrasferimento,//tmp.FirstOrDefault().idTrasferimento, DATAINIZIO = sosp.DataInizioSospensione.Value, DATAFINE = sosp.DataFineSospensione.Value, IDTIPOSOSPENSIONE = idTipoSospensione,// sosp.idTipoSospensione, DATAAGGIORNAMENTO = DateTime.Now }; db.SOSPENSIONE.Add(sospnew); if (db.SaveChanges() > 0) { sosp.idSospensione = sospnew.IDSOSPENSIONE; using (dtDipendenti dtd = new dtDipendenti()) { dtd.DataInizioRicalcoliDipendente(sosp.idTrasferimento, sosp.DataInizioSospensione.Value, db, true); } Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento sospensione avvenuta con successo", "SOSPENSIONE", db, sospnew.IDTRASFERIMENTO, sospnew.IDSOSPENSIONE); db.Database.CurrentTransaction.Commit(); } else { throw new Exception("L'inserimento della sospensione non è avvenuto."); } } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } } else { my_array[0] = "2"; my_array[1] = "Impossibile inserire una sopsensione con il periodo incluso in una sopsensione esistente."; return(my_array); //throw new Exception("Le date non sono valide"); } } else { my_array[0] = "1"; my_array[1] = "Data Inizio non deve essere superiore alla data fine"; return(my_array); // throw new Exception("Controllare i dati inseriti"); } return(my_array); }
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; } }