public List <PrioridadeChamado> ConsultaPrioridadesChamadoDAO()
        {
            try
            {
                List <PrioridadeChamado> Prioridades = new List <PrioridadeChamado>();
                SqlDataReader            Dr          = null;

                using (SqlConnection Con = new Conexao().ConexaoDB())
                {
                    SqlCommand Cmd = new SqlCommand(@"
                 SELECT *
                 FROM [dbo].[PrioridadeChamado]
                 ORDER BY 1;", Con);

                    Dr = Cmd.ExecuteReader();

                    while (Dr.Read())
                    {
                        PrioridadeChamado Prior = FactoryPrioridadeChm.GetNew();

                        Prior.Id             = Dr.GetInt32(0);
                        Prior.DescPrioridade = Dr.GetString(1);

                        Prioridades.Add(Prior);
                    }

                    return(Prioridades);
                }
            }
            catch (SqlException)
            {
                throw;
            }
        }
 public ManterPrioridadeChamadoDAO(PrioridadeChamado ObjPrioridade)
 {
     this.ObjPrioridade = ObjPrioridade;
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!"".Equals(Request.QueryString["IdChamado"]))
                {
                    ObjChamado    = FactoryChamado.GetNew();
                    ObjChamado.Id = Convert.ToInt32(Request.QueryString["IdChamado"]);
                    ObjChamado    = new ManterChamado(ObjChamado).ConsultaChamadoById();

                    if (ObjChamado != null)
                    {
                        if (!Page.IsPostBack)
                        {
                            if (Request.QueryString.AllKeys.Contains("Mensagem"))
                            {
                                if (Request.QueryString["Mensagem"].Equals("Cancelado"))
                                {
                                    Mensagem = "Chamado cancelado com sucesso.";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                                else if (Request.QueryString["Mensagem"].Equals("Encerrado"))
                                {
                                    Mensagem = "Chamado encerrado com sucesso.";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                                else if (Request.QueryString["Mensagem"].Equals("Tramite"))
                                {
                                    Mensagem = "Trâmite adicionado com sucesso.";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                                else if (Request.QueryString["Mensagem"].Equals("Reaberto"))
                                {
                                    Mensagem = "Chamado reaberto com sucesso.";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                                else if (Request.QueryString["Mensagem"].Equals("Recusado"))
                                {
                                    Mensagem = "Atendimento deste chamado recusado.";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                                else if (Request.QueryString["Mensagem"].Equals("Avaliado"))
                                {
                                    Mensagem = "Avaliado com sucesso!";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                                else if (Request.QueryString["Mensagem"].Equals("AvaliadoAnt"))
                                {
                                    Mensagem = "Este chamado já foi avaliado.";
                                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                                }
                            }
                            else
                            {
                                Mensagem = "Informações do chamado.";
                                ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                            }
                        }

                        if (Request.QueryString.AllKeys.Contains("Troca"))
                        {
                            if (Request.QueryString["Troca"].Equals("true"))
                            {
                                Mensagem = "Técnico alocado com sucesso.";
                                ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                            }
                        }

                        ObjServico.Id      = ObjChamado.IdServico;
                        ObjStatusChm.Id    = ObjChamado.IdStatus;
                        ObjAtend.IdChamado = ObjChamado.Id;

                        ObjAtend     = new ManterAtendimento(ObjAtend).ConsultaAtendimentoByIdChamado();
                        ObjRegiao.Id = ObjAtend.IdRegiaoAtendimento;

                        ObjUsuario.Id = ObjAtend.IdTecnico;

                        ObjUsuario  = new ManterUsuario(ObjUsuario).ConsultaUsuarioById();
                        NomeTecnico = ObjUsuario.Nome;

                        ObjUsuario.Id = ObjAtend.IdCliente;

                        ObjUsuario  = new ManterUsuario(ObjUsuario).ConsultaUsuarioById();
                        NomeCliente = ObjUsuario.Nome;

                        ObjPrioridade.Id = ObjChamado.IdPrioridade;

                        ObjPrioridade = new ManterPrioridadeChamado(ObjPrioridade).ConsultaPrioridadeChamadoById();
                        ObjRegiao     = new ManterRegiaoAtendimento(ObjRegiao).ConsultaRegiaoAtendimentoById();
                        ObjServico    = new ManterServico(ObjServico).ConsultaServicoById();
                        ObjStatusChm  = new ManterStatusChamado(ObjStatusChm).ConsultaStatusChamadoById();

                        if (Session["perfil"].Equals("Cliente Físico") || Session["perfil"].Equals("Cliente Jurídico"))
                        {
                            if (!ObjAtend.IdCliente.Equals(Session["id"]))
                            {
                                Response.Redirect("\\Views\\SGA\\Inicio.aspx", false);
                            }
                        }

                        if (ObjStatusChm.Id.Equals(3))
                        {
                            ObjAvaliacao.IdChamado = ObjChamado.Id;
                            ObjAvaliacao           = new ManterAvaliacao(ObjAvaliacao).ConsultaAvaliacao();
                        }

                        if (new ManterChamado(ObjChamado).ValidaTempoFechamento())
                        {
                            AvaliarChamadoButton.Enabled = true;
                            ReaberturaButton.Enabled     = true;
                        }
                        else
                        {
                            AvaliarChamadoButton.Enabled = false;
                            ReaberturaButton.Enabled     = false;
                        }
                    }
                    else
                    {
                        ObjChamado = null;
                        Mensagem   = "Chamado não encontrado ou inexistente.";
                        ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                    }
                }
                else
                {
                    Mensagem = "Nenhum número de chamado foi informado.";
                    ScriptManager.RegisterStartupScript(this, GetType(), "CallMyFunction", "Alerta('" + Mensagem + "')", true);
                }
            }
            catch (Exception Ex)
            {
                LogException.InsereLogBd(Ex);
                ObjChamado    = null;
                MsgLabel.Text = LogException.CodigoErroBd();
            }
        }