public JsonResult VerificaTERientroAnticipo(decimal idTrasferimento) { ViewData["idTrasferimento"] = idTrasferimento; decimal tmp = 0; try { if (idTrasferimento <= 0) { throw new Exception("Trasferimento non valorizzato"); } using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtRichiamo dtr = new dtRichiamo()) { TrasferimentoModel trm = dtt.GetTrasferimentoById(idTrasferimento); if (trm != null) { if (trm.idStatoTrasferimento == EnumStatoTraferimento.Attivo || trm.idStatoTrasferimento == EnumStatoTraferimento.Terminato) { if (dtr.GetRichiamoByIdTrasf(idTrasferimento).idTrasferimento > 0) { tmp = 1; } } } } } return(Json(new { VerificaTERientroAnticipo = tmp })); } catch (Exception ex) { return(Json(new { err = ex.Message })); } }
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 List <SelectListItem> AggiornaViewBag_Lista_Trasferimenti(decimal idTrasferimento, ModelDBISE db) { var r = new List <SelectListItem>(); using (dtRichiamo dtric = new dtRichiamo()) { decimal matricola = dtric.GetMatricolaDaIdTrasferimento(idTrasferimento); // var eltr = dtric.GetListaTrasferimentoPerRichiamo(matricola); if (matricola > 0) { var lt = dtric.GetListaTrasferimentoPerRichiamo(matricola, db); if (lt?.Any() ?? false) { r = (from e in lt select new SelectListItem() { //Text = e.Ufficio.descUfficio + " (" + e.Ufficio.codiceUfficio + ")" + " - " + e.dataPartenza.ToShortDateString() + " ÷ " + ((e.dataRientro.HasValue == true && e.dataRientro < Utility.DataFineStop()) ? e.dataRientro.Value.ToShortDateString() : "--/--/----"), Text = e.Ufficio.descUfficio + " (" + e.Ufficio.codiceUfficio + ")" + " - " + ( ( e.idStatoTrasferimento != EnumStatoTraferimento.Annullato ? (e.dataPartenza.ToShortDateString() + " ÷ " + ( (e.dataRientro.HasValue == true && e.dataRientro < Utility.DataFineStop() ) ? e.dataRientro.Value.ToShortDateString() : "--/--/----" ) ) : "ANNULLATO" ) ), Value = e.idTrasferimento.ToString() }).ToList(); if (idTrasferimento == 0) { r.First().Selected = true; } else { r.First(a => a.Value == idTrasferimento.ToString()).Selected = true; } } } } return(r); }
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 ActionResult DatiTabElencoRichiamo(decimal idTrasferimento) { ViewData["idTrasferimento"] = idTrasferimento; List <RichiamoModel> tmp = new List <RichiamoModel>(); try { using (dtRichiamo dtcal = new dtRichiamo()) { //tmp.AddRange(dtcal.GetLista_Richiamo(idTrasferimento)); } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView(tmp)); }
public void InviaMailRichiamo(decimal idTrasferimento, ModelDBISE db, string corpoMessaggio = "", string oggetto = "") { // UtentiAutorizzatiModel uta = null; //decimal idMittenteLogato = Utility.UtenteAutorizzato().idDipendente; var uam = Utility.UtenteAutorizzato(); //ViewBag.idMittenteLogato = idMittenteLogato; // NotificheModel nmod = new NotificheModel(); using (dtRichiamo dtn = new dtRichiamo()) { using (GestioneEmail gmail = new GestioneEmail()) { // ModelloAllegatoMail allegato = new ModelloAllegatoMail(); Destinatario dest = new Destinatario(); Destinatario destToCc = new Destinatario(); ModelloMsgMail modMSGmail = new ModelloMsgMail(); //if (idDocumento != 0) //{ // var docByte = dtn.GetAllegatoVC(idAttivazioneVC, idDocumento); // Stream streamDoc = new MemoryStream(docByte); // DocumentiModel dm = dtn.GetDatiDocumentoById(idDocumento); // allegato.nomeFile = dm.nomeDocumento + "." + dm.estensione; // allegato.allegato = streamDoc; // modMSGmail.allegato.Add(allegato); //} modMSGmail.oggetto = oggetto; modMSGmail.corpoMsg = corpoMessaggio; Mittente mitt = new Mittente(); //mitt.EmailMittente = dtn.GetEmailByIdDipendente(idMittenteLogato); //decimal id_dip = dtn.RestituisciIDdestinatarioDaEmail(mitt.EmailMittente); if (uam?.idDipendente > 0) { DipendentiModel dmod = dtn.RestituisciDipendenteByID(uam.idDipendente, db); mitt.Nominativo = dmod.nome + " " + dmod.cognome; mitt.EmailMittente = dmod.email; } else { mitt.Nominativo = uam.nominativo; mitt.EmailMittente = uam.eMail; } decimal idDestinatario = dtn.Restituisci_ID_Destinatario(idTrasferimento); string nome_ = dtn.RestituisciDipendenteByID(idDestinatario, db).nome; string cognome_ = dtn.RestituisciDipendenteByID(idDestinatario, db).cognome; string nominativo_ = nome_ + " " + cognome_; dest = new Destinatario(); dest.EmailDestinatario = dtn.GetEmailByIdDipendente(idDestinatario); dest.Nominativo = nominativo_; modMSGmail.destinatario.Add(dest); //il mittente deve anche ricevere in coppia la mail destToCc = new Destinatario(); destToCc.EmailDestinatario = mitt.EmailMittente; string nominativo_c = mitt.Nominativo; destToCc.Nominativo = nominativo_c; modMSGmail.cc.Add(destToCc); //Qui mi assicuro che tutti gli amminsitratori siano inclusi in ToCc //var lls = dtn.GetListaDipendentiAutorizzati((decimal)EnumRuoloAccesso.Amministratore); //foreach (var x in lls) //{ // bool found = false; // if (modMSGmail.cc.Count != 0) // { // var tmp = modMSGmail.cc.Where(a => a.EmailDestinatario.ToUpper().Trim() == x.email.ToUpper().Trim()).ToList(); // if (tmp.Count() != 0) found = true; // } // if (found == false) // { // destToCc = new Destinatario(); // string nome_cc = x.nome; // string cognome_cc = x.cognome; // destToCc.EmailDestinatario = x.email; // string nominativo_cc = nome_cc + " " + cognome_cc; // destToCc.Nominativo = nominativo_cc; // modMSGmail.cc.Add(destToCc); // } //} /////////////////////////////////////////////////////// modMSGmail.mittente = mitt; gmail.sendMail(modMSGmail); } } }
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 })); } }