public PROVVIDENZESCOLASTICHE CreaProvvidenzeScolastiche(decimal idTrasfProvScolastiche) { try { PROVVIDENZESCOLASTICHE ps = new PROVVIDENZESCOLASTICHE(); using (ModelDBISE db = new ModelDBISE()) { ps = new PROVVIDENZESCOLASTICHE { IDTRASFPROVSCOLASTICHE = idTrasfProvScolastiche }; db.PROVVIDENZESCOLASTICHE.Add(ps); if (db.SaveChanges() <= 0) { throw new Exception("Errore inserimento 'PROVVIDENZESCOLASTICHE'"); } } return(ps); } catch (Exception ex) { throw ex; } }
public void DeleteDocumentoPS(decimal idDocumento) { PROVVIDENZESCOLASTICHE ps = new PROVVIDENZESCOLASTICHE(); try { using (ModelDBISE db = new ModelDBISE()) { var d = db.DOCUMENTI.Find(idDocumento); if (d != null && d.IDDOCUMENTO > 0) { db.DOCUMENTI.Remove(d); if (db.SaveChanges() <= 0) { throw new Exception(string.Format("Non è stato possibile effettuare l'eliminazione del documento ({0}).", d.NOMEDOCUMENTO + d.ESTENSIONE)); } else { Utility.SetLogAttivita(EnumAttivitaCrud.Eliminazione, "Eliminazione di un documento (" + ((EnumTipoDoc)d.IDTIPODOCUMENTO).ToString() + ").", "Documenti", db, ps.IDTRASFPROVSCOLASTICHE, d.IDDOCUMENTO); } } } } catch (Exception ex) { 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; } }