public string[] Modifica_Sospensione(SospensioneModel sospmod) { string[] my_array = new string[] { "0", "0" }; try { if (dateValide(sospmod.DataInizioSospensione.Value, sospmod.DataFineSospensione.Value)) { if (!CompresaInUnIntervallo(sospmod.DataInizioSospensione.Value, sospmod.DataFineSospensione.Value, sospmod.idTrasferimento, sospmod.idSospensione)) { using (ModelDBISE db = new ModelDBISE()) { SOSPENSIONE sosp = db.SOSPENSIONE.Find(sospmod.idSospensione); sosp.IDTIPOSOSPENSIONE = sospmod.idTipoSospensione; sosp.DATAINIZIO = sospmod.DataInizioSospensione.Value; sosp.DATAFINE = sospmod.DataFineSospensione.Value; sosp.ANNULLATO = sospmod.ANNULLATO; int i = db.SaveChanges(); if (i < 0) { throw new Exception(string.Format("Errore nella fase di modifica della Sospensione.")); } else { Utility.SetLogAttivita(EnumAttivitaCrud.Modifica, "Modifica Sospensione avvenuta con successo", "SOSPENSIONE", db, sospmod.idTrasferimento, sospmod.idSospensione); } } } else { my_array[0] = "2"; my_array[1] = "Impossibile inserire una sopsensione con il periodo incluso in una sopsensione esistente."; return(my_array); } } else { my_array[0] = "1"; my_array[1] = "Data Inizio non deve essere superiore alla data fine"; return(my_array); } } catch (Exception ex) { throw ex; } return(my_array); }
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); }