Exemplo n.º 1
0
        public static void InformarNuevoMensaje(int idChat, string mensaje, int idUsuarioOrigen, int idChatMensaje)
        {
            List <DTOUsuario> participantes;
            ChatEntity        chat;
            string            nombreChat;

            using (OrdenesContext mc = new OrdenesContext())
            {
                participantes = (from p in mc.ChatUsuarios where p.IdChat == idChat select new DTOUsuario()
                {
                    IdUsuario = p.IdUsuario
                }).ToList();
                chat          = (from c in mc.Chats where c.IdChat == idChat select c).FirstOrDefault();
                if (chat.EsGrupo)
                {
                    nombreChat = chat.Nombre;
                }
                else
                {
                    //Si no es grupo, en participantes solo hay 2 usuarios, porque es chat individual. Como busco la contraparte, pongo que sea distinto a idUsuarioOrigen
                    int idContraparte = participantes.Find(x => x.IdUsuario != idUsuarioOrigen).IdUsuario;
                    nombreChat = (from u in mc.Usuario where u.IdUsuario == idContraparte select u).FirstOrDefault().Username;
                }
            }
            DTONuevoMensajeChat nuevoMensajeChat = new DTONuevoMensajeChat()
            {
                IdChat          = idChat,
                Mensaje         = mensaje,
                Target          = nombreChat,
                Participantes   = participantes,
                Fecha           = DateTime.Now,
                EsGrupo         = chat.EsGrupo,
                IdUsuarioOrigen = idUsuarioOrigen,
                UsernameOrigen  = MAEUserSession.Instancia.UserName,
                IdChatMensaje   = idChatMensaje
            };

            WCFHelper.ExecuteService <IChatService>(ConfiguracionSistemaURLsEnumDestino.ChatService, i => i.InformarNuevoMensaje(nuevoMensajeChat));
        }
Exemplo n.º 2
0
 public void InformarNuevoMensaje(DTONuevoMensajeChat nuevoMensajeChat)
 {
     ChatMessageHelper.InformarNuevoMensaje(nuevoMensajeChat);
 }
 public static void InformarNuevoMensaje(DTONuevoMensajeChat nuevoMensajeChat)
 {
     OnNewChatMessageHandle(nuevoMensajeChat);
 }
 public static void OnNewChatMessageHandle(DTONuevoMensajeChat nuevoMensajeChat)
 {
     _onNewChatMessageHandler?.Invoke(nuevoMensajeChat);
 }