Example #1
0
        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;
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
            }
        }
Example #4
0
        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;
            }
        }