protected void btnAprove_Click(object sender, EventArgs e) { List <STOS> lst = new List <STOS>(); ViewState["reprovar"] = false; try { foreach (GridViewRow r in grdOS.Rows) { DropDownList drop = (DropDownList)r.FindControl("cmbAprovar"); if (drop != null) { if (drop.SelectedValue == "A") { lst.Add(new STOS(((LinkButton)r.FindControl("lnk")).CommandArgument, "A", cmbObra.SelectedValue)); } else if (drop.SelectedValue == "R") { ViewState["reprovar"] = true; lst.Add(new STOS(((LinkButton)r.FindControl("lnk")).CommandArgument, "R", cmbObra.SelectedValue)); } } } if (lst.Count < 1) { throw new Exception("Selecione uma ordem de serviço!"); } List <STOS> l = lst.FindAll(delegate(STOS st) { return(st.state == "A"); }); //aprovar //executar procedure de aprovacao tblOS tbl = new tblOS(); tbl.cmpCoObra = cmbObra.SelectedValue; tbl.cmpNoUsuario = ((HzLibGeneral.Util.HzLogin)Session["login"]).cmpNoUsuario; string str = ""; foreach (STOS st in l) { str += st.cmpIdOS + ","; } tbl.GravarAprovacaoOS(Global.GetConnection(), str); l = lst.FindAll(delegate(STOS st) { return(st.state == "R"); }); //rejeitar if ((bool)ViewState["reprovar"]) { foreach (STOS st in l) { str += st.cmpIdOS + ","; } Session["STOS"] = lst; Response.Redirect("~/ATE/webATE_OSJustificativa.aspx?id=" + ViewState["cmpIdOS"] + "&Sit=R", false); } else { btnPesquisar_Click(sender, e); } } catch (Exception ex) { Global.ShowError(Global.Title, ex.Message); } }