public ReciboBE Incluir(ReciboBE reciboBE) { //Verifico se a lista de AgendamentoSessoes tem registros senao não crio o recibo //if (reciboBE.RefReciboAgendamentoSessoesBE.Count == 0) //return; //Insiro o Recibo Database db = DatabaseFactory.CreateDatabase(); DbCommand command = db.GetSqlStringCommand("INSERT INTO Recibo ( idPaciente, Data, ValorTotal, Desconto) VALUES ('" + reciboBE.idPaciente + "','" + reciboBE.Data + "','" + reciboBE.ValorTotal + "','" + reciboBE.Desconto + "' )"); db.ExecuteNonQuery(command); //Busco o ultimo ID do recibo DbCommand command2 = db.GetSqlStringCommand("select max(id) From Recibo"); Int32 idRecibo = Convert.ToInt32(db.ExecuteScalar(command2)); //Percorro a lista de sessoes que vai costar no recibo e insiro na tabela for (int i = 0; i < reciboBE.RefReciboAgendamentoSessoesBE.Count; i++) { DbCommand command3 = db.GetSqlStringCommand("INSERT INTO ReciboAgendamentoSessoes ( idRecibo, idAgendamentoSessoes, Valor) VALUES ('" + idRecibo + "','" + reciboBE.RefReciboAgendamentoSessoesBE[i].idAgendamentoSessoes + "','" + reciboBE.RefReciboAgendamentoSessoesBE[i].Valor + "' )"); db.ExecuteNonQuery(command3); } reciboBE.id = idRecibo; return reciboBE; }
protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { //Caso nao existam registros no gridview if (GridView1.Rows.Count == 0) return; ReciboBE recibo = new ReciboBE(); //Percorro as linhas do GridView for (int i = 0; i < GridView1.Rows.Count; i++) { //Defino um index para a linha GridViewRow dgItem = GridView1.Rows[i]; //Procuro o controle Label dentro do GridView onde esta o ID do registro Label Label1 = (Label)dgItem.FindControl("Label1"); //Procuro o controle CheckBox dentro do GridView CheckBox CheckBox1 = (CheckBox)dgItem.FindControl("CheckBox1"); //Verifico se o CheckBox esta selecionado para somar apenas as linhas selecionadas if (CheckBox1.Checked) { //Vou somando os valores das colunas para mostrar no FooterTemplate //Variavel ValorTotal usada no metodo CalculaTotal() Label lblValor = (Label)dgItem.FindControl("lblValor"); ValorTotal += Convert.ToDouble(lblValor.Text.Replace("R$", "")); } } //Chamo o metodo que vai calcular o valor CalculaTotal(); }
protected void btnGerar_Click(object sender, EventArgs e) { if (Convert.ToString(ddlPaciente.SelectedValue) == "") { Response.Write("<script>alert('Selecione um paciente')</script>"); return; } //Caso nao existam registros no gridview if (GridView1.Rows.Count == 0) return; ReciboBE reciboBE = new ReciboBE(); //Percorro as linhas do GridView for (int i = 0; i < GridView1.Rows.Count; i++) { //Defino um index para a linha GridViewRow dgItem = GridView1.Rows[i]; //Procuro o controle Label dentro do GridView onde esta o ID das sessoes agendadas Label Label1 = (Label)dgItem.FindControl("Label1"); //Procuro o controle CheckBox dentro do GridView CheckBox CheckBox1 = (CheckBox)dgItem.FindControl("CheckBox1"); //Verifico se o CheckBox esta selecionado. if (CheckBox1.Checked) { //Response.Write(GridView1.Rows[i].Cells[7].Text); reciboBE.Data = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")); reciboBE.Desconto = Convert.ToDecimal(txtPorcentagem.Text); reciboBE.idPaciente = Convert.ToInt32(ddlPaciente.SelectedValue); reciboBE.PacienteNome = Convert.ToString(ddlPaciente.SelectedItem); reciboBE.RefProfissionalBE.id = Convert.ToInt32(ddlProfissional.SelectedValue); //Pego o valor total que esta no footer do gridView Label lblValorTotal = (Label)GridView1.FooterRow.FindControl("lblValorTotal"); reciboBE.ValorTotal = Convert.ToDouble(lblValorTotal.Text.Replace("R$", "")); //Crio a lista de sessoes ReciboAgendamentoSessoesBE reciboAgendamentoSessoesBE = new ReciboAgendamentoSessoesBE(); reciboAgendamentoSessoesBE.idAgendamentoSessoes = Convert.ToInt32(Label1.Text); reciboAgendamentoSessoesBE.Data = Convert.ToDateTime(GridView1.Rows[i].Cells[1].Text); Label lblValor = (Label)dgItem.FindControl("lblValor"); reciboAgendamentoSessoesBE.Valor = Convert.ToDouble(lblValor.Text.Replace("R$", "")); //Coloco a lista de id das sessioes selecinados na lista do recido reciboBE.RefReciboAgendamentoSessoesBE.Add(reciboAgendamentoSessoesBE); } } ReciboDAL reciboDAL = new ReciboDAL(); reciboBE = reciboDAL.Incluir(reciboBE); //Abro a Janela PopUp com o recibo Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "javascript:AbrePopUp('ReciboSalvar.aspx','800','600')", true); if (Session["ReciboBE"] != null) { Session["ReciboBE"] = null; } Session["ReciboBE"] = reciboBE; }