public List <CotizaDet> ConsultarDet(int cotiid) { BD bd = new BD(); string cadena = bd.Cadena; SqlConnection cn = new SqlConnection(cadena); string sql = "SELECT * FROM SWVMDDET_COTI07 " + "WHERE SWVM07COTI_ID=@SWVM07COTI_ID"; SqlCommand cm = new SqlCommand(sql, cn); cm.Parameters.AddWithValue("@SWVM07COTI_ID", cotiid); List <CotizaDet> lista = new List <CotizaDet>(); cn.Open(); SqlDataReader reader = cm.ExecuteReader(); while (reader.Read()) { CotizaDet cdet = new CotizaDet(); cdet.Prodid = reader.GetInt32(1); cdet.Cateid = reader.GetInt32(2); cdet.Cantidad = reader.GetInt32(3); cdet.Precio = reader.GetDecimal(4); cdet.Subtotal = reader.GetDecimal(5); cdet.Prov = reader.GetInt32(7); lista.Add(cdet); } reader.Close(); cn.Close(); return(lista); }
public void InsertDet(CotizaDet detalle) { BD bd = new BD(); string cadena = bd.Cadena; SqlConnection cn = new SqlConnection(cadena); SqlCommand cmd = new SqlCommand("SP_INSERT_DETCOTI", cn); cmd.CommandType = CommandType.StoredProcedure; //inserts según parametros cmd.Parameters.AddWithValue("@SWVM07COTI_ID", detalle.Cotiid); cmd.Parameters.AddWithValue("@SWVM07PROD_ID", detalle.Prodid); cmd.Parameters.AddWithValue("@SWVM07CATE_ID", detalle.Cateid); cmd.Parameters.AddWithValue("@SWVM07CANTIDAD", detalle.Cantidad); cmd.Parameters.AddWithValue("@SWVM07PRECIO", detalle.Precio); cmd.Parameters.AddWithValue("@SWVM07SUBTOTAL", detalle.Subtotal); cmd.Parameters.AddWithValue("@SWVM07IVA", detalle.Iva); cmd.Parameters.AddWithValue("@SWVM07PROV_ID", detalle.Prov); cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); }
private void Grabar() { int cliid = int.Parse(Session["cliid"].ToString()); CotizaBD cBD = new CotizaBD(); int cotiid = cBD.LastCotiza() + 1; CotizaCab cCab = new CotizaCab(); CotizaDet cDet = new CotizaDet(); //llenamos cabecera con datos de formulario cCab.Cotiid = cotiid; cCab.Cliid = cliid; cCab.Total = decimal.Parse(lblTotal.Text); cCab.Estado = "A"; //insertamos cabecera en tabla cBD.InsertCab(cCab); //foreach para recorrer el grid por filas para posterior insercion del detalle foreach (GridViewRow gvd in gvDetalle.Rows) { //vector codigo que toma el productoid y codigoid combinado //funcion split para posteriormente guardar en variables int string[] codigo = gvd.Cells[0].Text.ToString().Split('C'); string[] codigo2 = codigo[1].Split('V'); int gpid, gcid, gprov; //variable para evaluar el arreglo carrito gpid = Convert.ToInt32(codigo[0].Substring(1)); gcid = Convert.ToInt32(codigo2[0]); gprov = Convert.ToInt32(codigo2[1]); cDet.Cotiid = cotiid; cDet.Prodid = gpid; cDet.Cateid = gcid; cDet.Cantidad = int.Parse(gvd.Cells[2].Text.ToString()); cDet.Precio = decimal.Parse(gvd.Cells[3].Text.ToString()); cDet.Subtotal = cDet.Precio * cDet.Cantidad; cDet.Iva = cDet.Subtotal * Convert.ToDecimal(0.12); cDet.Prov = gprov; //insertar detalle en tabla cBD.InsertDet(cDet); } }