public JsonResult ListaRuoliDipendente(string search, DateTime dtRif, decimal idTrasferimento) { try { using (ModelDBISE db = new ModelDBISE()) { using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtRuoloUfficio dtru = new dtRuoloUfficio()) { using (dtLivelliDipendente dtld = new dtLivelliDipendente()) { var t = dtt.GetTrasferimentoById(idTrasferimento); var livelloDipendenteValido = dtld.GetLivelloDipendente(t.idDipendente, dtRif); var lru = dtru.GetListRuoloUfficioByLivello(livelloDipendenteValido.idLivello); VariazioneRuoloDipendenteModel vrdm = new VariazioneRuoloDipendenteModel(); List <Select2Model> lRuoli = new List <Select2Model>(); var r = new List <Select2Model>(); if (lru != null && lru.Count > 0) { foreach (var ru in lru) { Select2Model s2 = new Select2Model() { id = ru.idRuoloUfficio.ToString(), text = ru.DescrizioneRuolo.ToString() }; r.Add(s2); } } lRuoli = r; ViewBag.lRuoli = lRuoli; return(Json(new { results = lRuoli, err = "" })); } } } } } catch (Exception ex) { return(Json(new { results = new List <Select2Model>(), err = ex.Message })); } }
public ActionResult InserisciRuoloDipendente(VariazioneRuoloDipendenteModel vrdm, decimal idTrasferimento) { try { using (ModelDBISE db = new ModelDBISE()) { using (dtRuoloDipendente dtrd = new dtRuoloDipendente()) { if (ModelState.IsValid) { db.Database.BeginTransaction(); try { #region verifica data inizio try { dtrd.VerificaDataInizioValiditaRuoloDipendente(idTrasferimento, vrdm, db); } catch (Exception ex) { using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtRuoloUfficio dtru = new dtRuoloUfficio()) { using (dtLivelliDipendente dtld = new dtLivelliDipendente()) { var t = dtt.GetTrasferimentoById(idTrasferimento); var livelloDipendenteValido = dtld.GetLivelloDipendente(t.idDipendente, vrdm.ut_dataInizioValidita.Value); var lru = dtru.GetListRuoloUfficioByLivello(livelloDipendenteValido.idLivello); List <SelectListItem> lRuoli = new List <SelectListItem>(); var r = new List <SelectListItem>(); if (lru != null && lru.Count > 0) { foreach (var ru in lru) { SelectListItem s2 = new SelectListItem() { Value = ru.idRuoloUfficio.ToString(), Text = ru.DescrizioneRuolo.ToString() }; r.Add(s2); } } lRuoli = r; ViewBag.lRuoli = lRuoli; ViewBag.idTrasferimento = idTrasferimento; var rd = dtrd.GetRuoloDipendenteByIdTrasferimento(idTrasferimento, DateTime.Now); ViewBag.RuoloAttuale = rd.RuoloUfficio.DescrizioneRuolo; ModelState.AddModelError("", ex.Message); return(PartialView("NuovoRuoloDipendente", vrdm)); } } } } #endregion vrdm.dataAggiornamento = DateTime.Now; #region modello ruolo dipendente RuoloDipendenteModel rdm = new RuoloDipendenteModel() { idTrasferimento = idTrasferimento, idRuolo = vrdm.idRuolo, dataInizioValidita = vrdm.ut_dataInizioValidita.Value, annullato = false, dataAggiornamento = vrdm.dataAggiornamento }; #endregion #region inserisce ruolo if (vrdm.chkAggiornaTutti == false) { dtrd.SetVariazioneRuoloDipendente(rdm, idTrasferimento, db); } else { //inserisce periodo e annulla i periodi successivi (fino al primo buco temporale o fino a dataRientro) dtrd.SetVariazioneRuoloDipendente_AggiornaTutti(rdm, idTrasferimento, db); } #endregion using (dtDipendenti dtd = new dtDipendenti()) { dtd.DataInizioRicalcoliDipendente(idTrasferimento, rdm.dataInizioValidita, db, false); } Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento nuovo ruolo dipendente (" + rdm.idRuolo + ")", "RUOLODIPENDENTE", db, idTrasferimento, rdm.idRuoloDipendente); db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } else { using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtRuoloUfficio dtru = new dtRuoloUfficio()) { using (dtLivelliDipendente dtld = new dtLivelliDipendente()) { var t = dtt.GetTrasferimentoById(idTrasferimento); var livelloDipendenteValido = dtld.GetLivelloDipendente(t.idDipendente, vrdm.ut_dataInizioValidita.Value); var lru = dtru.GetListRuoloUfficioByLivello(livelloDipendenteValido.idLivello); List <SelectListItem> lRuoli = new List <SelectListItem>(); var r = new List <SelectListItem>(); if (lru != null && lru.Count > 0) { foreach (var ru in lru) { SelectListItem s2 = new SelectListItem() { Value = ru.idRuoloUfficio.ToString(), Text = ru.DescrizioneRuolo.ToString() }; r.Add(s2); } } lRuoli = r; ViewBag.lRuoli = lRuoli; ViewBag.idTrasferimento = idTrasferimento; return(PartialView("NuovoRuoloDipendente", vrdm)); } } } } } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(RedirectToAction("ElencoRuoliDipendente", new { idTrasferimento = idTrasferimento })); }