示例#1
0
        protected void atribuir_Click(object sender, EventArgs e)
        {
            DAL.DALChamado aDALChamado = new DAL.DALChamado();
            Modelo.Chamado aChamado    = aDALChamado.Select(Session["idchamado"].ToString());

            DropDownList drop = (DropDownList)Repeater3.Items[0].FindControl("atribuidoID");

            aChamado.usuario_atribuido_id = drop.SelectedValue;
            aChamado.status = 2;

            aDALChamado.UpdateAtribuido(aChamado);

            Response.Redirect("~//2-Servidor/WebFormCRUDChamado.aspx");
        }
示例#2
0
        protected void Repeater3_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "Fechar")
            {
                string id;
                id            = e.CommandArgument.ToString();
                Session["id"] = id;
                DAL.DALChamado arquivo = new DAL.DALChamado();

                Modelo.Chamado mchamado;

                mchamado = arquivo.Select(id);

                mchamado.status = 3;

                arquivo.Update(mchamado);

                Response.Redirect("~//2-Servidor/WebFormCRUDChamado.aspx");
            }
        }
        protected void add_Click1(object sender, EventArgs e)
        {
            //Chamada do Modelo e do DAL para gravar valor no banco
            Modelo.Chamado aChamado;
            DAL.DALChamado aDALChamado = new DAL.DALChamado();;

            //Conversão de da quantidade de equipamento de string para int
            int quantidade = 0;

            //Caso seja um inteiro, efetua a conversão
            //Caso contrário, retornará 0 para ser tratado no trigger do banco
            if (int.TryParse(quantidadeeq.Text, out int result))
            {
                quantidade = Convert.ToInt32(quantidadeeq.Text);
            }
            else
            {
                quantidade = 0;
            }

            //Salva os valores pegos na WebForm na classe modelo
            aChamado = new Modelo.Chamado("1", Session["idusuario"].ToString(), salaDrop.Text, catDrop.Text, modeloDrop.Text, tombamento.Text, 1, Convert.ToInt32(statusEI.Text), "", Convert.ToString(resumo.Text), quantidade, DateTime.Now);
            //bool para controle de erros
            //ok == true    -> Erro inexistente
            //ok == false = -> Erro existente
            bool ok = true;

            //TryCatch para tratamento de possíveis erros
            //Os erros serão apresentados na tela quando a página for atualizada


            try
            {
                aDALChamado.Insert(aChamado);
            }
            //Erros capturados pelos triggers no banco de dados
            catch (SqlException error)
            {
                //Caso um erro seja detectado, ok se torna false
                ok = false;

                //Resumo vazio
                if (error.Message.Contains("Para abrir um chamado você deve indicar o problema"))
                {
                    Session["MsgErroresumop"] = "Para abrir um chamado você deve indicar o problema";
                }

                //Quantidade de máquinas com defeito menor que 1
                if (error.Message.Contains("A quantidade de equipamentos deve ser um número maior que 0"))
                {
                    Session["MsgErromaqdef"] = "A quantidade de equipamentos inválida";
                }

                //Quantidade de máquinas maior que o existente na sala
                if (error.Message.Contains("Numero maximo de maquinas excedido"))
                {
                    Session["MsgErromaqdef"] = "Número máximo de equipamentos excedido";
                }

                //Nenhum equipamento foi escolhido -- Caso esse erro ocorra, nenhum dos outros será chamado, pois ele ocorre antes do trigger
                if (error.Message.Contains("FK__Chamado__sala_id"))
                {
                    Session["MsgErroSala"] = "Voce deve selecionar a sala que possui equipamentos com defeito";
                }
            }
            //Erro de erro de conversão que pode acontecer no DAL
            catch (FormatException errorFormat)
            {
                //Caso um erro seja detectado, ok se torna false
                ok = false;

                //Nenhum equipamento foi escolhido
                //Esse erro não será tratado caso a língua padrão da máquina onde a aplicação foi instalada for diferente do português
                //    Acontecerá, pois o Format Exception é gerado automaticamente
                //Nenhum equipamento foi escolhido -- Caso esse erro ocorra, nenhum dos outros será chamado, pois ele ocorre antes do trigger
                if (errorFormat.Message.Contains("A cadeia de caracteres de entrada não estava em um formato correto"))
                {
                    Session["MsgErrosala"] = "Deve haver uma sala válido existente";
                }
            }

            //If para confirmação de erro
            //Caso não ocorra algum erro, o usuário é redirecionado para o crud
            //Caso haja erro, a página atualiza exibe as mensagens de erro
            if (ok)
            {
                Response.Redirect("~//2-Servidor/WebFormCRUDChamado.aspx");
            }
            else
            {
                Response.Redirect("~//2-Servidor/WebFormAddChamado.aspx");
            }
        }
示例#4
0
        public List <Modelo.Chamado> SelectOnly()
        {
            //Variáveis para buscar o nome das outras tabelas
            DALSalas       sala = new DALSalas();
            DALUsuario     usu  = new DALUsuario();
            DALCategoria   cat  = new DALCategoria();
            DALEquipamento equi = new DALEquipamento();
            DALChamado     tom  = new DALChamado();
            string         nomeUsuarioAberto;
            string         nomeUsuarioAtribuido;
            string         nomesala;
            string         categoriaName;
            string         equip_id;
            string         tombamento;

            // Variavel para armazenar um livro
            Modelo.Chamado aChamado;
            // Cria Lista Vazia
            List <Modelo.Chamado> aListChamado = new List <Modelo.Chamado>();
            // Cria Conexão com banco de dados
            SqlConnection conn = new SqlConnection(connectionString);

            // Abre conexão com o banco de dados
            conn.Open();
            // Cria comando SQL
            SqlCommand cmd      = conn.CreateCommand();
            SqlCommand cmdUsu   = conn.CreateCommand();
            SqlCommand cmdsala  = conn.CreateCommand();
            SqlCommand cmdequip = conn.CreateCommand();
            SqlCommand cmdtom   = conn.CreateCommand();

            // define SQL do comando
            cmd.CommandText = "SELECT id,usuario_aberto_id,sala_id, usuario_atribuido_id, status, statusEI, resumo,quant_equipamentos_defeituosos,data, categoria_id, equip_id, tombamento, CASE " +
                              "WHEN status = 1 THEN 'ABERTO'WHEN status = 2 THEN 'EM ATENDIMENTO'" +
                              "WHEN status = 3 THEN 'FECHADO'ELSE 'REABERTO' END AS statuschamado FROM Chamado where (status = 1 or status = 2 or status = 4)";
            // Executa comando, gerando objeto DbDataReader
            SqlDataReader dr = cmd.ExecuteReader();

            // Le titulo do livro do resultado e apresenta no segundo rótulo
            if (dr.HasRows)
            {
                while (dr.Read()) // Le o proximo registro
                {
                    //Retorna o nome do usuário
                    nomeUsuarioAberto = usu.Select(dr["usuario_aberto_id"].ToString()).nome;

                    //Retorna o nome da sala
                    nomesala = sala.SelectNome(dr["sala_id"].ToString());

                    //Retorna o nome do usuario
                    nomeUsuarioAtribuido = usu.Select(dr["usuario_atribuido_id"].ToString()).nome;

                    //Retorna o nome da categoria
                    categoriaName = cat.Select(dr["categoria_id"].ToString()).nome;

                    //Retorna o nome do equipamento
                    equip_id = equi.Select(dr["equip_id"].ToString()).modelo;

                    //Retorna o tombamento
                    tombamento = tom.Select(dr["tombamento"].ToString()).tombamento;

                    // Cria objeto com dados lidos do banco de dados
                    aChamado = new Modelo.Chamado(dr["id"].ToString(), dr["usuario_aberto_id"].ToString(), dr["sala_id"].ToString(), dr["usuario_atribuido_id"].ToString(), nomeUsuarioAberto, nomeUsuarioAtribuido, nomesala, Convert.ToInt32(dr["status"].ToString()), Convert.ToInt32(dr["status"].ToString()), dr["statuschamado"].ToString(), dr["resumo"].ToString(), Convert.ToInt32(dr["quant_equipamentos_defeituosos"].ToString()), equip_id, dr["tombamento"].ToString(), Convert.ToDateTime(dr["data"].ToString()), categoriaName);

                    // Adiciona o livro lido à lista
                    aListChamado.Add(aChamado);
                }
            }
            // Fecha DataReader
            dr.Close();
            // Fecha Conexão
            conn.Close();

            return(aListChamado);
        }
示例#5
0
        public List <Modelo.Chamado> selectSearchFechados(string resumo)
        {
            //Variáveis para buscar o nome das outras tabelas
            DALSalas       sala = new DALSalas();
            DALUsuario     usu  = new DALUsuario();
            DALCategoria   cat  = new DALCategoria();
            DALEquipamento equi = new DALEquipamento();
            DALChamado     tom  = new DALChamado();
            string         nomeUsuarioAberto;
            string         nomeUsuarioAtribuido;
            string         nomesala;
            string         categoriaName;
            string         equip_id;
            string         tombamento;


            Modelo.Chamado        aChamado    = new Modelo.Chamado();
            List <Modelo.Chamado> listChamado = new List <Modelo.Chamado>();

            SqlConnection conn = new SqlConnection(connectionString);

            conn.Open();

            SqlCommand cmd = conn.CreateCommand();

            cmd.CommandText = "SELECT id,usuario_aberto_id,sala_id, usuario_atribuido_id, status,resumo,quant_equipamentos_defeituosos,data, categoria_id, equip_id, tombamento, CASE WHEN status = 1 THEN 'ABERTO'WHEN status = 2 THEN 'EM ATENDIMENTO'" +
                              "WHEN status = 3 THEN 'FECHADO'ELSE 'REABERTO' END AS statuschamado FROM Chamado where (resumo like '%" + resumo + "%') and (status like 3)";

            SqlDataReader dr = cmd.ExecuteReader();

            if (dr.HasRows)
            {
                while (dr.Read()) // Le o proximo registro
                {
                    //Retorna o nome do usuário
                    nomeUsuarioAberto = usu.Select(dr["usuario_aberto_id"].ToString()).nome;

                    //Retorna o nome da sala
                    nomesala = sala.SelectNome(dr["sala_id"].ToString());

                    //Retorna o nome do usuario
                    nomeUsuarioAtribuido = usu.Select(dr["usuario_atribuido_id"].ToString()).nome;

                    //Retorna o nome da categoria
                    categoriaName = cat.Select(dr["categoria_id"].ToString()).nome;

                    //Retorna o nome do equipamento
                    equip_id = equi.Select(dr["equip_id"].ToString()).modelo;

                    //Retorna o tombamento
                    tombamento = tom.Select(dr["tombamento"].ToString()).tombamento;

                    // Cria objeto com dados lidos do banco de dados
                    aChamado = new Modelo.Chamado(dr["id"].ToString(), dr["usuario_aberto_id"].ToString(), dr["sala_id"].ToString(), dr["usuario_atribuido_id"].ToString(), nomeUsuarioAberto, nomeUsuarioAtribuido, nomesala, Convert.ToInt32(dr["status"].ToString()), Convert.ToInt32(dr["status"].ToString()), dr["statuschamado"].ToString(), dr["resumo"].ToString(), Convert.ToInt32(dr["quant_equipamentos_defeituosos"].ToString()), equip_id, dr["tombamento"].ToString(), Convert.ToDateTime(dr["data"].ToString()), categoriaName);

                    // Adiciona o livro lido à lista

                    listChamado.Add(aChamado);
                }
            }

            dr.Close();

            conn.Close();

            return(listChamado);
        }