public ATTIVAZIONIPROVSCOLASTICHE CreaAttivazioneProvvidenzeScolastiche(decimal idTrasfProvScolastiche) { try { ATTIVAZIONIPROVSCOLASTICHE aps = new ATTIVAZIONIPROVSCOLASTICHE(); using (ModelDBISE db = new ModelDBISE()) { aps = new ATTIVAZIONIPROVSCOLASTICHE { IDTRASFPROVSCOLASTICHE = idTrasfProvScolastiche, NOTIFICARICHIESTA = false, ATTIVARICHIESTA = false, DATAAGGIORNAMENTO = DateTime.Now, ANNULLATO = false, FK_IDPROVSCOLASTICHE = 1 }; db.ATTIVAZIONIPROVSCOLASTICHE.Add(aps); if (db.SaveChanges() <= 0) { throw new Exception("Errore inserimento 'ATTIVAZIONIPROVSCOLASTICHE'"); } } return(aps); } catch (Exception ex) { throw ex; } }
public ATTIVAZIONIPROVSCOLASTICHE CreaAttivitaPS(decimal idTrasfProvScolastiche, ModelDBISE db) { var NumAttivazioni = this.GetNumAttivazioniProvvidenzeScolastiche(idTrasfProvScolastiche); ATTIVAZIONIPROVSCOLASTICHE new_atep = new ATTIVAZIONIPROVSCOLASTICHE() { IDTRASFPROVSCOLASTICHE = idTrasfProvScolastiche, NOTIFICARICHIESTA = false, DATANOTIFICA = null, ATTIVARICHIESTA = false, DATAATTIVAZIONE = null, ANNULLATO = false, DATAAGGIORNAMENTO = DateTime.Now, }; db.ATTIVAZIONIPROVSCOLASTICHE.Add(new_atep); if (db.SaveChanges() <= 0) { throw new Exception(string.Format("Non è stato possibile creare una nuova attivazione per le provvidenze scolastiche.")); } else { Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuova attivazione per le provvidenze scolastiche.", "ATTIVAZIONIPROVSCOLASTICHE", db, new_atep.IDTRASFPROVSCOLASTICHE, new_atep.IDPROVSCOLASTICHE); } return(new_atep); }
public void SetDocumentoPS(ref DocumentiModel dm, decimal idTrasfProvScolastiche, ModelDBISE db, decimal idTipoDocumento) { try { MemoryStream ms = new MemoryStream(); DOCUMENTI d = new DOCUMENTI(); ATTIVAZIONIPROVSCOLASTICHE atep = new ATTIVAZIONIPROVSCOLASTICHE(); dm.file.InputStream.CopyTo(ms); var tep = db.PROVVIDENZESCOLASTICHE.Find(idTrasfProvScolastiche); var latep = tep.ATTIVAZIONIPROVSCOLASTICHE.Where( a => a.ANNULLATO == false && a.NOTIFICARICHIESTA == false && a.ATTIVARICHIESTA == false) .OrderByDescending(a => a.IDPROVSCOLASTICHE).ToList(); if (latep?.Any() ?? false) { atep = latep.First(); } else { atep = this.CreaAttivitaPS(idTrasfProvScolastiche, db); } d.NOMEDOCUMENTO = dm.nomeDocumento; d.ESTENSIONE = dm.estensione; d.IDTIPODOCUMENTO = idTipoDocumento; d.DATAINSERIMENTO = dm.dataInserimento; d.FILEDOCUMENTO = ms.ToArray(); d.MODIFICATO = false; d.FK_IDDOCUMENTO = null; d.IDSTATORECORD = (decimal)EnumStatoRecord.In_Lavorazione; atep.DOCUMENTI.Add(d); if (db.SaveChanges() > 0) { dm.idDocumenti = d.IDDOCUMENTO; Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuovo documento (provvidenze scolastiche).", "Documenti", db, tep.IDTRASFPROVSCOLASTICHE, dm.idDocumenti); } else { throw new Exception("Errore nella fase di inserimento del documento (provvidenze scolastiche)."); } } catch (Exception ex) { throw ex; } }
public ATTIVAZIONIPROVSCOLASTICHE GetUltimaAttivazioneProvvScolastiche(decimal idTrasfProvScolastiche) { using (ModelDBISE db = new ModelDBISE()) { ATTIVAZIONIPROVSCOLASTICHE atps = new ATTIVAZIONIPROVSCOLASTICHE(); var tps = db.PROVVIDENZESCOLASTICHE.Find(idTrasfProvScolastiche); if (tps != null && tps.IDTRASFPROVSCOLASTICHE > 0) { var latps = tps.ATTIVAZIONIPROVSCOLASTICHE .Where(a => a.ANNULLATO == false) .OrderByDescending(a => a.IDPROVSCOLASTICHE).ToList(); if (latps?.Any() ?? false) { atps = latps.First(); } else { //se non esiste una attivazione //ne creo una ATTIVAZIONIPROVSCOLASTICHE new_atps = new ATTIVAZIONIPROVSCOLASTICHE() { IDTRASFPROVSCOLASTICHE = idTrasfProvScolastiche, DATANOTIFICA = null, ATTIVARICHIESTA = false, DATAATTIVAZIONE = null, DATAAGGIORNAMENTO = DateTime.Now, ANNULLATO = false }; db.ATTIVAZIONIPROVSCOLASTICHE.Add(new_atps); if (db.SaveChanges() <= 0) { throw new Exception("Errore nella fase di creazione dell'attivita provvidenze scolastiche."); } atps = new_atps; } } return(atps); } }
public void AnnullaRichiestaProvvidenzeScolastiche(decimal idAttivitaProvvidenzeScolastiche, string msg) { using (ModelDBISE db = new ModelDBISE()) { db.Database.BeginTransaction(); try { var atep_Old = db.ATTIVAZIONIPROVSCOLASTICHE.Find(idAttivitaProvvidenzeScolastiche); if (atep_Old?.IDPROVSCOLASTICHE > 0) { if (atep_Old.NOTIFICARICHIESTA == true && atep_Old.ATTIVARICHIESTA == false && atep_Old.ANNULLATO == false) { atep_Old.ANNULLATO = true; atep_Old.DATAAGGIORNAMENTO = DateTime.Now; int i = db.SaveChanges(); if (i <= 0) { throw new Exception("Errore - Impossibile annullare la notifica della richiesta provvidenze scolastiche."); } else { Utility.SetLogAttivita(EnumAttivitaCrud.Modifica, "Annullamento della riga per il ciclo di attivazione delle provvidenze scolastiche", "PROVVIDENZESCOLASTICHE", db, atep_Old.PROVVIDENZESCOLASTICHE.TRASFERIMENTO.IDTRASFERIMENTO, atep_Old.IDPROVSCOLASTICHE); var idTrasferimento = atep_Old.PROVVIDENZESCOLASTICHE.TRASFERIMENTO.IDTRASFERIMENTO; ATTIVAZIONIPROVSCOLASTICHE atep_New = new ATTIVAZIONIPROVSCOLASTICHE() { IDTRASFPROVSCOLASTICHE = atep_Old.IDTRASFPROVSCOLASTICHE, NOTIFICARICHIESTA = false, ATTIVARICHIESTA = false, DATAAGGIORNAMENTO = DateTime.Now, ANNULLATO = false }; db.ATTIVAZIONIPROVSCOLASTICHE.Add(atep_New); int j = db.SaveChanges(); if (j <= 0) { throw new Exception("Errore - Impossibile creare il nuovo ciclo di attivazione per le provvidenze scolastiche."); } else { Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuova riga per il ciclo di attivazione relativo alle provvidenze scolastiche.", "PROVVIDENZESCOLASTICHE", db, atep_New.PROVVIDENZESCOLASTICHE.TRASFERIMENTO.IDTRASFERIMENTO, atep_New.IDTRASFPROVSCOLASTICHE); #region ricrea rinunciaTE //var rtep_old = this.GetRinunciaTEPartenza(atep_Old.IDATEPARTENZA, db); //RINUNCIA_TE_P rtep_new = new RINUNCIA_TE_P() //{ // IDATEPARTENZA = atep_New.IDATEPARTENZA, // RINUNCIATE = rtep_old.rinunciaTE, // DATAAGGIORNAMENTO = DateTime.Now, //}; //db.RINUNCIA_TE_P.Add(rtep_new); //if (db.SaveChanges() <= 0) //{ // throw new Exception(string.Format("Non è stato possibile creare una nuova rinuncia trasporto effetti partenza durante il ciclo di annullamento.")); //} //else //{ // Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuova rinuncia trasporto effetti partenza.", "RINUNCIA_TE_P", db, rtep_new.ATTIVITATEPARTENZA.TEPARTENZA.TRASFERIMENTO.IDTRASFERIMENTO, rtep_new.IDATEPARTENZA); //} #endregion #region documenti var ldoc_Old = atep_Old.DOCUMENTI.Where( a => a.MODIFICATO == false) .OrderBy(a => a.DATAINSERIMENTO); if (ldoc_Old?.Any() ?? false) { foreach (var doc_Old in ldoc_Old) { DOCUMENTI doc_New = new DOCUMENTI() { IDTIPODOCUMENTO = doc_Old.IDTIPODOCUMENTO, NOMEDOCUMENTO = doc_Old.NOMEDOCUMENTO, ESTENSIONE = doc_Old.ESTENSIONE, FILEDOCUMENTO = doc_Old.FILEDOCUMENTO, DATAINSERIMENTO = doc_Old.DATAINSERIMENTO, MODIFICATO = doc_Old.MODIFICATO, FK_IDDOCUMENTO = doc_Old.FK_IDDOCUMENTO, IDSTATORECORD = (decimal)EnumStatoRecord.In_Lavorazione }; atep_New.DOCUMENTI.Add(doc_New); doc_Old.IDSTATORECORD = (decimal)EnumStatoRecord.Annullato; int y = db.SaveChanges(); if (y <= 0) { throw new Exception("Errore - Impossibile associare il documento per le provvidenze scolastiche. (" + doc_New.NOMEDOCUMENTO + ")"); } else { Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuova riga per il documento relativo alle provvidenze scolastiche.", "DOCUMENTI", db, atep_New.PROVVIDENZESCOLASTICHE.TRASFERIMENTO.IDTRASFERIMENTO, doc_New.IDDOCUMENTO); } } } #endregion EmailTrasferimento.EmailAnnulla(idTrasferimento, Resources.msgEmail.OggettoAnnullaRichiestaProvvidenzeScolastiche, msg, db); using (dtCalendarioEventi dtce = new dtCalendarioEventi()) { dtce.AnnullaMessaggioEvento(idTrasferimento, EnumFunzioniEventi.RichiestaProvvidenzeScolastiche, db); } } } } } db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } }
public void SituazionePRovvidenzeScolastiche(decimal idTrasfProvScolastiche, out bool richiestaPS, out bool attivazionePS, out bool DocProvvidenzeScolastiche, out decimal NumAttivazioni, out bool trasfAnnullato) { try { using (ModelDBISE db = new ModelDBISE()) { richiestaPS = false; attivazionePS = false; DocProvvidenzeScolastiche = false; trasfAnnullato = false; var tps = db.PROVVIDENZESCOLASTICHE.Find(idTrasfProvScolastiche); var idStatoTrasferimento = tps.TRASFERIMENTO.IDSTATOTRASFERIMENTO; if (idStatoTrasferimento == (decimal)EnumStatoTraferimento.Annullato) { trasfAnnullato = true; } if (tps == null) { // Documenti in attesa di approvazione disabilito il tasto Attiva Richiesta PROVVIDENZESCOLASTICHE new_tps = new PROVVIDENZESCOLASTICHE() { IDTRASFPROVSCOLASTICHE = idTrasfProvScolastiche }; db.PROVVIDENZESCOLASTICHE.Add(new_tps); if (db.SaveChanges() <= 0) { throw new Exception("Errore - Impossibile creare i record su Provvidenze Scolastiche."); } tps = new_tps; } ATTIVAZIONIPROVSCOLASTICHE last_atps = new ATTIVAZIONIPROVSCOLASTICHE(); var latps = tps.ATTIVAZIONIPROVSCOLASTICHE .Where(a => a.ANNULLATO == false || (a.NOTIFICARICHIESTA && a.ATTIVARICHIESTA)) .OrderByDescending(a => a.IDPROVSCOLASTICHE).ToList(); if (latps?.Any() ?? false) { //se esiste verifica se ci sono elementi associati //imposta l'ultima valida last_atps = latps.First(); //verifica se è stata richiesta if (last_atps.NOTIFICARICHIESTA && last_atps.ATTIVARICHIESTA == false) { richiestaPS = true; } //verifica se è stata attivata if (last_atps.NOTIFICARICHIESTA && last_atps.ATTIVARICHIESTA) { attivazionePS = true; } foreach (var atps in latps) { //documenti provvidenze scolastiche var ldc = atps.DOCUMENTI.Where(a => (a.IDTIPODOCUMENTO == (decimal)EnumTipoDoc.Formulario_Provvidenze_Scolastiche && a.IDSTATORECORD == (decimal)EnumStatoRecord.In_Lavorazione)).ToList(); if (ldc?.Any() ?? false) { DocProvvidenzeScolastiche = true; } } } else { last_atps = this.GetUltimaAttivazioneProvvScolastiche(idTrasfProvScolastiche); } NumAttivazioni = GetNumAttivazioniProvvidenzeScolastiche(idTrasfProvScolastiche); } } catch (Exception ex) { throw ex; } }