コード例 #1
0
ファイル: ChamadoDAL.cs プロジェクト: jreeeedd/PimHelpDesk
        public List <Chamado> ListarChamados(long idUsuario, bool usuarioTecnico)
        {
            SqlDataReader dr           = null;
            var           listaCliente = new List <Chamado>();

            string where = string.Empty;

            var conexao = RetornaConexao();

            where = $" c.IdUsuarioAbertura = {idUsuario}";

            if (usuarioTecnico == true)
            {
                var idsGrupo = string.Join(",", _grupo.ListarGruposUsuario(idUsuario).Select(x => x.IdGrupo).ToList());

                if (idsGrupo.Any())
                {
                    where = where + $" OR g.IdGrupo IN({idsGrupo}) ";
                }
            }

            try
            {
                conexao.Open();

                string query = $@"SELECT  
									c.IdChamado,
									c.Titulo,
									u.Nome as Tecnico,
									s.Descricao as Status,
                                    c.DataAbertura,
                                    c.DataConclusaoPrevista,
                                    c.DataFechamento,
                                    g.Descricao AS Grupo
								FROM tblChamado c
                                INNER JOIN tblStatus s
                                ON s.idStatus = c.IdStatus
								INNER JOIN tblSolicitacao sl
								ON sl.IdSolicitacao = c.IdSolicitacao
								LEFT JOIN tblGrupo g
								ON g.IdGrupo = sl.IdGrupo
                                LEFT JOIN tblUsuario u
                                ON u.IdUsuario = c.IdTecnico
                               WHERE {where}";

                SqlCommand cmd = new SqlCommand(query, conexao);
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    listaCliente.Add(new Chamado
                    {
                        IdChamado             = Convert.ToInt32(dr["IdChamado"]),
                        Titulo                = Convert.ToString(dr["Titulo"]),
                        Tecnico               = dr["Tecnico"] != DBNull.Value ? Convert.ToString(dr["Tecnico"]) : string.Empty,
                        Status                = Convert.ToString(dr["Status"]),
                        DataAbertura          = dr["DataAbertura"] != DBNull.Value ? Convert.ToDateTime(dr["DataAbertura"]) : new DateTime(),
                        DataConclusaoPrevista = dr["DataConclusaoPrevista"] != DBNull.Value ? Convert.ToDateTime(dr["DataConclusaoPrevista"]) : new DateTime(),
                        DataFechamento        = dr["DataFechamento"] != DBNull.Value ? Convert.ToDateTime(dr["DataFechamento"]) : new DateTime(),
                        Grupo = dr["Grupo"] != DBNull.Value ? Convert.ToString(dr["Grupo"]) : string.Empty,
                    });
                }
            }
            catch (Exception ex)
            {
                string erro = ex.Message;
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }

                if (conexao.State == ConnectionState.Open)
                {
                    conexao.Close();
                }
            }

            return(listaCliente);
        }
コード例 #2
0
ファイル: GrupoBLL.cs プロジェクト: jreeeedd/PimHelpDesk
 public List <Grupo> ListarGruposUsuario(int idUsuario)
 {
     return(_grupoDAL.ListarGruposUsuario(idUsuario));
 }