public ActionResult Richiamo(decimal idTrasferimento, decimal idFKm, string dataRichiamo, decimal nuovo = 0) { DateTime dataPartenza = new DateTime(); bool admin = Utility.Amministratore(); bool solaLettura = false; ViewBag.Amministratore = admin; try { ViewData["idFKm"] = idFKm; ViewData["idTrasferimento"] = idTrasferimento; ViewData["dataRichiamo"] = dataRichiamo; CaricaComboFKM(idFKm, nuovo); ViewData["abilitaModifica"] = idFKm; using (ModelDBISE db = new ModelDBISE()) { using (dtRichiamo dtr = new dtRichiamo()) { dataPartenza = dtr.Restituisci_DataPartenza(idTrasferimento, db); RichiamoModel rcm = dtr.Restituisci_Ultimo_Richiamo(idTrasferimento); ViewData["idRichiamo"] = rcm.IdRichiamo; if (rcm.IdRichiamo != 0) { ViewData["dataRientro"] = rcm.DataRientro; ViewData["dataRichiamo"] = rcm.DataRichiamo; } CaricaComboFKM(rcm.CoeffKm, nuovo, rcm.IdRichiamo); } using (dtTrasferimento dtt = new dtTrasferimento()) { TrasferimentoModel trm = dtt.GetTrasferimentoById(idTrasferimento); if (trm != null) { var ultimo_trasf = dtt.GetUltimoTrasferimentoValidoByMatricola(trm.Dipendente.matricola.ToString()); if (ultimo_trasf.idTrasferimento > 0) { if (ultimo_trasf.idTrasferimento != idTrasferimento) { solaLettura = true; } } } } } ViewData["solaLettura"] = solaLettura; ViewData["dataPartenza"] = dataPartenza; } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView()); }
public ActionResult MessaggioInserisciRichiamo(decimal idTrasferimento, decimal idFKm, string dataInserita, decimal idRichiamo = 0) { ViewData["idTrasferimento"] = idTrasferimento; ViewData["idFKm"] = idFKm; ViewData["dataInserita"] = dataInserita == null ? "" : dataInserita.ToString(); CaricaComboFKM(idFKm, 0, idRichiamo); using (ModelDBISE db = new ModelDBISE()) { using (dtRichiamo dtr = new dtRichiamo()) { DateTime dataPartenza = dtr.Restituisci_DataPartenza(idTrasferimento, db); ViewData["dataPartenza"] = dataPartenza; } } return(PartialView()); }
public JsonResult ConfermaModificaRichiamo(decimal idTrasferimento, decimal idFasciaFKM, string dataRichiamo, decimal idRichiamo) { using (ModelDBISE db = new ModelDBISE()) { db.Database.BeginTransaction(); string errore = ""; var lstr = new List <SelectListItem>(); try { ViewData["idTrasferimento"] = idTrasferimento; ViewData["idFKm"] = idFasciaFKM; DateTime dataPartenza = new DateTime(); CaricaComboFKM(idFasciaFKM, idFasciaFKM); using (dtRichiamo dtric = new dtRichiamo()) { dataPartenza = dtric.Restituisci_DataPartenza(idTrasferimento, db); } ViewData["dataPartenza"] = dataPartenza; try { RichiamoModel ri = new RichiamoModel(); ri.DataRichiamo = Convert.ToDateTime(dataRichiamo); ri.DataAggiornamento = DateTime.Now; ri.CoeffKm = idFasciaFKM; ri.idTrasferimento = idTrasferimento; using (dtRichiamo dtric = new dtRichiamo()) { decimal idCoeffIndRichiamo = dtric.Restituisci_ID_CoeffIndRichiamo_Da_Data(ri, db); decimal idCoeffMaggRichiamo = dtric.Restituisci_ID_CoeffMagIndRichiamo_Da_Data(ri, db); decimal IDPFKM = dtric.Restituisci_ID_PercentualeFKM_Da_Data(ri, db); if (idCoeffIndRichiamo == 0 || IDPFKM == 0 || idCoeffMaggRichiamo == 0) { errore = "Non esistono coefficenti corrispondenti ai criteri del Richiamo"; ViewData["errore"] = errore; } ri.IDPFKM = IDPFKM; DateTime dataRientroPrecedente = dtric.Restituisci_Data_Rientro(idTrasferimento); DateTime DataRientro = Convert.ToDateTime(dataRichiamo).AddDays(-1); ri.DataRientro = DataRientro; if (idRichiamo != 0) { ViewData["dataRichiamo"] = ri.DataRichiamo.ToShortDateString(); ViewData["dataRientro"] = ri.DataRientro.ToShortDateString(); ViewData["idRichiamo"] = idRichiamo; if (DataRientro < dataPartenza) { errore = "Data Rientro (" + DataRientro.ToShortDateString() + ") non può essere inferiore alla data Partenza (" + dataPartenza.ToShortDateString() + " )"; } else { idRichiamo = dtric.EditRichiamo(ri, idCoeffIndRichiamo, idCoeffMaggRichiamo, IDPFKM, DataRientro, idRichiamo, db); errore = ""; lstr = AggiornaViewBag_Lista_Trasferimenti(idTrasferimento, db); //using (dtVariazioniMaggiorazioneFamiliare dtvmf = new dtVariazioniMaggiorazioneFamiliare()) //{ // dtvmf.TerminaMaggiorazioniFamiliariByDataFineTrasf(idTrasferimento, ri.DataRientro, db); //} //using (dtVariazioniMaggiorazioneAbitazione dtvmab = new dtVariazioniMaggiorazioneAbitazione()) //{ // dtvmab.TerminaMABbyDataFineTrasf(idTrasferimento, ri.DataRientro, db); //} using (dtDipendenti dtd = new dtDipendenti()) { dtd.DataInizioRicalcoliDipendente(idTrasferimento, ri.DataRientro, db, true); } string sede = dtric.DeterminaSede(idTrasferimento); string oggetto = Resources.msgEmail.OggettoRichiamoModifica; string corpoMessaggio = string.Format(Resources.msgEmail.MessaggioRichiamoModifica, sede, dataRientroPrecedente.ToShortDateString(), ri.DataRientro.ToShortDateString()); InviaMailRichiamo(idTrasferimento, db, corpoMessaggio, oggetto); } } else { ViewData["errore"] = "Errore riscontrato nell'inserimento del Richiamo"; errore = "Non esistono coefficenti corrispondenti ai criteri del Richiamo"; // return PartialView("Richiamo"); // return PartialView("ErrorPartial", new MsgErr() { msg = "Errore riscontrato nell'inserimento del Richiamo" }); } } } catch (Exception ex) { ViewData["errore"] = ex.Message; // return PartialView("Richiamo"); // return PartialView("ErrorPartial", new MsgErr() { msg = ex.Message }); errore = ex.Message; } db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } return(Json(new { err = errore, list = lstr })); } }
public JsonResult ConfermaInserisciRichiamo(decimal idTrasferimento, decimal idFasciaFKM, string dataRichiamo) { using (ModelDBISE db = new ModelDBISE()) { db.Database.BeginTransaction(); string errore = ""; var lstr = new List <SelectListItem>(); try { ViewData["idTrasferimento"] = idTrasferimento; ViewData["idFKm"] = idFasciaFKM; CaricaComboFKM(idFasciaFKM, idFasciaFKM); DateTime dataPartenza = new DateTime(); using (dtRichiamo dtric = new dtRichiamo()) { dataPartenza = dtric.Restituisci_DataPartenza(idTrasferimento, db); } ViewData["dataPartenza"] = dataPartenza; decimal idRichiamo = 0; try { RichiamoModel ri = new RichiamoModel(); ri.DataRichiamo = Convert.ToDateTime(dataRichiamo); ri.DataAggiornamento = DateTime.Now; ri.CoeffKm = idFasciaFKM; ri.idTrasferimento = idTrasferimento; using (dtRichiamo dtric = new dtRichiamo()) { decimal idCoeffIndRichiamo = dtric.Restituisci_ID_CoeffIndRichiamo_Da_Data(ri, db); decimal idCoeffMagIndRichiamo = dtric.Restituisci_ID_CoeffMagIndRichiamo_Da_Data(ri, db); decimal IDPFKM = dtric.Restituisci_ID_PercentualeFKM_Da_Data(ri, db); //var r = new List<SelectListItem>(); if (idCoeffIndRichiamo == 0 || IDPFKM == 0 || idCoeffMagIndRichiamo == 0) { ViewData["errore"] = "Non esistono coefficenti corrispondenti ai criteri del Richiamo"; errore = "Non esistono coefficenti corrispondenti ai criteri del Richiamo"; throw new Exception("Non esistono coefficenti corrispondenti ai criteri del Richiamo"); } ri.IDPFKM = IDPFKM; DateTime DataRientro = Convert.ToDateTime(dataRichiamo).AddDays(-1); ri.DataRientro = DataRientro; ViewData["dataRichiamo"] = ri.DataRichiamo.ToShortDateString(); ViewData["dataRientro"] = ri.DataRientro.ToShortDateString(); ViewData["idRichiamo"] = idRichiamo; if (DataRientro < dataPartenza) { errore = "Data Rientro " + DataRientro.ToShortDateString() + " non può essere inferiore alla data Partenza " + dataPartenza.ToShortDateString(); } else { idRichiamo = dtric.SetRichiamo(ri, idCoeffIndRichiamo, IDPFKM, idCoeffMagIndRichiamo, DataRientro, db); ViewData["idRichiamo"] = idRichiamo; errore = ""; } lstr = AggiornaViewBag_Lista_Trasferimenti(idTrasferimento, db); string sede = dtric.DeterminaSede(idTrasferimento); string oggetto = Resources.msgEmail.OggettoRichiamoInserisci; string corpoMessaggio = string.Format(Resources.msgEmail.MessaggioRichiamoInserisci, sede, ri.DataRientro.ToShortDateString()); using (dtDipendenti dtd = new dtDipendenti()) { dtd.DataInizioRicalcoliDipendente(idTrasferimento, ri.DataRientro, db, true); } InviaMailRichiamo(idTrasferimento, db, corpoMessaggio, oggetto); } } catch (Exception ex) { ViewData["errore"] = ex.Message; errore = ex.Message; } db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } return(Json(new { err = errore, list = lstr })); } }