Beispiel #1
0
        private VoceMenu RiempiIstanza(SqlDataReader dr)
        {
            if (dr == null)
            {
                throw new ArgumentNullException("dr");
            }

            VoceMenu voceMenu = new VoceMenu();

            voceMenu.ID               = dr.GetInt32(0);
            voceMenu.GenitoreID       = dr.GetInt32(1);
            voceMenu.TipoMenu         = dr.GetInt32(2);
            voceMenu._nome_IT         = dr.GetString(3);
            voceMenu._nome_EN         = dr.GetString(4);
            voceMenu._descrizione_IT  = dr.GetString(5);
            voceMenu._descrizione_EN  = dr.GetString(6);
            voceMenu.Sezione          = dr.GetString(7);
            voceMenu.Voce             = dr.GetString(8);
            voceMenu.Link             = dr.GetBoolean(9);
            voceMenu.Editabile        = dr.GetBoolean(10);
            voceMenu.VisibileFrontEnd = dr.GetBoolean(11);
            voceMenu.VisibileMappa    = dr.GetBoolean(12);
            voceMenu.WidgetAbilitati  = dr.GetBoolean(13);
            voceMenu.Ordine           = dr.GetInt32(14);

            return(voceMenu);
        }
        public PaginaStatica CreaPaginaStatica(VoceMenu voceMenu, string testo_IT, string testo_EN)
        {
            PaginaStatica paginaStatica = null;

            if (string.IsNullOrWhiteSpace(testo_IT))
            {
                throw new ArgumentException("L'argomento non può essere null, vuoto o contenere solo spazi.", "testo_IT");
            }

            if (string.IsNullOrWhiteSpace(testo_EN))
            {
                throw new ArgumentException("L'argomento non può essere null, vuoto o contenere solo spazi.", "testo_EN");
            }

            if (voceMenu == null)
            {
                throw new ArgumentNullException("L'argomento non può essere null, vuoto o contenere solo spazi.", "voceMenu");
            }

            paginaStatica    = new PaginaStatica();
            paginaStatica.ID = 0;
            paginaStatica.DataInserimento    = DateTime.Now;
            paginaStatica.DataUltimaModifica = paginaStatica.DataInserimento;

            paginaStatica.VoceMenu = voceMenu;
            paginaStatica.Testo_IT = testo_IT;
            paginaStatica.Testo_EN = testo_EN;

            return(paginaStatica);
        }
        public ActionResult Breadcrumbs()
        {
            SharedBreadcrumbsModel model = new SharedBreadcrumbsModel();

            VoceMenu        voce     = null;
            List <VoceMenu> vociMenu = new List <VoceMenu>();

            string nomeSezione = nomeSezione = HttpContext.Request.RequestContext.RouteData.Values["Controller"].ToString();
            string nomeVoce    = HttpContext.Request.RequestContext.RouteData.Values["Action"].ToString();

            if (nomeSezione.Equals("Pagine"))
            {
                nomeSezione = Request.RequestContext.RouteData.Values["nomeSezione"].ToString();
                nomeVoce    = Request.RequestContext.RouteData.Values["nomeVoce"].ToString();
            }

            voce = VoceMenuRepository.Instance.RecuperaVoceMenu(nomeVoce);

            if (voce != null)
            {
                vociMenu = VoceMenuRepository.Instance.RecuperaGenitori(voce);
            }

            model.Genitori = vociMenu.Distinct();
            model.Voce     = voce;

            return(PartialView(model));
        }
        public ActionResult EditaWidget(int id)
        {
            ActionResult  result   = null;
            VoceMenu      voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu(id);
            PaginaStatica pagina   = null;

            if (voceMenu != null)
            {
                PaginaEditaWidgetModel model = new PaginaEditaWidgetModel();
                pagina = PaginaStaticaRepository.Instance.RecuperaPaginaStatica(id);
                int c = 0;

                model.ID              = id;
                model.VoceMenu        = voceMenu;
                model.Pagina          = pagina;
                model.WidgetCorrelati = WidgetCorrelatoRepository.Instance.RecuperaWidgetCorrelati(id);
                model.Widget          = WidgetRepository.Instance.RecuperaWidget("", null, 0, 666, out c);

                result = View(model);
            }
            else
            {
                result = HttpNotFound();
            }

            return(result);
        }
        // GET: /Pagine/
        public ActionResult Voce(string nomeSezione, string nomeVoce)
        {
            ActionResult           result        = null;
            PagineVoceModel        model         = new PagineVoceModel();
            VoceMenu               voceMenu      = null;
            PaginaStatica          paginaStatica = null;
            List <WidgetCorrelato> widget        = new List <WidgetCorrelato>();

            voceMenu = VoceMenuRepository.Instance.RecuperaVociMenu().SingleOrDefault(x => x.Sezione.Equals(nomeSezione, StringComparison.InvariantCultureIgnoreCase) && x.Voce.Equals(nomeVoce, StringComparison.InvariantCultureIgnoreCase));

            if (voceMenu != null)
            {
                paginaStatica = PaginaStaticaRepository.Instance.RecuperaPaginaStatica(voceMenu.ID);
                widget        = WidgetCorrelatoRepository.Instance.RecuperaWidgetCorrelati(voceMenu.ID);

                model.PaginaStatica = paginaStatica;
                model.VoceMenu      = voceMenu;
                model.Widget        = widget;
                result = View(model);
            }
            else
            {
                result = HttpNotFound();
            }

            return(result);
        }
Beispiel #6
0
        //
        // GET: /ProvvedimentiRegionali/

        public ActionResult ProvvedimentiElenco(ProcedureProvvedimentiElencoModel model, Int32 proceduraID = 0, Int32 TipologiaID = 0)
        {
            VoceMenu voce = VoceMenuRepository.Instance.RecuperaVoceMenu("ProvvedimentiElenco");

            model.VoceMenu          = voce;
            model.TipoProvvedimento = null;

            DateTime?dataDa = null;
            DateTime?dataA  = null;

            dataDa = Parse.ToDateTimeOrNull(model.DataDa, "dd-MM-yyyy");
            dataA  = Parse.ToDateTimeOrNull(model.DataA, "dd-MM-yyyy");

            int totale = 0;

            model.ProcedureSelectList = ModelUtils.CreaProceduraSelectList(MacroTipoOggettoEnum.Aia, true);
            model.CategorieInstallazioneSelectList = ModelUtils.CreaCategoriaSelectList(true);

            model.Risorse = ProvvedimentoRepository.Instance.RecuperaProvvedimentiRegionali(CultureHelper.GetCurrentCultureShortName(),
                                                                                            model.Testo, dataDa, dataA,
                                                                                            proceduraID,
                                                                                            TipologiaID,
                                                                                            model.IndiceInizio,
                                                                                            model.IndiceInizio + model.DimensionePagina,
                                                                                            out totale);

            model.TotaleRisultati = totale;

            return(View("ProvvedimentiElenco", model));
        }
Beispiel #7
0
        public async void GetNotificheAsync()
        {
            IsBusy = true;
            try
            {
                for (int i = 0; i < MenuElementi.Count - 1; i++)
                {
                    string tipo = "";
                    if (MenuElementi[i].Codice == "LISTA_PRELIEVI")
                    {
                        tipo = "PRELIEVO";
                    }
                    if (MenuElementi[i].Codice == "LISTA_MOVIMENTI")
                    {
                        tipo = "CHIUSURA";
                    }
                    if (string.IsNullOrEmpty(tipo))
                    {
                        continue;
                    }

                    EnvelopResponse resp          = null;
                    string          resultContent = "";

                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(Settings.UrlSettings);
                        var content = new FormUrlEncodedContent(new[]
                        {
                            new KeyValuePair <string, string>("CodiceUtente", Settings.UserSettings),
                            new KeyValuePair <string, string>("Tipo", tipo)
                        });
                        var result = await client.PostAsync("/Integrazioni/GetNumeroAssegnazioni", content);

                        resultContent = await result.Content.ReadAsStringAsync();
                    }

                    if (!string.IsNullOrEmpty(resultContent))
                    {
                        resp = JsonConvert.DeserializeObject <EnvelopResponse>(resultContent);
                    }

                    if (resp != null)
                    {
                        NotificaResult docs  = JsonConvert.DeserializeObject <NotificaResult>(resp.data.ToString());
                        var            nuovo = new VoceMenu(MenuElementi[i].Codice, MenuElementi[i].Descrizione, docs.NumeroNotifica);
                        MenuElementi.RemoveAt(i);
                        MenuElementi.Insert(i, nuovo);
                    }
                }
            }
            catch (Exception ex)
            {
                var errore = ex.StackTrace.ToString();
            }
            finally
            {
                IsBusy = false;
            }
        }
Beispiel #8
0
        private List <VoceMenu> RecuperaVociMenuPrivate()
        {
            List <VoceMenu> vociMenu = new List <VoceMenu>();

            SqlServerExecuteObject sseo = null;
            SqlDataReader          dr   = null;

            string sSql = @"SELECT TOP (2000) VoceMenuID, GenitoreID, TipoMenu, Nome_IT, Nome_EN, Descrizione_IT, Descrizione_EN, 
                Sezione, Voce, Link, Editabile, VisibileFrontEnd, VisibileMappa, WidgetAbilitati, Ordine FROM dbo.TBL_UI_VociMenu ORDER BY Ordine ASC;";

            sseo             = new SqlServerExecuteObject();
            sseo.CommandText = sSql;
            sseo.CommandType = CommandType.Text;

            dr = SqlProvider.ExecuteReaderObject(sseo);

            while (dr.Read())
            {
                VoceMenu voceMenu = RiempiIstanza(dr);
                vociMenu.Add(voceMenu);
            }

            if (dr != null)
            {
                dr.Close();
                dr.Dispose();
            }

            return(vociMenu);
        }
        public ActionResult Edita(int id)
        {
            ActionResult     result   = null;
            PaginaEditaModel model    = new PaginaEditaModel();
            PaginaStatica    pagina   = null;
            VoceMenu         voceMenu = null;

            voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu(id);

            if (voceMenu != null)
            {
                pagina = PaginaStaticaRepository.Instance.RecuperaPaginaStatica(voceMenu.ID);
            }

            if (pagina != null)
            {
                model.Pagina   = pagina;
                model.VoceMenu = voceMenu;

                model.ID            = id;
                model.EditaTesto_IT = UrlUtility.VAHtmlReplacePseudoUrls(pagina.GetTesto("it"));
                model.EditaTesto_EN = UrlUtility.VAHtmlReplacePseudoUrls(pagina.GetTesto("en"));

                result = View(model);
            }
            else
            {
                result = HttpNotFound();
            }

            return(View(model));
        }
        public ActionResult DettaglioArchivioProvvedimenti(int id)
        {
            ActionResult result   = null;
            VoceMenu     voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu("DettaglioArchivioProvvedimenti");

            result = Dettaglio(id, voceMenu);
            return(result);
        }
        public ActionResult DettaglioAreaGiuridica(int id)
        {
            ActionResult result   = null;
            VoceMenu     voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu("DettaglioAreaGiuridica");

            result = Dettaglio(id, voceMenu);
            return(result);
        }
        public ActionResult OsservatorioILVA(int id)
        {
            ActionResult result   = null;
            VoceMenu     voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu("DettaglioNotizia");

            result = Dettaglio(id, voceMenu);
            return(result);
        }
        public ActionResult DettaglioDirezione(int id)
        {
            ActionResult result   = null;
            VoceMenu     voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu("DettaglioDirezione");

            result = Dettaglio(id, voceMenu);
            return(result);
        }
        public ActionResult Mappa()
        {
            HomeMappaModel model = new HomeMappaModel();
            VoceMenu       voce  = VoceMenuRepository.Instance.RecuperaVoceMenu("Mappa");

            model.VoceMenu = voce;

            return(View(model));
        }
        public ActionResult AIAregionali()
        {
            CollegamentiVasViaRegioniModel model = new CollegamentiVasViaRegioniModel();
            VoceMenu voce = VoceMenuRepository.Instance.RecuperaVoceMenu("AIAregionali");

            model.VoceMenu = voce;

            return(View(model));
        }
        public ActionResult Feed()
        {
            HomeFeedModel model = new HomeFeedModel();
            VoceMenu      voce  = VoceMenuRepository.Instance.RecuperaVoceMenu("Feed");

            model.Widget = WidgetCorrelatoRepository.Instance.RecuperaWidgetCorrelati(voce.ID);

            model.VoceMenu = voce;

            return(View(model));
        }
        public ActionResult DomandeFrequenti()
        {
            ComunicazioneCittadinoModel model = new ComunicazioneCittadinoModel();
            VoceMenu voce = VoceMenuRepository.Instance.RecuperaVoceMenu("cittadino");

            List <WidgetCorrelato> widget = new List <WidgetCorrelato>();

            model.VoceMenu = voce;
            model.Links    = VoceMenuRepository.Instance.RecuperaVociMenuFigliFrontEnd(voce.ID);

            return(View(model));
        }
        public ActionResult Proponente()
        {
            ComunicazioneProponenteModel model = new ComunicazioneProponenteModel();
            VoceMenu voce = VoceMenuRepository.Instance.RecuperaVoceMenu("proponente");

            List <WidgetCorrelato> widget = new List <WidgetCorrelato>();

            model.VoceMenu = voce;
            model.Links    = VoceMenuRepository.Instance.RecuperaVociMenuFigliFrontEnd(voce.ID);

            return(View(model));
        }
        private ActionResult ElencoNotizie(ComunicazioneNotizieModel model, CategoriaNotiziaEnum categoriaEnum)
        {
            int categoriaID            = (int)categoriaEnum;
            CategoriaNotizia categoria = CategoriaNotiziaRepository.Instance.RecuperaCategoriaNotizia(categoriaID);
            int totale = 0;

            List <Notizia> notizie = NotiziaRepository.Instance.RecuperaNotizie(CultureHelper.GetCurrentCultureShortName(), model.Testo, null, null, categoria.ID, true, StatoNotiziaEnum.Pubblicabile, model.IndiceInizio, model.IndiceInizio + model.DimensionePagina, out totale);

            model.Notizie         = notizie;
            model.Categoria       = categoria;
            model.TotaleRisultati = totale;

            switch (categoriaEnum)
            {
            case CategoriaNotiziaEnum.Nessuna:
                break;

            case CategoriaNotiziaEnum.EventiENotizie:
                model.ActionDettaglio = "DettaglioNotizia";
                model.ActionAttuale   = "EventiNotizie";
                break;

            case CategoriaNotiziaEnum.LaDirezioneInforma:
                model.ActionDettaglio = "DettaglioDirezione";
                model.ActionAttuale   = "DirezioneInforma";
                break;

            case CategoriaNotiziaEnum.AreaGiuridica:
                model.ActionDettaglio = "DettaglioAreaGiuridica";
                model.ActionAttuale   = "AreaGiuridica";
                break;

            case CategoriaNotiziaEnum.UltimiProvvedimenti:
                model.ActionDettaglio = "DettaglioUltimiProvvedimenti";
                model.ActionAttuale   = "UltimiProvvedimenti";
                break;

            default:
                break;
            }

            VoceMenu voce = VoceMenuRepository.Instance.RecuperaVoceMenu(model.ActionAttuale);

            model.VoceMenu = voce;

            return(View("NotizieElenco", model));
        }
        public ActionResult UltimiProvvedimenti(ComunicazioneProvvedimentiModel model)
        {
            model.AnnoInCorso = true;
            model.Anno        = DateTime.Now.Year;
            int totale = 0;

            List <Notizia> notizie = NotiziaRepository.Instance.RecuperaNotizie(CultureHelper.GetCurrentCultureShortName(), model.Testo, model.AnnoInCorso, model.Anno, (int)CategoriaNotiziaEnum.UltimiProvvedimenti, true, StatoNotiziaEnum.Pubblicabile, model.IndiceInizio, model.IndiceInizio + model.DimensionePagina, out totale);

            model.Notizie         = notizie;
            model.TotaleRisultati = totale;

            VoceMenu voce = VoceMenuRepository.Instance.RecuperaVoceMenu("UltimiProvvedimenti");

            model.VoceMenu = voce;

            return(View(model));
        }
Beispiel #21
0
        private TipoAttributo RiempiIstanza(SqlDataReader dr, List <VoceMenu> vociMenu)
        {
            if (dr == null)
            {
                throw new ArgumentNullException("dr");
            }

            TipoAttributo tipoAttributo = new TipoAttributo();
            VoceMenu      voceMenu      = vociMenu.FirstOrDefault(x => x.ID == dr.GetInt32(4));

            tipoAttributo.ID       = dr.GetInt32(0);
            tipoAttributo._nome_IT = dr.IsDBNull(1) ? "" : dr.GetString(1);
            tipoAttributo._nome_EN = dr.IsDBNull(2) ? "" : dr.GetString(2);
            tipoAttributo.Ordine   = dr.GetInt32(3);
            tipoAttributo.VoceMenu = voceMenu;

            return(tipoAttributo);
        }
        public ActionResult Edita(PaginaEditaModel model)
        {
            ActionResult  result   = null;
            PaginaStatica pagina   = null;
            VoceMenu      voceMenu = null;

            voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu(model.ID);

            if (ModelState.IsValid)
            {
                int id = 0;
                ContenutoService cs = new ContenutoService();

                if (model.ID != 0)
                {
                    pagina          = PaginaStaticaRepository.Instance.RecuperaPaginaStatica(model.ID);
                    pagina.Testo_IT = UrlUtility.VAHtmlReplaceRealUrls(model.EditaTesto_IT);
                    pagina.Testo_EN = UrlUtility.VAHtmlReplaceRealUrls(model.EditaTesto_EN);
                }
                else
                {
                    pagina = cs.CreaPaginaStatica(voceMenu, UrlUtility.VAHtmlReplaceRealUrls(model.EditaTesto_IT), UrlUtility.VAHtmlReplaceRealUrls(model.EditaTesto_EN));
                }

                id = cs.SalvaPaginaStatica(pagina);

                result = RedirectToAction("Edita", new { id = model.ID });
            }
            else
            {
                if (model.ID != 0)
                {
                    pagina       = PaginaStaticaRepository.Instance.RecuperaPaginaStatica(model.ID);
                    model.Pagina = pagina;
                }

                model.VoceMenu = voceMenu;

                result = View(model);
            }

            return(result);
        }
        private ActionResult Dettaglio(int id, VoceMenu voceMenu)
        {
            ActionResult result = null;

            ComunicazioneDettaglioModel model = new ComunicazioneDettaglioModel();
            Notizia notizia = NotiziaRepository.Instance.RecuperaNotizia(id);

            if (notizia != null && notizia.Pubblicata)
            {
                model.Notizia  = notizia;
                model.VoceMenu = voceMenu;
                result         = View("Dettaglio", model);
            }
            else
            {
                result = HttpNotFound();
            }

            return(result);
        }
        public ActionResult EditaWidget(PaginaEditaWidgetModel model)
        {
            ActionResult result   = null;
            VoceMenu     voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu(model.ID);

            if (voceMenu != null)
            {
                List <WidgetCorrelato> editaWidget = new List <WidgetCorrelato>();

                if (model.EditaWidget != null && model.EditaWidget.Length > 0)
                {
                    int c = 1;
                    foreach (int i in model.EditaWidget)
                    {
                        if (!editaWidget.Exists(x => x.WidgetID == i))
                        {
                            editaWidget.Add(new WidgetCorrelato()
                            {
                                VoceMenuID = model.ID, WidgetID = i, Ordine = c
                            });
                            c++;
                        }
                    }
                }

                WidgetCorrelatoRepository.Instance.Elimina(model.ID);

                foreach (WidgetCorrelato w in editaWidget)
                {
                    WidgetCorrelatoRepository.Instance.InserisciWidgetCorrelato(w);
                }

                result = RedirectToAction("EditaWidget", new { id = model.ID });
            }
            else
            {
                result = HttpNotFound();
            }

            return(result);
        }
        public ActionResult Crea(int id)
        {
            PaginaEditaModel model  = new PaginaEditaModel();
            ActionResult     result = null;

            VoceMenu voceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu(id);

            if (voceMenu != null)
            {
                model.ID            = id;
                model.VoceMenu      = voceMenu;
                model.EditaTesto_IT = null;
                model.EditaTesto_EN = null;
                result = View("Edita", model);
            }
            else
            {
                result = RedirectToAction("Index");
            }

            return(result);
        }
        public ActionResult StudiIndaginiPS(string nomeSezione, string nomeVoce)
        {
            ActionResult    result        = null;
            PagineVoceModel model         = new PagineVoceModel();
            VoceMenu        voceMenu      = null;
            PaginaStatica   paginaStatica = null;

            voceMenu = VoceMenuRepository.Instance.RecuperaVociMenu().SingleOrDefault(x => x.Sezione.Equals(nomeSezione, StringComparison.InvariantCultureIgnoreCase) && x.Voce.Equals(nomeVoce, StringComparison.InvariantCultureIgnoreCase));

            if (voceMenu != null)
            {
                paginaStatica = PaginaStaticaRepository.Instance.RecuperaPaginaStatica(voceMenu.ID);

                model.PaginaStatica = paginaStatica;
                model.VoceMenu      = voceMenu;
                result = PartialView(model);
            }
            else
            {
                result = HttpNotFound();
            }

            return(result);
        }
Beispiel #27
0
        public List <VoceMenu> RecuperaGenitori(VoceMenu voce)
        {
            List <VoceMenu> genitori = new List <VoceMenu>();

            genitori.Add(voce);
            VoceMenu genitore = RecuperaVoceMenu(voce.GenitoreID);

            while (genitore != null)
            {
                genitori.Add(genitore);
                genitore = RecuperaVoceMenu(genitore.GenitoreID);
            }

            VoceMenu voceHome = RecuperaVoceMenu(1);

            if (voceHome != null)
            {
                genitori.Add(voceHome);
            }

            genitori.Reverse();

            return(genitori);
        }
Beispiel #28
0
        public ActionResult EditaSezione(WidgetSezioneEditaModel model)
        {
            ActionResult result = null;
            Widget       widget = null;


            if (model.SelezioneLinkVoce.Equals("link") && string.IsNullOrEmpty(model.EditaLinkIT))
            {
                ModelState.AddModelError("EditaLinkIT", "Link diretto IT obbligatorio");
            }
            if (model.SelezioneLinkVoce.Equals("link") && string.IsNullOrEmpty(model.EditaLinkEN))
            {
                ModelState.AddModelError("EditaLinkEN", "Link diretto EN obbligatorio");
            }
            if (model.SelezioneLinkVoce.Equals("voce") && model.EditaVoceMenuID == null)
            {
                ModelState.AddModelError("EditaVoceMenuID", "Voce menu obbligatoria");
            }

            if (ModelState.IsValid)
            {
                int id = 0;
                ContenutoService cs = new ContenutoService();

                if (model.ID != 0)
                {
                    widget = WidgetRepository.Instance.RecuperaWidget(model.ID);
                }
                else
                {
                    widget = cs.CreaWidget(model.EditaNome_IT.Trim(), TipoWidget.Sezione);
                }

                widget.Nome_IT = model.EditaNome_IT.Trim();
                widget.Nome_EN = model.EditaNome_EN.Trim();


                String linkIT = "";
                String linkEN = "";

                if (model.SelezioneLinkVoce.Equals("link"))
                {
                    widget.VoceMenuID = null;
                    linkIT            = model.EditaLinkIT.Trim();
                    linkEN            = model.EditaLinkEN.Trim();
                }
                else if (model.SelezioneLinkVoce.Equals("voce"))
                {
                    widget.VoceMenuID = model.EditaVoceMenuID;
                    VoceMenu VoceMenu = VoceMenuRepository.Instance.RecuperaVoceMenu((int)model.EditaVoceMenuID);

                    linkIT = VoceMenu.Editabile ?
                             Url.RouteUrl("PaginaStatica", new { nomeSezione = VoceMenu.Sezione, nomeVoce = VoceMenu.Voce, lang = CultureHelper._it }) :
                             Url.RouteUrl("Default", new { controller = VoceMenu.Sezione, action = VoceMenu.Voce, lang = CultureHelper._it });
                    linkEN = VoceMenu.Editabile ?
                             Url.RouteUrl("PaginaStatica", new { nomeSezione = VoceMenu.Sezione, nomeVoce = VoceMenu.Voce, lang = CultureHelper._en }) :
                             Url.RouteUrl("Default", new { controller = VoceMenu.Sezione, action = VoceMenu.Voce, lang = CultureHelper._en });
                }

                String htmlTemplate = "" +
                                      "<img src=\"{0}\" alt=\"{2}\">" +
                                      "<a href=\"{1}\">{2}</a>";
                widget.Contenuto_IT = String.Format(htmlTemplate, model.EditaIcona, linkIT.TrimStart('/'), widget.Nome_IT);
                widget.Contenuto_EN = String.Format(htmlTemplate, model.EditaIcona, linkEN.TrimStart('/'), widget.Nome_EN);

                id = cs.SalvaWidget(widget);

                result = RedirectToAction("EditaSezione", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    widget       = WidgetRepository.Instance.RecuperaWidget(model.ID);
                    model.Widget = widget;
                }
                model.VociMenuSelectList = ModelUtils.CreaVociMenuSelectList(true).OrderBy(x => x.Text);
                model.IconeList          = ModelUtils.CreaIconeList();

                result = View(model);
            }

            return(result);
        }