コード例 #1
0
 public ActionResult Invia(ChatViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         using (DatabaseContext db = new DatabaseContext())
         {
             CHAT         model  = viewModel.GetModel();
             PersonaModel utente = Session["utente"] as PersonaModel;
             model.ID_MITTENTE      = utente.Persona.ID;
             model.DATA_INSERIMENTO = DateTime.Now;
             model.STATO            = (int)StatoChat.INVIATO;
             db.CHAT.Add(model);
             if (db.SaveChanges() > 0)
             {
                 // aggiornare tramite javascript o lato server la pagina (return PartialView)
                 //return Json(true);
                 //return PartialView("PartialPages/_FormMessaggio", new ChatViewModel());
                 return(PartialView("PartialPages/_ListaChat", ChatViewModel.GetListaChat(db, model.ID_MITTENTE, (int)model.ID_DESTINATARIO)));
             }
         }
     }
     Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
     //return PartialView("PartialPages/_FormMessaggio", viewModel);
     return(null);
 }
コード例 #2
0
 public ActionResult Modifica(ChatViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         using (DatabaseContext db = new DatabaseContext())
         {
             PersonaModel utente = Session["utente"] as PersonaModel;
             CHAT         model  = db.CHAT.SingleOrDefault(m => m.ID == viewModel.Id && m.ID_MITTENTE == utente.Persona.ID);
             if (model != null)
             {
                 model.TESTO = viewModel.Testo;
                 db.CHAT.Attach(model);
                 var entry = db.Entry(model);
                 entry.State = System.Data.Entity.EntityState.Modified;
                 if (db.SaveChanges() > 0)
                 {
                     //return PartialView("PartialPages/_FormMessaggio", new ChatViewModel());
                     return(PartialView("PartialPages/_ListaChat", ChatViewModel.GetListaChat(db, model.ID_MITTENTE, (int)model.ID_DESTINATARIO)));
                 }
             }
         }
     }
     Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
     //return PartialView("PartialPages/_FormMessaggio",viewModel);
     return(null);
 }
コード例 #3
0
 public ActionResult Elimina(int id)
 {
     using (DatabaseContext db = new DatabaseContext())
     {
         PersonaModel utente = Session["utente"] as PersonaModel;
         CHAT         model  = db.CHAT.SingleOrDefault(m => m.ID == id && m.ID_MITTENTE == utente.Persona.ID);
         if (model != null)
         {
             db.CHAT.Attach(model);
             db.CHAT.Remove(model);
             if (db.SaveChanges() > 0)
             {
                 return(PartialView("PartialPages/_ListaChat", ChatViewModel.GetListaChat(db, model.ID_MITTENTE, (int)model.ID_DESTINATARIO)));
             }
         }
     }
     Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
     return(null);
 }
コード例 #4
0
        public ActionResult Utente(string token = "")
        {
            ChatUtenteViewModel viewModel = new ChatUtenteViewModel();
            PersonaModel        utente    = Session["utente"] as PersonaModel;

            if (!string.IsNullOrWhiteSpace(token))
            {
                using (DatabaseContext db = new DatabaseContext())
                {
                    PERSONA personaChat = db.PERSONA.SingleOrDefault(m => m.TOKEN.ToString() == token &&
                                                                     m.STATO != (int)Stato.ELIMINATO);
                    viewModel.Utente      = new PersonaModel(personaChat);
                    viewModel.Utente.Foto = personaChat.PERSONA_FOTO.OrderByDescending(m => m.ORDINE).AsEnumerable()
                                            .Select(m => new FotoModel(m.ALLEGATO)).ToList();
                    viewModel.Messaggi = ChatViewModel.GetListaChat(db, utente.Persona.ID, personaChat.ID);
                    RefreshPunteggioUtente(db);
                }
            }
            // apre gli ultimi 30 messaggi con l'utente se selezionato, altrimenti ti fa selezionare la persona
            return(View(viewModel));
        }