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