Esempio n. 1
0
    protected void btnAcao_Click(object sender, System.EventArgs e)
    {
        //Label lblmsg = lblme.Text;
        t08_acao t08 = new t08_acao();
        {
            bool result = false;
            bool erro = false;
            string msg = "";
            t08.t03_cd_projeto = pb.cd_projeto();
            t08.nm_acao = pb.ReplaceAspas(txtnm_acao.Text);
            t08.t02_cd_usuario = ddlt02_cd_usuario.SelectedValue;
            t08.ds_acao = pb.ReplaceAspas(txtds_acao.Text);
            t08.dt_inicio = DateTime.Parse(txtdt_inicio.Text);
            t08.dt_fim = DateTime.Parse(txtdt_fim.Text);
            t08.dt_original = DateTime.Parse(txtdt_fim.Text);
            t08.dt_cadastro = DateTime.Now;
            t08.dt_alterado = DateTime.Now;
            t08.ds_palvo = pb.ReplaceAspas(txtds_palvo.Text);
            t08.ds_andamento = pb.ReplaceAspas(txtds_andamento.Text);
            t08.ds_latuacao = pb.ReplaceAspas(txtds_latuacao.Text);
            t08.ds_parceiro = pb.ReplaceAspas(txtds_parceiro.Text);
            t08.ds_ano = pb.ReplaceAspas(txtds_ano.Text);
            t08.dt_aviso = DateTime.Parse(txtdt_aviso.Text);

            t03_projeto t03 = new t03_projeto();
            {
                t03.t03_cd_projeto = t08.t03_cd_projeto;
                t03.Retrieve();
                if (t03.Found)
                {
                    if ((t08.dt_inicio < t03.dt_inicio)||(t08.dt_fim > t03.dt_fim))
                    {
                        erro = true;
                        msg = pb.Message("As datas de início e término da Ação deve estar entre as "+
                            "datas de início (" + t03.dt_inicio .ToShortDateString() + ") "+
                            "e término ("+t03.dt_fim.ToShortDateString()+") do Projeto!", "erro");
                    }
                    if ((t08.dt_aviso < t08.dt_inicio)||(t08.dt_aviso > t08.dt_fim))
                    {
                        erro = true;
                        msg = pb.Message("A data de aviso deve estar entre as "+
                            "datas de início (" + t08.dt_inicio .ToShortDateString() + ") "+
                            "e término ("+t08.dt_fim.ToShortDateString()+") da Ação!", "erro");
                    }

                }
            }
            if (!(erro))
            {
                if (cod.Value != "0")
                {
                                t08.t08_cd_acao = Int32.Parse(cod.Value);

                                foreach (DataRow dr in t08.ListAlt().Tables[0].Rows)
                                {
                                    if (dr["menor"] != DBNull.Value)
                                    {
                                        //Response.Write(dr["menor"]);
                                        if ((DateTime.Parse(txtdt_inicio.Text).Year > (int)dr["menor"]) || (DateTime.Parse(txtdt_fim.Text).Year < (int)dr["maior"]))
                                        {
                                            if (btnAcao.CommandArgument != "1")
                                            {
                                                btnAcao.Text = "Confirmar";
                                                lblme.Text = "<b>Atenção:</b> Serão excluídos eventuais valores de Financeiros cadastrados em anos não contidos no novo prazo, clique em Confirmar para prosseguir com a alteração.<br />";
                                                btnAcao.CommandArgument = "1";
                                            }
                                            else
                                            {
                                                t08.order = " nu_ano not between '" + DateTime.Parse(txtdt_inicio.Text).Year + "' And '" + DateTime.Parse(txtdt_fim.Text).Year + "' ";
                                                t08.DeleteAlt();

                                                result = t08.Update();
                                                msg = pb.Message("Alteração realizada com sucesso!", "ok");
                                                pb.saveLog(pb.cd_usuario(), pb.cd_projeto(), "", "t08_acao", "update", cod.Value);

                                            }
                                        }
                                        else
                                        {
                                            result = t08.Update();
                                            msg = pb.Message("Alteração realizada com sucesso!", "ok");
                                            pb.saveLog(pb.cd_usuario(), pb.cd_projeto(), "", "t08_acao", "update", cod.Value);
                                        }
                                    }
                                    else
                                    {
                                        result = t08.Update();
                                        msg = pb.Message("Alteração realizada com sucesso!", "ok");
                                        pb.saveLog(pb.cd_usuario(), pb.cd_projeto(), "", "t08_acao", "update", cod.Value);
                                    }
                                }

                }
                else
                {
                    result = t08.Save();
                    msg = pb.Message("Cadastro realizado com sucesso!", "ok");
                    pb.saveLog(pb.cd_usuario(), pb.cd_projeto(), "", "t08_acao", "insert", t08.nm_acao);

                    if (result)
                    {
                        t08.RetrieveCod();
                        if (t08.Found)
                        {
                            t09_marco t09 = new t09_marco();
                            {
                                t09.t08_cd_acao = t08.t08_cd_acao;
                                t09.nu_esforco = 1;
                                t09.ds_marco = "Ação encerrada";
                                t09.dt_prevista = t08.dt_fim;
                                t09.dt_original = t08.dt_fim;
                                t09.ds_comentario = "";
                                t09.fl_status = "G";
                                t09.dt_cadastro = DateTime.Now;
                                t09.dt_alterado = DateTime.Now;
                                t09.fl_original = true;
                                t09.Save();
                            }
                        }
                    }
                }

                if (result)
                {
                    Ocultar();
                    GridBind();
                    cod.Value = "0";
                }
            }
            lblMsg.Text = msg;
            lblMsg.Visible = true;
        }
    }