public List <Notificacao> InformaNotificacaoDAO() { try { SqlDataReader Dr = null; List <Notificacao> ListaNot = new List <Notificacao>(); using (SqlConnection Con = new Conexao().ConexaoDB()) { SqlCommand Cmd = new SqlCommand(@" SELECT * FROM Notificacao Nt inner join NotificacaoMensagem NtMsg on (Nt.idMsgNotificacao = NtMsg.idMsgNotificacao) inner join Usuario Usr on (Nt.idUsuarioDestino = Usr.idUsuario) left join Usuario Usr2 on (Nt.idUsuarioOrigem = Usr2.idUsuario) left join UsuarioXMemberShipUser UsrMb on (Usr2.idUsuario = UsrMb.idUsuario) left join aspnet_Users Mb on (Usrmb.IdUsrMemberShip = Mb.UserId) where idUsuarioDestino = @IdDest and vista = 0;", Con); Cmd.Parameters.AddWithValue("@IdDest", ObjNotificacao.IdDest); Dr = Cmd.ExecuteReader(); while (Dr.Read()) { Notificacao Obj = FactoryNotificacao.GetNew(); Obj.Id = Dr.GetInt32(0); Obj.IdOrigem = Dr.GetInt32(1); Obj.IdDest = Dr.GetInt32(2); Obj.IdMensagem = Dr.GetInt32(3); Obj.IdTipo = Dr.GetInt32(4); Obj.Vista = Dr.GetInt32(5); Obj.Data = Dr.GetDateTime(6); Obj.Mensagem = Dr.GetString(8); if (!Dr.IsDBNull(33)) { Obj.NomeUsuario = Dr.GetString(33); } if (Obj.IdMensagem.Equals(10)) { Obj.Mensagem += " " + Obj.NomeUsuario; } ListaNot.Add(Obj); } return(ListaNot); } } catch (SqlException) { throw; } }
protected void ButtonConvocar_Click(object sender, EventArgs e) { try { ObjNotificacao = FactoryNotificacao.GetNew(); ObjNotificacao.IdOrigem = (int)Session["id"]; ObjNotificacao.IdMensagem = 1; ObjNotificacao.IdTipo = 1; if (new ManterNotificacao(ObjNotificacao).NotificaUsuariosChat()) { NotificaTecnicos = true; } } catch (Exception Ex) { LogException.InsereLogBd(Ex); MsgLabel.Text = LogException.CodigoErroBd(); } }
protected void Page_Load(object sender, EventArgs e) { try { if (Session["perfil"].Equals("Cliente Físico") && Session["perfil"].Equals("Cliente Jurídico")) { Response.Redirect("\\Views\\SGA\\Inicio.aspx", false); } if (!Request.QueryString.Count.Equals(0)) { if (Request.QueryString.AllKeys.Contains("Chat")) { if (!Request.QueryString["Chat"].Equals("")) { Usuarios = Request.QueryString["Chat"]; UsuariosAux = Usuarios.Split('!'); foreach (var Usr in UsuariosAux) { if (ObjChat.ObjChatPrivado.IdUsrMBOrig == null) { ObjChat.ObjChatPrivado.IdUsrMBOrig = Usr; } else { ObjChat.ObjChatPrivado.IdUsrMBDest = Usr; ObjUsuario.IdMS = Usr; } } if (!new ManterChat(ObjChat).ValidaChatCriado()) { if (new ManterChat().CriaSalaPrivada(ObjChat)) { ObjNotificacao = FactoryNotificacao.GetNew(); ObjNotificacao.IdOrigem = (int)Session["id"]; ObjNotificacao.IdMensagem = 2; ObjNotificacao.IdTipo = 2; if (new ManterNotificacao(ObjNotificacao, ObjUsuario).NotificaUsuariosChat()) { ChatCriado = true; } } } } } if (Request.QueryString.AllKeys.Contains("Conversa")) { if (!Request.QueryString["Conversa"].Equals("")) { ConversaIniciada = true; IdPrivado = Request.QueryString["Conversa"]; ObjChat.ObjChatPrivado.IdPrivado = Convert.ToInt32(IdPrivado); foreach (var ObjChat in new ManterChat(ObjChat).RetornaChatPrivado()) { ListaMensagens.Add(ObjChat); } ListaMensagens.Reverse(); } } } ObjChat.ObjChatPrivado.IdUsrMBOrig = (string)Session["idms"]; foreach (var Salas in new ManterChat(ObjChat).RetornaSalas()) { if (!Salas.ObjChatPrivado.IdUsrDest.Equals((int)Session["id"])) { ListaSalas.Add(Salas); } } } catch (Exception Ex) { LogException.InsereLogBd(Ex); MsgLabel.Text = LogException.CodigoErroBd(); } }
public bool NotificaUsuariosChatDAO() { try { SqlDataReader Dr = null; List <Notificacao> ListaNot = new List <Notificacao>(); using (SqlConnection Con = new Conexao().ConexaoDB()) { SqlCommand CmdConsult = new SqlCommand(@" SELECT Usr.idUsuario FROM Usuario Usr inner join UsuarioXMemberShipUser UsrMb on (Usr.idUsuario = UsrMb.idUsuario) inner join aspnet_UsersInRoles UsrRoles on (UsrMb.IdUsrMemberShip = UsrRoles.UserId) where UsrRoles.RoleId in ('5E106C37-3E4D-4B41-9EEE-F190EA99E534', '4355C114-EAF9-4B05-B6D2-3CB47FFAE948', '6A0BD300-3942-49E5-8307-F0DBC1591186') and Usr.idUsuario <> @IdOrigem and Usr.idEmpresa = (select idEmpresa from Usuario where idUsuario = @IdOrigem);", Con); CmdConsult.Parameters.AddWithValue("@IdOrigem", ObjNotificacao.IdOrigem); Dr = CmdConsult.ExecuteReader(); while (Dr.Read()) { Notificacao Obj = FactoryNotificacao.GetNew(); Obj.IdDest = Dr.GetInt32(0); ListaNot.Add(Obj); } Dr.Close(); if (ObjUsuario == null) { foreach (var ListObj in ListaNot) { SqlCommand Cmd = new SqlCommand(@" INSERT INTO [dbo].[notificacao] ([idUsuarioOrigem] ,[idUsuarioDestino] ,[idMsgNotificacao] ,[idTipo] ,[vista] ,[dataRegistro]) VALUES (@IdOrigem ,@IdDest ,@Msg ,@Tipo ,0 ,@Data);", Con); Cmd.Parameters.AddWithValue("@IdOrigem", ObjNotificacao.IdOrigem); Cmd.Parameters.AddWithValue("@IdDest", ListObj.IdDest); Cmd.Parameters.AddWithValue("@Msg", ObjNotificacao.IdMensagem); Cmd.Parameters.AddWithValue("@Tipo", ObjNotificacao.IdTipo); Cmd.Parameters.AddWithValue("@Data", DateTime.Now); Cmd.ExecuteNonQuery(); } } else { ObjNotificacao.IdDest = new ManterUsuarioDAO(ObjUsuario).ConsultaIdUsuarioByIdMBDAO().Id; SqlCommand Cmd = new SqlCommand(@" INSERT INTO [dbo].[notificacao] ([idUsuarioOrigem] ,[idUsuarioDestino] ,[idMsgNotificacao] ,[idTipo] ,[vista] ,[dataRegistro]) VALUES (@IdOrigem ,@IdDest ,@Msg ,@Tipo ,0 ,@Data);", Con); Cmd.Parameters.AddWithValue("@IdOrigem", ObjNotificacao.IdOrigem); Cmd.Parameters.AddWithValue("@IdDest", ObjNotificacao.IdDest); Cmd.Parameters.AddWithValue("@Msg", ObjNotificacao.IdMensagem); Cmd.Parameters.AddWithValue("@Tipo", ObjNotificacao.IdTipo); Cmd.Parameters.AddWithValue("@Data", DateTime.Now); Cmd.ExecuteNonQuery(); } return(true); } } catch (SqlException) { throw; } }