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); }
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); }
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); }
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)); }