コード例 #1
0
        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 }));
            }
        }
コード例 #2
0
        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 }));
        }