コード例 #1
0
        public ActionResult ProcessaJustificativa(int id, int jtfid, DateTime dao, DateTime daf, int justid)
        {
            try
            {
                Indigo_JustificaHorasUsuario objJust     = dataInterface.BuscaJustificaHorasUsuario().FirstOrDefault(x => x.usr_id == id && x.jtf_data == null && x.usrjtf_id == justid && x.jft_dataReg != null);
                Indigo_JustificaHorasProjeto objJustDesc = dataInterface.BuscaTipoJustificativa().FirstOrDefault(x => x.jtf_Id == justid);
                Indigo_Usuario      objUsuario           = dataInterface.BuscaUsuario().FirstOrDefault(x => x.usr_Id == id);
                Indigo_HorasProjeto HorasProjeto         = new Indigo_HorasProjeto();
                Indigo_HorasNTrab   HorasNtrab           = new Indigo_HorasNTrab();
                var retorno = "";
                if (objJust != null)
                {
                    objJust.jtf_Aprova = jtfid;
                    objJust.jtf_data   = DateTime.Now;
                    dataInterface.JustificativaUsuario(objJust);
                    if (objJust.jft_Tipo == "HNormal")
                    {
                        Indigo_HorasProjeto objHorasProj = dataInterface.BuscaHorasProjeto().FirstOrDefault(x => x.hpo_Id == objJust.hpo_id);
                        objHorasProj.hpo_jtfAprovado = jtfid;
                        retorno = dataInterface.MantemHorasProjeto(objHorasProj);
                    }
                    else if (objJust.jft_Tipo == "HNTrab")
                    {
                        Indigo_HorasNTrab objHorasProj = dataInterface.BuscaHorasNtrab().FirstOrDefault(x => x.hnt_Id == objJust.hpo_id);
                        objHorasProj.hnt_jtfAprovado = jtfid;
                        retorno = dataInterface.MantemHorasNTrab(objHorasProj);
                    }
                    if (retorno != "")
                    {
                        string trataHora = "", strAprova = "";
                        if (jtfid == 1)
                        {
                            strAprova      = "aprovada";
                            ViewBag.status = "Justificativa aprovada com sucesso !";
                        }
                        else if (jtfid == 0)
                        {
                            strAprova      = "negada";
                            ViewBag.status = "Justificativa negada com sucesso !";
                        }

                        if (DateTime.Now.Hour < 12)
                        {
                            trataHora = "Bom dia";
                        }
                        else if (DateTime.Now.Hour > 12 && DateTime.Now.Hour < 18)
                        {
                            trataHora = "Boa tarde";
                        }
                        else if (DateTime.Now.Hour > 18)
                        {
                            trataHora = "Boa noite";
                        }

                        StringBuilder pagina = new StringBuilder();

                        pagina.Append(@"<!DOCTYPE html>
                                        <html>
                                        <head>
                                            <title>Ferramenta Check-in / Check-out</title>
                                        </head>
                                        <body>
                                        <style>
                                        body
                                        {
                                        background-color:aliceblue;
                                        }
                                        @font-face
                                     {font-family:Calibri;
                                     panose-1:2 15 5 2 2 2 4 3 2 4;}
                                        @font-face
                                     {font-family:Verdana;
                                     panose-1:2 11 6 4 3 5 4 4 2 4;}
                                        table, td {s
                                        border:1px solid black;
                                        border-collapse: collapse;
                                        }
                                        </style>
                                        <p>" + objUsuario.usr_Nome + @", " + trataHora + @" !</p>
                                        <p>Sua justificativa <b>" + objJustDesc.jtf_Nome + @"</b>, foi " + strAprova + @" pelo seu gestor.</p>
                                        </div>
                                        <p>Segue o link da página.</ p>
                                        </br>
                                        </br>
                                        <a href = ""http://admin.indigosoft.biz/"">http://admin.indigosoft.biz/</a>
                                        </body>
                                        </html>");

                        var email = EnviaEmail("*****@*****.**", "indigo.2017", objUsuario.usr_Email, "Ferramenta Check-in/out - Aprovação de justificativa", pagina.ToString());

                        return(View());
                    }
                    else
                    {
                        ViewBag.status = "Ocorreu algum erro, tente novamente !";
                        return(View());
                    }
                }
                else
                {
                    ViewBag.status = "Justificativa já processada !";
                    return(View());
                }
            }
            catch (Exception ex)
            {
                log(ex.Message + " -- " + ex.StackTrace);
                return(View());
            }
        }