示例#1
0
 /// <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;
     }
 }
示例#2
0
 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;
     }
 }
示例#3
0
        /// <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();
            }
        }