コード例 #1
0
        public ActionResult Edita(NotiziaEditaModel model)
        {
            ActionResult result  = null;
            Notizia      notizia = null;

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

                categoria = CategoriaNotiziaRepository.Instance.RecuperaCategoriaNotizia(model.CategoriaNotiziaID.Value);

                if (model.ID != 0)
                {
                    notizia                = NotiziaRepository.Instance.RecuperaNotizia(model.ID);
                    notizia.Categoria      = categoria;
                    notizia.ImmagineID     = model.ImmagineID.Value;
                    notizia.Data           = model.Data;
                    notizia.Titolo_IT      = model.Titolo_IT;
                    notizia.Titolo_EN      = model.Titolo_EN;
                    notizia.TitoloBreve_IT = model.TitoloBreve_IT;
                    notizia.TitoloBreve_EN = model.TitoloBreve_EN;
                    notizia.Abstract_IT    = model.Abstract_IT;
                    notizia.Abstract_EN    = model.Abstract_EN;
                    notizia.Testo_IT       = UrlUtility.VAHtmlReplaceRealUrls(model.Testo_IT);
                    notizia.Testo_EN       = UrlUtility.VAHtmlReplaceRealUrls(model.Testo_EN);
                    //notizia.Stato = model.StatoNotizia;
                }
                else
                {
                    notizia = cs.CreaNotizia(categoria, model.ImmagineID.Value, model.Data, model.Titolo_IT, model.Titolo_EN, model.TitoloBreve_IT, model.TitoloBreve_EN, model.Abstract_IT, model.Abstract_EN, model.Testo_IT, model.Testo_EN);
                }

                id = cs.SalvaNotizia(notizia);

                result = RedirectToAction("Edita", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    notizia       = NotiziaRepository.Instance.RecuperaNotizia(model.ID);
                    model.Notizia = notizia;
                }
                model.CategorieSelectList = ModelUtils.CreaCategoriaNotiziaSelectList(true);
                model.ImmaginiSelectList  = ModelUtils.CreaImmaginiSelectList(true);
                model.StatiSelectList     = ModelUtils.CreaStatoNotiziaSelectList(false);

                result = View(model);
            }

            return(result);
        }
コード例 #2
0
        public ActionResult Edita(DocumentoPortaleEditaModel model)
        {
            ActionResult     result           = null;
            DocumentoPortale documentoPortale = null;

            if (ModelState.IsValid)
            {
                int id = 0;
                ContenutoService cs       = new ContenutoService();
                string           ext      = Path.GetExtension(model.EditaNomeFileOriginale);
                TipoFile         tipoFile = TipoFileRepository.Instance.RecuperaTipoFile(ext);

                if (model.ID != 0)
                {
                    documentoPortale         = DocumentoPortaleRepository.Instance.RecuperaDocumentoPortale(model.ID);
                    documentoPortale.Nome_IT = model.EditaNome_IT.Trim();
                    documentoPortale.Nome_EN = model.EditaNome_EN.Trim();
                }
                else
                {
                    documentoPortale = cs.CreaDocumentoPortale(model.EditaNome_IT.Trim(), model.EditaNome_EN.Trim());
                }

                if (model.EditaNuovoFile)
                {
                    documentoPortale.TipoFile          = tipoFile;
                    documentoPortale.NomeFileOriginale = model.EditaNomeFileOriginale;
                    documentoPortale.Dimensione        = model.EditaDimensione;
                }

                id = cs.SalvaDocumentoPortale(documentoPortale);


                if (model.EditaNuovoFile)
                {
                    FileUtility.VASpostaDocumentoPortaleTemp(id, model.EditaNomeFileOriginale);
                }

                result = RedirectToAction("Edita", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    documentoPortale = DocumentoPortaleRepository.Instance.RecuperaDocumentoPortale(model.ID);
                    model.Documento  = documentoPortale;
                }

                result = View(model);
            }

            return(result);
        }
コード例 #3
0
        public ActionResult EliminaCache()
        {
            ActionResult result = null;

            ContenutoService cs = new ContenutoService();

            cs.EliminaCache();

            result = RedirectToAction("Index", "Home");

            return(result);
        }
コード例 #4
0
        public ActionResult Edita(CaroselloEditaModel model)
        {
            ActionResult     result           = null;
            OggettoCarosello oggettoCarosello = null;

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

                if (model.ID != 0)
                {
                    oggettoCarosello                          = OggettoCaroselloRepository.Instance.RecuperaOggettoCarosello(model.ID);
                    oggettoCarosello.ContenutoID              = model.EditaContenutoID.Value;
                    oggettoCarosello.ImmagineID               = model.EditaImmagineID.Value;
                    oggettoCarosello.Data                     = model.EditaData;
                    oggettoCarosello.Nome_IT                  = model.EditaNome_IT;
                    oggettoCarosello.Nome_EN                  = model.EditaNome_EN;
                    oggettoCarosello.Descrizione_IT           = model.EditaDescrizione_IT;
                    oggettoCarosello.Descrizione_EN           = model.EditaDescrizione_EN;
                    oggettoCarosello.LinkProgettoCartografico = model.EditaLinkProgettoCartografico;
                    oggettoCarosello.TipoContenuto            = model.EditaTipoContenutoID;
                }
                else
                {
                    oggettoCarosello = cs.CreaOggettoCarosello(model.EditaContenutoID.Value, model.EditaTipoContenutoID, model.EditaData,
                                                               model.EditaNome_IT, model.EditaNome_EN,
                                                               model.EditaDescrizione_IT, model.EditaDescrizione_EN);
                }

                oggettoCarosello.LinkProgettoCartografico = model.EditaLinkProgettoCartografico;
                oggettoCarosello.ImmagineID = model.EditaImmagineID.Value;

                id = cs.SalvaOggettoCarosello(oggettoCarosello);

                result = RedirectToAction("Edita", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    oggettoCarosello       = OggettoCaroselloRepository.Instance.RecuperaOggettoCarosello(model.ID);
                    model.OggettoCarosello = oggettoCarosello;
                }
                model.ImmaginiSelectList = ModelUtils.CreaImmaginiCaroselloSelectList(true);

                result = View(model);
            }

            return(result);
        }
コード例 #5
0
        public JsonResult EditaStato(int id, StatoNotiziaEnum statoNotizia)
        {
            JsonResult           result     = null;
            Notizia              notizia    = NotiziaRepository.Instance.RecuperaNotizia(id);
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            List <string>        messaggi   = new List <string>();
            bool bOk = false;

            if (notizia != null)
            {
                ContenutoService cs = new ContenutoService();

                if (statoNotizia == StatoNotiziaEnum.Bozza)
                {
                    bOk = true;
                    notizia.Pubblicata = false;
                }
                else if (statoNotizia == StatoNotiziaEnum.Pubblicabile)
                {
                    messaggi = cs.NotiziaPubblicabile(notizia);
                }

                if (messaggi == null || messaggi.Count == 0)
                {
                    bOk = true;
                }

                if (bOk)
                {
                    messaggi.Insert(0, "ok");
                    notizia.Stato = statoNotizia;
                    cs.SalvaNotizia(notizia);

                    result = Json(new object[] { notizia.Pubblicata, DateTime.Now.ToString("dd/MM/yyyy HH:mm"), serializer.Serialize(messaggi) });
                }
                else
                {
                    messaggi.Insert(0, "validation errors");


                    result = Json(new object[] { notizia.Pubblicata, notizia.DataUltimaModifica.ToString("dd/MM/yyyy HH:mm"), serializer.Serialize(messaggi) });
                }
            }
            else
            {
                messaggi.Insert(0, "error");
                result = Json(new object[] { null, null, serializer.Serialize(messaggi) });
            }

            return(result);
        }
コード例 #6
0
        //
        // GET: /Admin/Notizie/

        public ActionResult Index(NotiziaIndexModel model)
        {
            ContenutoService cs = new ContenutoService();
            int    totale       = 0;
            string testo        = string.IsNullOrWhiteSpace(model.Testo) ? "" : model.Testo;

            model.DefaultImmagineID = cs.DefaultImmagineID;

            model.Notizie = NotiziaRepository.Instance.RecuperaNotizie(testo, model.CategoriaNotiziaID, model.Pubblicato, model.Stato, model.IndiceInizio, model.IndiceInizio + model.DimensionePagina, out totale);

            model.BooleanSelectList   = ModelUtils.CreaBooleanSelectList();
            model.CategoriaSelectList = ModelUtils.CreaCategoriaNotiziaSelectList(true);
            model.StatoSelectList     = ModelUtils.CreaStatoNotiziaSelectList(true);

            model.TotaleRisultati = totale;

            return(View(model));
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        public ActionResult EditaEmbed(WidgetEmbedEditaModel model)
        {
            ActionResult result = null;
            Widget       widget = null;

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

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

                widget.Nome_EN      = model.EditaNome_EN.Trim();
                widget.Contenuto_IT = UrlUtility.VAHtmlReplaceRealUrls(model.EditaContenuto_IT);
                widget.Contenuto_EN = UrlUtility.VAHtmlReplaceRealUrls(model.EditaContenuto_EN);
                widget.MostraTitolo = model.MostraTitolo.Value;

                id = cs.SalvaWidget(widget);

                result = RedirectToAction("EditaEmbed", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    widget       = WidgetRepository.Instance.RecuperaWidget(model.ID);
                    model.Widget = widget;
                }
                model.BooleanSelectList = ModelUtils.CreaBooleanSelectList();

                result = View(model);
            }

            return(result);
        }
コード例 #9
0
        public JsonResult EditaPubblicato(int id, bool editaPubblicato)
        {
            JsonResult result  = null;
            Notizia    notizia = NotiziaRepository.Instance.RecuperaNotizia(id);
            bool       bOk     = false;

            if (notizia != null)
            {
                if (!editaPubblicato)
                {
                    bOk = true;
                }
                else
                {
                    if (notizia.Stato == StatoNotiziaEnum.Pubblicabile)
                    {
                        bOk = true;
                    }
                }

                if (bOk)
                {
                    notizia.Pubblicata = editaPubblicato;

                    ContenutoService cs = new ContenutoService();
                    cs.SalvaNotizia(notizia);

                    result = Json(new object[] { notizia.Pubblicata, DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "ok" });
                }
                else
                {
                    result = Json(new object[] { notizia.Pubblicata, notizia.DataUltimaModifica.ToString("dd/MM/yyyy HH:mm"), "La notizia non può essere pubblicata perchè non è nello stato 'pubblicabile'" });
                }
            }
            else
            {
                result = Json(new object[] { null, null, "error" });
            }

            return(result);
        }
コード例 #10
0
        public ActionResult Edita(DatoAmbientaleHomeEditaModel model)
        {
            ActionResult       result             = null;
            DatoAmbientaleHome datiAmbientaleHome = null;

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

                if (model.ID != 0)
                {
                    datiAmbientaleHome            = DatoAmbientaleHomeRepository.Instance.RecuperaDatoAmbientaleHome(model.ID);
                    datiAmbientaleHome.ImmagineID = model.EditaImmagineID.Value;
                    datiAmbientaleHome.Titolo_IT  = model.EditaTitolo_IT;
                    datiAmbientaleHome.Titolo_EN  = model.EditaTitolo_EN;
                    datiAmbientaleHome.Link       = model.EditaLink;
                }
                else
                {
                    datiAmbientaleHome = cs.CreaDatoAmbientaleHome(model.EditaImmagineID.Value, model.EditaTitolo_IT.Trim(), model.EditaTitolo_EN.Trim(), model.EditaLink.Trim());
                }

                id = cs.SalvaDatoAmbientaleHome(datiAmbientaleHome);

                result = RedirectToAction("Edita", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    datiAmbientaleHome       = DatoAmbientaleHomeRepository.Instance.RecuperaDatoAmbientaleHome(model.ID);
                    model.DatoAmbientaleHome = datiAmbientaleHome;
                }
                model.ImmaginiSelectList = ModelUtils.CreaImmaginiDatoAmbientaleHomeSelectList(true);

                result = View(model);
            }

            return(result);
        }
コード例 #11
0
        public JsonResult EditaPubblicato(int id, bool editaPubblicato)
        {
            JsonResult       result           = null;
            OggettoCarosello oggettoCarosello = OggettoCaroselloRepository.Instance.RecuperaOggettoCarosello(id);

            if (oggettoCarosello != null)
            {
                oggettoCarosello.Pubblicato = editaPubblicato;

                ContenutoService cs = new ContenutoService();
                cs.SalvaOggettoCarosello(oggettoCarosello);

                result = Json(new object[] { oggettoCarosello.Pubblicato, oggettoCarosello.DataUltimaModifica.ToString("dd/MM/yyyy HH:mm") });
            }
            else
            {
                result = Json(null);
            }

            return(result);
        }
コード例 #12
0
        public ActionResult Edita(string chiave, string valore)
        {
            ActionResult result    = null;
            Variabile    variabile = VariabileRepository.Instance.RecuperaVariabile(chiave);
            string       stato     = "";

            if (variabile != null)
            {
                ContenutoService cs = new ContenutoService();

                cs.SalvaVariabile(chiave, valore);
            }
            else
            {
                stato = "La variabile non è stata trovata";
            }

            result = RedirectToAction("Index", new { stato = stato });

            return(result);
        }
コード例 #13
0
        public JsonResult EditaPubblicato(int id, bool editaPubblicato)
        {
            JsonResult         result             = null;
            DatoAmbientaleHome datiAmbientaleHome = DatoAmbientaleHomeRepository.Instance.RecuperaDatoAmbientaleHome(id);

            if (datiAmbientaleHome != null)
            {
                datiAmbientaleHome.Pubblicato = editaPubblicato;

                ContenutoService cs = new ContenutoService();
                cs.SalvaDatoAmbientaleHome(datiAmbientaleHome);

                result = Json(new object[] { datiAmbientaleHome.Pubblicato, datiAmbientaleHome.DataUltimaModifica.ToString("dd/MM/yyyy HH:mm") });
            }
            else
            {
                result = Json(null);
            }

            return(result);
        }
コード例 #14
0
        public ActionResult Edita(ImmagineEditaModel model)
        {
            ActionResult result = null;

            if (model.ID == 0 && ModelState.IsValidField("EditaFileImmagine"))
            {
                if (model.EditaFileImmagine == null || model.EditaFileImmagine.ContentLength == 0)
                {
                    ModelState.AddModelError("EditaFileImmagine", "Immagine obbligatoria.");
                }
            }

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

                if (model.ID != 0)
                {
                    if (model.EditaFileImmagine != null)
                    {
                        immagine = ImmagineRepository.Instance.RecuperaImmagine(model.ID);
                        string nomeFile = string.Format("{0}{1}", immagine.ID, System.IO.Path.GetExtension(model.EditaFileImmagine.FileName));
                        FileUtility.VASalvaImmagine(immagine.FormatoImmagine.Enum, nomeFile, model.EditaFileImmagine);
                        immagine.NomeFile = nomeFile;
                        immagine.Nome_IT  = model.EditaNome_IT.Trim();
                        immagine.Nome_EN  = model.EditaNome_EN.Trim();
                        Bitmap immagineMaster = new Bitmap(FileUtility.VAImmagine(immagine.FormatoImmagine.Enum, nomeFile));
                        immagine.Altezza   = immagineMaster.Height;
                        immagine.Larghezza = immagineMaster.Width;
                        immagineMaster.Dispose();
                    }
                    else
                    {
                        immagine         = ImmagineRepository.Instance.RecuperaImmagine(model.ID);
                        immagine.Nome_IT = model.EditaNome_IT.Trim();
                        immagine.Nome_EN = model.EditaNome_EN.Trim();
                    }
                }
                else
                {
                    immagine = cs.CreaImmagineMaster(model.EditaNome_IT.Trim(),
                                                     model.EditaNome_EN.Trim(),
                                                     "temp.file");
                }

                id       = cs.SalvaImmagine(immagine);
                immagine = ImmagineRepository.Instance.RecuperaImmagine(id);

                if (model.ID == 0)
                {
                    string nomeFile = string.Format("{0}{1}", immagine.ID, System.IO.Path.GetExtension(model.EditaFileImmagine.FileName));
                    FileUtility.VASalvaImmagine(immagine.FormatoImmagine.Enum, nomeFile, model.EditaFileImmagine);

                    Bitmap immagineMaster = new Bitmap(FileUtility.VAImmagine(immagine.FormatoImmagine.Enum, nomeFile));

                    //immagineMaster.Save(FileUtility.VAImmagineLavoro(nomeFile));

                    immagine.NomeFile  = nomeFile;
                    immagine.Altezza   = immagineMaster.Height;
                    immagine.Larghezza = immagineMaster.Width;

                    immagineMaster.Dispose();

                    cs.SalvaImmagine(immagine);
                }
                else
                {
                    List <Immagine> immaginiCollegate = ImmagineRepository.Instance.RecuperaImmaginiFiglio(immagine.ID);

                    foreach (Immagine immagineCollegata in immaginiCollegate)
                    {
                        immagineCollegata.Nome_IT = immagine.Nome_IT;
                        immagineCollegata.Nome_EN = immagine.Nome_EN;
                        cs.SalvaImmagine(immagineCollegata);
                    }
                }

                result = RedirectToAction("Edita", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    model.Immagine = ImmagineRepository.Instance.RecuperaImmagine(model.ID);
                }

                result = View(model);
            }

            return(result);
        }
コード例 #15
0
        public ActionResult EditaFormatiRidimensiona(int id, int formatoImmagineID, int w, int h)
        {
            ActionResult result         = null;
            Immagine     immagineMaster = null;

            immagineMaster = ImmagineRepository.Instance.RecuperaImmagine(id);

            if (immagineMaster != null)
            {
                FormatoImmagine formato  = FormatoImmagineRepository.Instance.RecuperaFormatoImmagine(formatoImmagineID);
                Immagine        immagine = null;

                immagine = ImmagineRepository.Instance.RecuperaImmaginiFiglio(immagineMaster.ID).FirstOrDefault(x => x.FormatoImmagine.ID == formato.ID);

                Bitmap    immagineLavoro            = null;
                Bitmap    immagineRidimensionata    = null;
                Graphics  grpImmagineRidimensionata = null;
                Rectangle rettangoloRidimensionata;

                immagineLavoro = new Bitmap(FileUtility.VAImmagineLavoro(immagineMaster.NomeFile));

                rettangoloRidimensionata = new Rectangle(0, 0, w, h);

                immagineRidimensionata = new Bitmap(w, h);

                grpImmagineRidimensionata = Graphics.FromImage((System.Drawing.Image)immagineRidimensionata);

                grpImmagineRidimensionata.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                grpImmagineRidimensionata.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                grpImmagineRidimensionata.InterpolationMode  = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

                grpImmagineRidimensionata.DrawImage((System.Drawing.Image)immagineLavoro, rettangoloRidimensionata);
                grpImmagineRidimensionata.Dispose();

                string ext = System.IO.Path.GetExtension(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile)).ToLower();

                switch (ext)
                {
                case ".jpeg":
                case ".jpg":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                case ".gif":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                case ".png":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                case ".bmp":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                default:
                    throw new ApplicationException("Formato immagine non supportato: " + ext);
                }

                immagineLavoro.Dispose();

                ContenutoService cs = new ContenutoService();

                if (immagine != null)
                {
                    immagine.NomeFile = immagineMaster.NomeFile;
                }
                else
                {
                    immagine = cs.CreaImmagine(immagineMaster, formato, immagineMaster.NomeFile);
                }

                immagine.Larghezza = immagineRidimensionata.Width;
                immagine.Altezza   = immagineRidimensionata.Height;

                immagineRidimensionata.Dispose();

                cs.SalvaImmagine(immagine);

                result = RedirectToAction("EditaFormati", new { id = immagineMaster.ID, formatoImmagineID = formato.ID });
            }
            else
            {
                result = RedirectToAction("Index");
            }

            return(result);
        }
コード例 #16
0
        public ActionResult EditaFormatiTaglia(int id, int formatoImmagineID, int x1 = 0, int y1 = 0, int x2 = 0, int y2 = 0, int w = 0, int h = 0)
        {
            ActionResult result         = null;
            Immagine     immagineMaster = null;

            immagineMaster = ImmagineRepository.Instance.RecuperaImmagine(id);

            if (immagineMaster != null)
            {
                FormatoImmagine formato  = FormatoImmagineRepository.Instance.RecuperaFormatoImmagine(formatoImmagineID);
                Immagine        immagine = null;
                immagine = ImmagineRepository.Instance.RecuperaImmaginiFiglio(immagineMaster.ID).FirstOrDefault(x => x.FormatoImmagine.ID == formato.ID);

                Bitmap      immagineLavoro    = null;
                ImageFormat format            = null;
                Bitmap      immagineRisultato = null;

                immagineLavoro    = new Bitmap(FileUtility.VAImmagineLavoro(immagineMaster.NomeFile));
                format            = immagineLavoro.RawFormat;
                immagineRisultato = ImageHelper.Ritaglia(immagineLavoro, x1, y1, x2, y2);

                if (immagineRisultato != null)
                {
                    immagineLavoro.Dispose();
                    immagineLavoro = immagineRisultato;
                }

                immagineRisultato = ImageHelper.Ridimensiona(immagineLavoro, w, h);

                if (immagineRisultato != null)
                {
                    immagineLavoro.Dispose();
                }
                else
                {
                    immagineRisultato = immagineLavoro;
                }

                immagineLavoro = null;

                string ext = System.IO.Path.GetExtension(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile)).ToLower();

                switch (ext)
                {
                case ".jpeg":
                case ".jpg":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                case ".gif":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                case ".png":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                case ".bmp":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                default:
                    throw new ApplicationException("Formato immagine non supportato: " + ext);
                }

                ContenutoService cs = new ContenutoService();

                if (immagine != null)
                {
                    immagine.NomeFile = immagineMaster.NomeFile;
                }
                else
                {
                    immagine = cs.CreaImmagine(immagineMaster, formato, immagineMaster.NomeFile);
                }

                immagine.Larghezza = immagineRisultato.Width;
                immagine.Altezza   = immagineRisultato.Height;

                immagineRisultato.Dispose();

                cs.SalvaImmagine(immagine);

                result = RedirectToAction("EditaFormati", new { id = immagineMaster.ID, formatoImmagineID = formato.ID });
            }
            else
            {
                result = RedirectToAction("Index");
            }

            return(result);
        }
コード例 #17
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);
        }
コード例 #18
0
        public ActionResult EditaInEvidenza(WidgetInEvidenzaEditaModel model)
        {
            ActionResult result = null;
            Widget       widget = null;

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

                categoria = CategoriaNotiziaRepository.Instance.RecuperaCategoriaNotizia(model.EditaCategoriaNotiziaID.Value);

                if (model.ID != 0)
                {
                    widget         = WidgetRepository.Instance.RecuperaWidget(model.ID);
                    widget.Nome_IT = model.EditaNome.Trim();
                    widget.Nome_EN = model.EditaNome.Trim();
                }
                else
                {
                    widget         = cs.CreaWidget(model.EditaNome.Trim(), TipoWidget.InEvidenza);
                    widget.Nome_EN = widget.Nome_IT;
                }

                widget.Categoria = categoria;

                switch (widget.Categoria.Enum)
                {
                case CategoriaNotiziaEnum.Nessuna:
                    break;

                case CategoriaNotiziaEnum.EventiENotizie:
                    widget.VoceMenuID = 44;
                    break;

                case CategoriaNotiziaEnum.LaDirezioneInforma:
                    widget.VoceMenuID = 45;
                    break;

                case CategoriaNotiziaEnum.AreaGiuridica:
                    widget.VoceMenuID = 46;
                    break;

                default:
                    break;
                }

                widget.NotiziaID = model.EditaNotiziaInEvidenza;

                id = cs.SalvaWidget(widget);

                result = RedirectToAction("EditaInEvidenza", new { id = id });
            }
            else
            {
                if (model.ID != 0)
                {
                    widget       = WidgetRepository.Instance.RecuperaWidget(model.ID);
                    model.Widget = widget;
                }

                model.CategorieSelectList = ModelUtils.CreaCategoriaNotiziaSelectList(false);
                model.NotizieSelectList   = ModelUtils.CreaNotiziaSelectList(widget?.Categoria?.ID ?? 0);

                model.EditaNotiziaInEvidenza = widget?.NotiziaID;

                result = View(model);
            }

            return(result);
        }