public string delete(int itemgroup)
        {
            UtentiNewsletter ad = db.UtentiNewsletter.Where(x => x.id == itemgroup).First();

            db.UtentiNewsletter.Attach(ad);
            db.UtentiNewsletter.Remove(ad);
            db.SaveChanges();

            return("OK");
        }
        public ContentResult getDetail(int id)
        {
            //db.Configuration.ProxyCreationEnabled = false;
            // ritorna la pagina singola per ottenere i dati da inserire nel form di modifica
            UtentiNewsletter pai = db.UtentiNewsletter.Where(d => d.id == id).First();

            //return Json(pai);
            // return JsonConvert.SerializeObject(pai)

            return(Content(JsonConvert.SerializeObject(pai, new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            }), "application/json"));
        }
        public ActionResult RegistraNewsletter(UtentiNewsletter u)
        {
            u.lang = LanguageSetting.Lang;
            u.data = DateTime.Now;
            AjaxMessagge resultMessage = new AjaxMessagge();

            if (ModelState.IsValid)
            {
                // registro
                // devo vedere se l'indirizzo email è già presente
                if (db.UtentiNewsletter.Where(x => x.email == u.email).Count() > 0)
                {
                    UtentiNewsletter uvecchio = db.UtentiNewsletter.Where(x => x.email == u.email).FirstOrDefault();
                    uvecchio.ragionesociale = u.ragionesociale;
                    uvecchio.attivo         = true;
                    uvecchio.professione    = u.professione;
                    db.UtentiNewsletter.Attach(uvecchio);
                    db.Entry(uvecchio).State = EntityState.Modified;
                }
                else
                {
                    db.UtentiNewsletter.Add(u);
                }


                db.SaveChanges();

                resultMessage.Success     = true;
                resultMessage.Message     = "grazieregistratonewsletter".Translate();
                resultMessage.RedirectUrl = LanguageSetting.GetLangNavigation() + "/";
            }
            else
            {
                resultMessage.Success     = false;
                resultMessage.Message     = "err_controllacampi".Translate();
                resultMessage.RedirectUrl = LanguageSetting.GetLangNavigation() + "/";
            }

            return(Json(resultMessage));
        }
        public PartialViewResult getEditor(int id)
        {
            UtentiNewsletter ad;

            if (id == 0)
            {
                ad = new UtentiNewsletter();
            }
            else
            {
                ad = db.UtentiNewsletter.Where(x => x.id == id).First();
            }

            JsonSerializerSettings settings = new JsonSerializerSettings
            {
                StringEscapeHandling  = StringEscapeHandling.EscapeHtml,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };


            return(PartialView("_NewsletterUsersEditor", ad));
        }
        public string savePage(UtentiNewsletter pmodel)
        {
            string errors = "";

            if (!ModelState.IsValid)
            {
                errors = string.Join("<br/>", ModelState.Values.SelectMany(v => v.Errors).Select(v => v.ErrorMessage));
                return(errors);
            }

            if (pmodel.id == 0)
            {
                // controllo unicità
                int conta = db.Utenti.Where(x => x.email == pmodel.email).Count();
                if (conta > 0)
                {
                    errors = "L\'email inserita è già presente.";
                    return(errors);
                }
                // nuovo
                db.UtentiNewsletter.Add(pmodel);
                db.SaveChanges();
            }
            else
            {
                int conta = db.Utenti.Where(x => x.email == pmodel.email & x.id != pmodel.id).Count();
                if (conta > 0)
                {
                    errors = "L\'email inserita è già presente.";
                    return(errors);
                }

                db.Entry(pmodel).State = EntityState.Modified;
                db.SaveChanges();
            }

            return("OK");
        }