/// <summary> /// Retorna os chats já finalizados e salvos no banco de dados /// </summary> /// <param name="inicio"></param> /// <param name="fim"></param> /// <returns></returns> public List<Conversa> ObterConversasFinalizadas(DateTime inicio, DateTime fim) { using (var db = new RaccoInternacionalEntities()) { var conversas = (from c in db.Chat where c.Inicio >= inicio && c.Fim <= fim select new Conversa() { Id = c.IdChat, Inicio = c.Inicio, Fim = c.Fim, Usuario = c.NomeCliente, Administrador = new Administrador() { Id = c.Usuario.IdUsuario, Nome = c.Usuario.NomeUsuario, Usuario = c.Usuario.Login, Ecommerce = true } } ).ToList(); foreach (var item in conversas) { item.Estado = EstadoConversa.Finalizado; } return conversas; } }
public Conversa ObterConversaFinalizada(int id) { using (var db = new RaccoInternacionalEntities()) { var conversa = (from c in db.Chat where c.IdChat == id select new Conversa() { Id = c.IdChat, Inicio = c.Inicio, Fim = c.Fim, Usuario = c.NomeCliente, Administrador = new Administrador() { Id = c.Usuario.IdUsuario, Nome = c.Usuario.NomeUsuario, Usuario = c.Usuario.Login, Ecommerce = true } } ).FirstOrDefault(); conversa.Mensagens = (from m in db.Chat_Mensagem where m.IdChat == id select new Mensagem() { Texto = m.Texto, Usuario = m.Usuario, Administrador = m.IsAdministrador, DataCadastro = m.DataCadastro } ).ToList(); conversa.Estado = EstadoConversa.Finalizado; return conversa; } }
/// <summary> /// Salva os dados do Chat no banco de dados /// </summary> public void SalvarDB() { var chat = new Model.Chat() { Inicio = this.Inicio, Fim = this.Fim.Value, Estado = (int)this.Estado, NomeCliente = this.Usuario, IdAdministrador = this.Administrador.Id }; foreach (var item in this.Mensagens) { chat.Chat_Mensagem.Add(new Model.Chat_Mensagem() { Usuario = item.Usuario, Texto = item.Texto, DataCadastro = item.DataCadastro, IsAdministrador = item.Administrador }); } using (var db = new RaccoInternacionalEntities()) { db.AddObject("Chat", chat); db.SaveChanges(); } }