Exemplo n.º 1
0
        public ActionResult AtualizaStatus(int id, modItens item)
        {
            if (Session["nomelogin"] != null)
            {
                try
                {
                    item.idItem = id;
                    _db.pubDesenvolvedorAtualizaStatusItem(item);

                    string corpo_email = "<html><head><title>sistema de os</title></head>"
                                         + "<body><h2>item nº: <b style='color:blue;'>{0}</b></h2> projeto: <b>{1}</b> - versão: <b>{2}</b></br><br>"
                                         + "<h3><b style='color:red;'><p>status alterado</p></b></h3>"
                                         + "</br>"
                                         + "<ul><li><b>solicitante:</b> <u>{3}</u> - <b>departamento:</b> {4} </li>"
                                         + "</br>"
                                         + "<li><b>prioridade:</b> {5} - <b>desenvolvedor responsável:</b> {6} , status do item: <b style='color: red;'>{7}</b> </li>"
                                         + "</br></br>"
                                         + "<li><b>descrição da solicitação:</b> {8} </li>"
                                         + "</body></html>",
                           corpo    = string.Empty, //<--- variável utilizada depois para concatenar o corpo do e-mail com os outros valores a serem preenchidos vindos do bd.
                           lst_hist = string.Empty,
                           lst_desi = string.Empty,
                           lst_prod = string.Empty;

                    //cria variável que realiza consulta no banco, do último item criado para enviar e-mail.
                    //  var resultado = _db.pubconsultaporiditemenvioemail(id);

                    //seta variáveis que serão utilizadas para o corpo do e-mail
                    var iditem      = 0;
                    var projeto     = string.Empty;
                    var versao      = string.Empty;
                    var nomesoli    = string.Empty;
                    var depto       = string.Empty;
                    var desc        = string.Empty;
                    var prior       = string.Empty;
                    var emaildesenv = string.Empty;
                    var emailreq    = string.Empty;
                    var emailalte   = string.Empty;
                    var desenvolv   = string.Empty;
                    var descdesen   = string.Empty;
                    var tpstatus    = string.Empty;

                    //saída para o envio da mensagem
                    var msg = "e-mail enviado!";

                    //busca cada campo a ser preenchido no envio de e-mail (carrega corpo_mail)
                    //foreach (var final in resultado)
                    //{
                    //    iditem = final.iditem; //incrementa as variáveis com os valores do select após save do item.
                    //    projeto = final.nomeprojeto;
                    //    versao = final.versao;
                    //    nomesoli = final.solicitante;
                    //    depto = final.depto;
                    //    desc = final.desc;
                    //    prior = final.prioridade;
                    //    emaildesenv = final.emaildev;
                    //    emailreq = final.emailuser;
                    //    emailalte = final.emailalter;
                    //    desenvolv = final.desenvolvedor;
                    //    descdesen = final.descricaodev;
                    //    tpstatus = final.statusitem;
                    //}

                    //concatena o corpo do e-mail com os valores das variáveis, conforme posição dos campos no texto html acima, exemplo: {0}, {1}, {2}...
                    corpo = string.Format(corpo_email, iditem, projeto, versao, nomesoli, depto, prior, desenvolv, tpstatus, desc);

                    //chama a classe do repositório onde está setado o envio do e-mail.
                    var envia = new EnviaEmailRepository();

                    if (emailreq == string.Empty || emailalte == string.Empty)
                    {
                        //utiliza o método de envio de e-mail e concate o corpo, texto, campos a serem utilizados para envio conforme montado acima.
                        envia.MandaEmail(string.Concat(emaildesenv),
                                         string.Concat("projeto: ", projeto, " versão: ", versao, " item: [ ", iditem.ToString(), " ]", " - status alterado :"), corpo, out msg);
                    }

                    else if (emailreq == string.Empty)
                    {
                        //utiliza o método de envio de e-mail e concate o corpo, texto, campos a serem utilizados para envio conforme montado acima.
                        envia.MandaEmail(string.Concat(emaildesenv, "; ", emailalte),
                                         string.Concat("projeto: ", projeto, " versão: ", versao, " item: [ ", iditem.ToString(), " ]", " - status alterado :"), corpo, out msg);
                    }
                    else if (emailalte == string.Empty)
                    {
                        envia.MandaEmail(string.Concat(emaildesenv, "; ", emailreq),
                                         string.Concat("projeto: ", projeto, " versão: ", versao, " item: [ ", iditem.ToString(), " ]", " - status alterado :"), corpo, out msg);
                    }
                    else
                    {
                        envia.MandaEmail(string.Concat(emaildesenv, "; ", emailreq, "; ", emailalte),
                                         string.Concat("projeto: ", projeto, " versão: ", versao, " item: [ ", iditem.ToString(), " ]", " - status alterado :"), corpo, out msg);
                    }

                    //após todo o processo, exibe mensagem em tela com número do item e que foi enviado ao desenvolvedor.
                    ViewBag.mensagem = "status do item nº: " + iditem + " alterado com sucesso!";

                    return(ViewBag.mensagem);
                }
                catch
                {
                    ViewBag.departamento        = new SelectList(dbContext.TB_DEPARTAMENTO, "id_departamento", "nome");
                    ViewBag.desenvolvedor       = new SelectList(dbContext.TB_DESENVOLVEDORES, "id_dev", "nome_desenvolvedor");
                    ViewBag.tipodesenvolvimento = new SelectList(dbContext.TB_TIPO_DESENVOLVIMENTO, "id_tipo_desenv", "descricao");
                    ViewBag.status     = new SelectList(dbContext.TB_STATUS_DESENVOLVIMENTO, "id_status", "descricao");
                    ViewBag.prioridade = new SelectList(dbContext.TB_PRIORIDADE_ITEM, "id", "prioridade_tipo");

                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("logar", "usuario"));
            }
        }
Exemplo n.º 2
0
        public ActionResult AdminsAtualizaItemAberto(int id, modItens item)
        {
            try
            {
                string login = Session["NomeLogin"].ToString();

                item.idItem          = id;
                item.idUsuarioLogado = login;

                _db.pubAdminAtualizaItensEmAberto(item);

                //Monta corpo do e-mail para envio ao desenvolvedor, admins do sistema e usuário abertura.
                string corpo_email = "<html><head><title>Sistema de OS</title></head>"
                                     + "<body><h2>Item Nº: <b style='color:blue;'>{0}</b></h2> Projeto: <b>{1}</b> - Versão: <b>{2}</b></br><br>"
                                     + "<h3><b style='color:red;'><p>Item Alterado</p></b></h3>"
                                     + "</br>"
                                     + "<ul><li><b>Solicitante:</b> <u>{3}</u> - <b>Departamento:</b> {4} </li>"
                                     + "</br>"
                                     + "<li><b>Prioridade:</b> {5} - <b>Desenvolvedor designado:</b> {6} , Status do Item: {7} </li>"
                                     + "</br></br>"
                                     + "<li><b>Descrição:</b> {8} </li>"
                                     + "</body></html>",
                       corpo    = string.Empty, //<--- Variável utilizada depois para concatenar o corpo do e-mail com os outros valores a serem preenchidos vindos do BD.
                       lst_hist = string.Empty,
                       lst_desi = string.Empty,
                       lst_prod = string.Empty;

                //Cria variável que realiza consulta no banco, do último item criado para enviar e-mail.
                //  var resultado = _db.pubConsultaPorIdItemEnvioEmail(id);

                //Seta variáveis que serão utilizadas para o corpo do e-mail
                var idItem      = 0;
                var projeto     = string.Empty;
                var versao      = string.Empty;
                var nomeSoli    = string.Empty;
                var depto       = string.Empty;
                var desc        = string.Empty;
                var prior       = string.Empty;
                var emailDesenv = string.Empty;
                var emailReq    = string.Empty;
                var desenvolv   = string.Empty;
                var emailAlter  = string.Empty;
                var statusIt    = string.Empty;

                //saída para o envio da mensagem
                var msg = "E-mail enviado!";

                //Busca cada campo a ser preenchido no envio de e-mail (carrega corpo_mail)
                //foreach (var final in resultado)
                //{
                //    idItem = final.idItem; //incrementa as variáveis com os valores do select após save do item.
                //    projeto = final.nomeProjeto;
                //    versao = final.versao;
                //    nomeSoli = final.solicitante;
                //    depto = final.depto;
                //    desc = final.desc;
                //    prior = final.prioridade;
                //    emailDesenv = final.emailDev;
                //    emailReq = final.emailUser;
                //    emailAlter = final.emailAlter;
                //    desenvolv = final.desenvolvedor;
                //    statusIt = final.statusItem;
                //}

                //concatena o corpo do e-mail com os valores das variáveis, conforme posição dos campos no texto html acima, exemplo: {0}, {1}, {2}...
                corpo = string.Format(corpo_email, idItem, projeto, versao, nomeSoli, depto, prior, desenvolv, statusIt, desc);

                //chama a classe do repositório onde está setado o envio do e-mail.
                var envia = new EnviaEmailRepository();

                if (emailReq == string.Empty || emailAlter == string.Empty)
                {
                    //utiliza o método de envio de e-mail e concate o corpo, texto, campos a serem utilizados para envio conforme montado acima.
                    envia.MandaEmail(string.Concat(emailDesenv),
                                     string.Concat("Projeto: ", projeto, " Versão: ", versao, " Item: [ ", idItem.ToString(), " ]", " - Alterado :"), corpo, out msg);
                }

                else if (emailReq == string.Empty)
                {
                    envia.MandaEmail(string.Concat(emailDesenv, "; ", emailAlter),
                                     string.Concat("Projeto: ", projeto, " Versão: ", versao, " Item: [ ", idItem.ToString(), " ]", " - Alterado :"), corpo, out msg);
                }
                else if (emailAlter == string.Empty)
                {
                    envia.MandaEmail(string.Concat(emailDesenv, "; ", emailReq),
                                     string.Concat("Projeto: ", projeto, " Versão: ", versao, " Item: [ ", idItem.ToString(), " ]", " - Alterado :"), corpo, out msg);
                }
                else
                {
                    envia.MandaEmail(string.Concat(emailDesenv, "; ", emailReq, "; ", emailAlter),
                                     string.Concat("Projeto: ", projeto, " Versão: ", versao, " Item: [ ", idItem.ToString(), " ]", " - Alterado :"), corpo, out msg);
                }

                //Após todo o processo, exibe mensagem em tela com número do item e que foi enviado ao desenvolvedor.
                ViewBag.Mensagem = "Item Nº: " + idItem + " alterado com sucesso!";

                return(ViewBag.Mensagem);
            }
            catch
            {
                ViewBag.Departamento        = new SelectList(dbContext.TB_DEPARTAMENTO, "ID_DEPARTAMENTO", "NOME");
                ViewBag.Desenvolvedor       = new SelectList(dbContext.TB_DESENVOLVEDORES, "ID_DEV", "NOME_DESENVOLVEDOR");
                ViewBag.TipoDesenvolvimento = new SelectList(dbContext.TB_TIPO_DESENVOLVIMENTO, "ID_TIPO_DESENV", "DESCRICAO");
                ViewBag.Status     = new SelectList(dbContext.TB_STATUS_DESENVOLVIMENTO, "ID_STATUS", "DESCRICAO");
                ViewBag.Prioridade = new SelectList(dbContext.TB_PRIORIDADE_ITEM, "ID", "PRIORIDADE_TIPO");

                ViewBag.Erro = "Problema ao tentar gerar solicitação ! ";

                return(View(item));
            }
        }
Exemplo n.º 3
0
        public ActionResult Create(int id, modItens item)
        {
            if (Session["NomeLogin"] != null)
            {
                try
                {
                    //aqui, seta as variáveis para salvar/gravar um novo item atrelado a uma OS (Build).
                    item.idNmSolicitacao = id;
                    item.dtAbertura      = DateTime.Now;
                    item.idUsuarioLogado = Session["NomeLogin"].ToString(); //<-- Utiliza o login do usuário para enviar e-mail de abertura.

                    //anexo de arquivo no sistema
                    int anexo = 0;

                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFileBase arquivo = Request.Files[i];

                        if (arquivo.ContentLength > 0)
                        {
                            var    uploadPath = Server.MapPath("~/Images_Anexos");
                            string caminhoArq = Path.Combine(@uploadPath, Path.GetFileName(arquivo.FileName));

                            arquivo.SaveAs(caminhoArq);
                            anexo++;
                        }
                    }

                    ViewData["Mensagem"] = String.Format("{0} arquivo salvo com sucesso.", anexo);

                    //Salva no banco de dados o novo item aberto.
                    _db.pubCadastraNovoItem(item);

                    //Monta corpo do e-mail para envio ao desenvolvedor, admins do sistema e usuário abertura.
                    string corpo_email = "<html><head><title>Sistema de OS</title></head>"
                                         + "<body><h2>Item Nº: <b style='color:blue;'>{0}</b></h2> Projeto: <b>{1}</b> - Versão: <b>{2}</b></br><br>"
                                         + "<h3><b style='color:red;'><p>Aviso de novo item</p></b></h3>"
                                         + "</br>"
                                         + "<ul><li><b>Solicitante:</b> <u>{3}</u> - <b>Departamento:</b> {4} </li>"
                                         + "</br>"
                                         + "<li><b>Prioridade:</b> {5} - <b>Desenvolvedor Responsável:</b> {6} </li>"
                                         + "</br></br>"
                                         + "<li><b>Descrição:</b> {7} </li>"
                                         + "</body></html>",
                    //designado = "<li><b>Data: </b>{0}<ul><li><b>Nome: </b>{1}</li></ul></li>", //<--- Ainda não está sendo utilizado.
                           corpo    = string.Empty, //<--- Variável utilizada depois para concatenar o corpo do e-mail com os outros valores a serem preenchidos vindos do BD.
                           lst_hist = string.Empty,
                           lst_desi = string.Empty,
                           lst_prod = string.Empty;

                    //Cria variável que realiza consulta no banco, do último item criado para enviar e-mail.
                    //var resultado = "";//_db.pubConsultaItemParaEnvioEmail();

                    //Seta variáveis que serão utilizadas para o corpo do e-mail
                    var idItem      = 0;
                    var projeto     = string.Empty;
                    var versao      = string.Empty;
                    var nomeSoli    = string.Empty;
                    var depto       = string.Empty;
                    var desc        = string.Empty;
                    var prior       = string.Empty;
                    var emailDesenv = string.Empty;
                    var emailReq    = string.Empty;
                    var desenvolv   = string.Empty;

                    //saída para o envio da mensagem
                    var msg = "E-mail enviado!";

                    //Busca cada campo a ser preenchido no envio de e-mail (carrega corpo_mail)
                    //foreach (var final in resultado)
                    //{
                    //    idItem = final.idItem; //incrementa as variáveis com os valores do select após save do item.
                    //    projeto = final.nomeProjeto;
                    //    versao = final.versao;
                    //    nomeSoli = final.solicitante;
                    //    depto = final.depto;
                    //    desc = final.desc;
                    //    prior = final.prioridade;
                    //    emailDesenv = final.emailDev;
                    //    emailReq = final.emailUser;
                    //    desenvolv = final.desenvolvedor;
                    //}

                    //concatena o corpo do e-mail com os valores das variáveis, conforme posição dos campos no texto html acima, exemplo: {0}, {1}, {2}...
                    corpo = string.Format(corpo_email, idItem, projeto, versao, nomeSoli, depto, prior, desenvolv, desc);

                    //chama a classe do repositório onde está setado o envio do e-mail.
                    var envia = new EnviaEmailRepository();

                    //utiliza o método de envio de e-mail e concate o corpo, texto, campos a serem utilizados para envio conforme montado acima
                    envia.MandaEmail(string.Concat(emailReq, ";", emailDesenv),
                                     string.Concat("Projeto: ", projeto, " Versão: ", versao, " Item: [ ", idItem.ToString(), " ]", " - Aviso de novo item"), corpo, out msg);

                    //Após todo o processo, exibe mensagem em tela com número do item e que foi enviado ao desenvolvedor.
                    ViewBag.Mensagem = "Item Nº: " + idItem + " enviado para desenvolvimento!";

                    return(ViewBag.Mensagem);
                }

                catch
                {
                    ViewBag.Departamento        = new SelectList(dbContext.TB_DEPARTAMENTO, "ID_DEPARTAMENTO", "NOME");
                    ViewBag.Desenvolvedor       = new SelectList(dbContext.TB_DESENVOLVEDORES, "ID_DEV", "NOME_DESENVOLVEDOR");
                    ViewBag.TipoDesenvolvimento = new SelectList(dbContext.TB_TIPO_DESENVOLVIMENTO, "ID_TIPO_DESENV", "DESCRICAO");
                    ViewBag.Status     = new SelectList(dbContext.TB_STATUS_DESENVOLVIMENTO, "ID_STATUS", "DESCRICAO");
                    ViewBag.Prioridade = new SelectList(dbContext.TB_PRIORIDADE_ITEM, "ID", "PRIORIDADE_TIPO");

                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("Logar", "Usuario"));
            }
        }