Exemplo n.º 1
0
        public ActionResult EditaSezione(int id)
        {
            ActionResult            result = null;
            WidgetSezioneEditaModel model  = new WidgetSezioneEditaModel();
            Widget widget = null;

            widget = WidgetRepository.Instance.RecuperaWidget(id);

            if (widget != null)
            {
                model.Widget = widget;

                model.ID           = id;
                model.EditaNome_IT = widget.Nome_IT;
                model.EditaNome_EN = widget.Nome_EN;

                if (!String.IsNullOrEmpty(widget.Contenuto_IT))
                {
                    if (widget.VoceMenuID == null)
                    {
                        foreach (Match match in new Regex(@"<a.*?href=(""|')(?<href>.*?)(""|').*?>(?<value>.*?)</a>").Matches(widget.Contenuto_IT))
                        {
                            model.EditaLinkIT = match.Groups["href"].Value;
                        }
                    }
                    foreach (Match match in new Regex(@"<img.*?src=(""|')(?<src>.*?)(""|').*?").Matches(widget.Contenuto_IT))
                    {
                        model.EditaIcona = match.Groups["src"].Value;
                    }
                }
                if (!String.IsNullOrEmpty(widget.Contenuto_EN))
                {
                    if (widget.VoceMenuID == null)
                    {
                        foreach (Match match in new Regex(@"<a.*?href=(""|')(?<href>.*?)(""|').*?>(?<value>.*?)</a>").Matches(widget.Contenuto_IT))
                        {
                            model.EditaLinkEN = match.Groups["href"].Value;
                        }
                    }
                    foreach (Match match in new Regex(@"<img.*?src=(""|')(?<src>.*?)(""|').*?").Matches(widget.Contenuto_IT))
                    {
                        model.EditaIcona = match.Groups["src"].Value;
                    }
                }
                model.SelezioneLinkVoce  = widget.VoceMenuID != null ? "voce" : "link";
                model.EditaVoceMenuID    = widget.VoceMenuID;
                model.VociMenuSelectList = ModelUtils.CreaVociMenuSelectList(true).OrderBy(x => x.Text);
                model.IconeList          = ModelUtils.CreaIconeList();
                result = View(model);
            }
            else
            {
                result = HttpNotFound();
            }

            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult CreaSezione()
        {
            WidgetSezioneEditaModel model = new WidgetSezioneEditaModel();

            model.VociMenuSelectList = ModelUtils.CreaVociMenuSelectList(true).OrderBy(x => x.Text);
            model.SelezioneLinkVoce  = "voce";
            model.IconeList          = ModelUtils.CreaIconeList();

            return(View("EditaSezione", model));
        }
Exemplo n.º 3
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);
        }