public static string CategoriaNotiziaToString(CategoriaNotiziaEnum valore)
        {
            string result = "";

            switch (valore)
            {
            case CategoriaNotiziaEnum.Nessuna:
                result = DizionarioService.SITO_CategoriaNotiziaNessuna;
                break;

            case CategoriaNotiziaEnum.EventiENotizie:
                result = DizionarioService.SITO_CategoriaNotiziaEventiENotizie;
                break;

            case CategoriaNotiziaEnum.LaDirezioneInforma:
                result = DizionarioService.SITO_CategoriaNotiziaLaDirezioneInforma;
                break;

            case CategoriaNotiziaEnum.AreaGiuridica:
                result = DizionarioService.SITO_CategoriaNotiziaAreaGiuridica;
                break;

            case CategoriaNotiziaEnum.UltimiProvvedimenti:
                result = DizionarioService.SITO_CategoriaNotiziaUltimiProvvedimenti;
                break;

            default:
                break;
            }

            return(result);
        }
        public ActionResult DettaglioNotizieFeed(string categoria, int id)
        {
            ActionResult result = null;
            string       action = "";

            CategoriaNotiziaEnum cat = CategoriaNotiziaEnum.Nessuna;

            if (Enum.IsDefined(typeof(CategoriaNotiziaEnum), categoria))
            {
                cat = (CategoriaNotiziaEnum)Enum.Parse(typeof(CategoriaNotiziaEnum), categoria);

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

                case CategoriaNotiziaEnum.EventiENotizie:
                    action = "DettaglioNotizia";
                    break;

                case CategoriaNotiziaEnum.LaDirezioneInforma:
                    action = "DettaglioDirezione";
                    break;

                case CategoriaNotiziaEnum.AreaGiuridica:
                    action = "DettaglioAreaGiuridica";
                    break;

                case CategoriaNotiziaEnum.UltimiProvvedimenti:
                    action = "DettaglioUltimiProvvedimenti";
                    break;

                default:
                    break;
                }
            }

            if (!string.IsNullOrWhiteSpace(action))
            {
                result = RedirectToActionPermanent(action, new { id = id });
            }
            else
            {
                result = HttpNotFound();
            }

            return(result);
        }
        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));
        }
Exemple #4
0
        public static string VANotizia(int notiziaID, CategoriaNotiziaEnum categoria)
        {
            string url = null;

            string action = "";

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

            case CategoriaNotiziaEnum.EventiENotizie:
                action = "DettaglioNotizia";
                break;

            case CategoriaNotiziaEnum.LaDirezioneInforma:
                action = "DettaglioDirezione";
                break;

            case CategoriaNotiziaEnum.AreaGiuridica:
                action = "DettaglioAreaGiuridica";
                break;

            case CategoriaNotiziaEnum.UltimiProvvedimenti:
                action = "DettaglioUltimiProvvedimenti";
                break;

            case CategoriaNotiziaEnum.OsservatorioILVA:
                action = "OsservatorioILVA";
                break;

            default:
                break;
            }

            string basePath = VASite(CultureHelper.GetCurrentCultureInfo() + "/Comunicazione/" + action + "/");

            url = basePath + notiziaID.ToString(CultureInfo.InvariantCulture);

            return(url);
        }
        //
        // GET: /Feed/


        public ActionResult Notizie(string categoria)
        {
            ActionResult result = HttpNotFound();

            CategoriaNotiziaEnum c = CategoriaNotiziaEnum.Nessuna;

            if (Enum.TryParse(categoria, out c) && c != CategoriaNotiziaEnum.Nessuna)
            {
                List <Notizia> notizie      = null;
                int            numeroTotale = 0;

                notizie = NotiziaRepository.Instance.RecuperaNotizie("", (int)c, true, StatoNotiziaEnum.Pubblicabile, 0, 20, out numeroTotale);

                result = Content(CreaTipologiaNotiziaRss(notizie, c), "text/xml", Encoding.UTF8);

                return(result);
            }
            else
            {
                return(View("NotFound"));
            }
        }
        private string CreaTipologiaNotiziaRss(List <Notizia> notizie, CategoriaNotiziaEnum categoria)
        {
            XmlDocument doc = new XmlDocument();

            doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", "yes"));
            CultureInfo ci = CultureHelper.GetCurrentCultureInfo();

            // rss
            XmlElement root = doc.CreateElement("rss");

            root.Attributes.Append(doc.CreateAttribute("version"));
            root.Attributes["version"].Value = "2.0";

            // channel
            XmlElement channel = doc.CreateElement("channel");

            channel.AppendChild(doc.CreateElement("title"));
            channel.GetElementsByTagName("title")[0].InnerText = "www.va.minambiente.it - " + EnumUtility.CategoriaNotiziaToString(categoria);
            channel.AppendChild(doc.CreateElement("description"));
            channel.GetElementsByTagName("description")[0].InnerText = EnumUtility.CategoriaNotiziaToString(categoria) + " - www.va.minambiente.it " + DizionarioService.SITO_TitoloParte1 + " " + DizionarioService.SITO_TitoloParte2;
            channel.AppendChild(doc.CreateElement("link"));
            channel.GetElementsByTagName("link")[0].InnerText = UrlUtility.VASite(ci.Name + "/Comunicazione/ElencoNotizieFeed/" + categoria.ToString());
            channel.AppendChild(doc.CreateElement("copyright"));
            channel.GetElementsByTagName("copyright")[0].InnerText = string.Format("Copyright {0:yyyy}, " + DizionarioService.SITO_TitoloParte1, DateTime.Today);
            channel.AppendChild(doc.CreateElement("language"));
            channel.GetElementsByTagName("language")[0].InnerText = CultureHelper.GetCurrentCultureInfo().ToString();
            channel.AppendChild(doc.CreateElement("managingEditor"));
            channel.GetElementsByTagName("managingEditor")[0].InnerText = "*****@*****.**";
            channel.AppendChild(doc.CreateElement("webMaster"));
            channel.GetElementsByTagName("webMaster")[0].InnerText = "*****@*****.**";
            channel.AppendChild(doc.CreateElement("category"));
            channel.GetElementsByTagName("category")[0].InnerText = EnumUtility.CategoriaNotiziaToString(categoria);

            if (notizie.Count() > 0)
            {
                channel.AppendChild(doc.CreateElement("pubDate"));
                channel.GetElementsByTagName("pubDate")[0].InnerText = notizie[0].DataUltimaModifica.ToString(@"ddd, d MMM yyyy HH\:mm\:ss", System.Globalization.CultureInfo.InvariantCulture) + " GMT";

                channel.AppendChild(doc.CreateElement("lastBuildDate"));
                channel.GetElementsByTagName("lastBuildDate")[0].InnerText = notizie[0].DataUltimaModifica.ToString(@"ddd, d MMM yyyy HH\:mm\:ss", System.Globalization.CultureInfo.InvariantCulture) + " GMT";
            }

            foreach (Notizia contenuto in notizie.OrderByDescending(x => x.Data))
            {
                XmlElement item = doc.CreateElement("item");

                item.AppendChild(doc.CreateElement("guid"));
                item.GetElementsByTagName("guid")[0].InnerText = UrlUtility.VASite(ci.Name + "/Comunicazione/NotiziaFeed/" + categoria.ToString() + "/" + contenuto.ID);

                item.AppendChild(doc.CreateElement("title"));
                item.GetElementsByTagName("title")[0].InnerText = contenuto.GetTitolo();

                item.AppendChild(doc.CreateElement("link"));
                item.GetElementsByTagName("link")[0].InnerText = UrlUtility.VASite(ci.Name + "/Comunicazione/NotiziaFeed/" + categoria.ToString() + "/" + contenuto.ID);

                item.AppendChild(doc.CreateElement("description"));
                item.GetElementsByTagName("description")[0].InnerText = contenuto.GetAbstract();

                item.AppendChild(doc.CreateElement("pubDate"));
                item.GetElementsByTagName("pubDate")[0].InnerText = contenuto.DataUltimaModifica.ToString(@"ddd, d MMM yyyy HH\:mm\:ss", System.Globalization.CultureInfo.InvariantCulture) + " GMT";

                item.AppendChild(doc.CreateElement("category"));
                item.GetElementsByTagName("category")[0].InnerText = EnumUtility.CategoriaNotiziaToString(categoria);

                channel.AppendChild(item);
            }

            root.AppendChild(channel);
            doc.AppendChild(root);

            return(doc.OuterXml);
        }