public string Eliminar(E_Articulo Obj) { string Rpta = ""; SqlConnection SqlCon = new SqlConnection(); try { SqlCon = Conexion.getInstancia().CrearConexion(); SqlCommand Comando = new SqlCommand("spArticulos", SqlCon); Comando.CommandType = CommandType.StoredProcedure; Comando.Parameters.Add("@ope", SqlDbType.Int).Value = 3; Comando.Parameters.Add("@iart", SqlDbType.Int).Value = Obj.idearticulo; Comando.Parameters.Add("@iname", SqlDbType.VarChar).Value = Obj.nombreart; Comando.Parameters.Add("@icode", SqlDbType.VarChar).Value = Obj.codigoart; Comando.Parameters.Add("@iprecio", SqlDbType.Decimal).Value = Obj.precioart; Comando.Parameters.Add("@istock", SqlDbType.Decimal).Value = Obj.stock; Comando.Parameters.Add("@iuni", SqlDbType.VarChar).Value = Obj.unidad; SqlCon.Open(); Rpta = Comando.ExecuteNonQuery() == 1 ? "OK" : "No se ELIMINO Registro"; } catch (Exception ex) { Rpta = ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(Rpta); }
static public void addArticulo() { E_Articulo articulo = new E_Articulo(); BD_Articulo bdAticulo = new BD_Articulo(); string xRet; //articulo.codArticulo = 100; articulo.descripcion = "tersuave"; articulo.ubicacion = "afuera"; articulo.fecCompra = Convert.ToDateTime("24/12/2013"); articulo.stockMin = 0; articulo.stock = 10; articulo.precioLista = 500; //articulo.descuento = 20; articulo.iva = 21; articulo.observacion = "metros nose"; xRet = bdAticulo.add_Articulo(articulo); if (xRet != "0") { Console.WriteLine("no se agrego la marca"); } else { Console.WriteLine("se agrego la marca"); } }
static public void addVenta() { E_Venta venta = new E_Venta(); E_DetalleVenta detalleVenta = new E_DetalleVenta(); //cabecera de venta venta.anular = false; venta.cliente.idCliente = 1; //consumidor final venta.codVenta = 0; // lo busco en la base de datos venta.condPago.idCondPago = 1; //efectivo venta.cuit = "26-3547123"; venta.direccion = ""; venta.fecha = DateTime.Now; //fecha de hoy venta.observacion = "Realizado en test"; //venta.usuario.idUsuario = 1;// Bonnetto venta.vendedor.idVendedor = 1; // Eamnuel Bonetto //Detalle BD_Articulo bdAritculo = new BD_Articulo(); //AGREGAR ARTICULO E_Articulo nvoArticulo = bdAritculo.getOne_Articulo("P1"); detalleVenta.codArticulo = nvoArticulo.codArticulo; detalleVenta.descripcion = nvoArticulo.descripcion; detalleVenta.cantidad = 1; detalleVenta.precioArticulo = detalleVenta.cantidad * nvoArticulo.precioFinal; Console.WriteLine("idCliente: " + venta.cliente.idCliente + " condPago: " + venta.condPago); Console.WriteLine("CUIT: " + venta.cuit + " Fecha de venta: " + venta.fecha.ToString()); //Console.WriteLine("Observacion: " + venta.observacion + " idUsuario: " + venta.usuario.idUsuario + " idVendedor " + venta.vendedor.idVendedor); Console.WriteLine("----------------------------Detalle-----------------------------------"); Console.WriteLine("codArticulo | Descripcion | descuento | cantidad | total "); Console.WriteLine(detalleVenta.codArticulo + " | " + detalleVenta.descripcion + "|" + 0 + " | " + detalleVenta.precioArticulo); }
public void refrescarGrilla() { N_Articulo nArticulo = new N_Articulo(); E_Articulo articulo = nArticulo.getOneArticulo(_codArticuloAgr); if (articulo == null) { return; //c , btn } dgDetalle.Rows.Add(new[] { articulo.codArticulo, articulo.descripcion, articulo.observacion, "1", "X", articulo.stock.ToString() }); // una vez terminado el agreafo vuelvo la variable de estado a null _codArticuloAgr = null; }
//Contructor /// <summary> /// Contructor con parametro que recibe un articulo si es para consultar se le pasa un articulo /// si es para crear una nuevo articulo se le pasa NULL /// </summary> /// <param name="articulo"></param> public frmArticulo(E_Articulo oArticulo) { InitializeComponent(); //_articulo = articulo; //cargarCombos(); //consultarArticulo(codArticulo); _oArticuloConsultado = oArticulo; _frmName = "frmArticulo"; if (_oArticuloConsultado == null) //estan agregando un articulo { _colsDescRec = new List <DataGridViewColumn>(); _valDescRec = new List <string>(); } }
public static string Eliminar(int idearticulo, string nombreart, string codigoart, decimal precioart, int tipoart, decimal stock, string unidad) { D_Articulo Datos = new D_Articulo(); E_Articulo Obj = new E_Articulo(); Obj.idearticulo = idearticulo; Obj.nombreart = nombreart; Obj.codigoart = codigoart; Obj.precioart = precioart; Obj.tipoart = tipoart; Obj.stock = stock; Obj.unidad = unidad; return(Datos.Eliminar(Obj)); }
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) // Implementacion del hilo de importacion { //Lista de articulo a cargar o actualizar List <E_Articulo> oListArticulos = new List <E_Articulo>(); //Recorro la lista de articulo foreach (DataGridViewRow row in dgImportar.Rows) { E_Articulo oArticulo = new E_Articulo(); oArticulo.codArticulo = row.Cells[colCodArticulo.Index].Value.ToString(); oArticulo.descripcion = row.Cells[colDetalle.Index].Value.ToString(); oArticulo.ganancia = Convert.ToDecimal(txtGanancia.Text); oArticulo.iva = Convert.ToDecimal(txtIva.Text); oArticulo.precioLista = Convert.ToDecimal(row.Cells[colPrecioLista.Index].Value); oArticulo.stock = 0; oArticulo.stockMin = 0; oArticulo.marca.idMarca = idMarcaSelect; oArticulo.observacion = ""; oArticulo.ubicacion = "Pintureria"; oArticulo.precioFinal = Convert.ToDecimal(row.Cells[colConIva.Index].Value); // el precio final es el precion con iva oArticulo.detCondCosto = cargarCondicionStock(); oListArticulos.Add(oArticulo); } N_Articulo nArticulo = new N_Articulo(); //Lista de articulos que no se pudieron agregar List <E_Articulo> oListArticulosError = nArticulo.addImportArticulo(oListArticulos); _FinImportacion = true; if (oListArticulosError == null) { MessageBox.Show("¡La importación de los artículos se realizo con exito!", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(oListArticulosError.Count + " articulos no se pudieron importar ", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information); } SetLoandig(false, picImportar, lblImportarDatos); //Pongo visible el progreso de importacion }
public List <E_Articulo> getAll_ArticuloXcod(string filtro) { List <E_Articulo> articulos = new List <E_Articulo>(); String xRet = "0"; try { cn.Open(); cmd = new SqlCommand("getAllArticuloXcod", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codArticulo", filtro); SqlDataReader oReader = cmd.ExecuteReader(); while (oReader.Read()) { E_Articulo articulo = new E_Articulo(); articulo.codArticulo = oReader["codArticulo"].ToString(); articulo.descripcion = oReader["descripcion"].ToString(); articulo.stock = Convert.ToInt32(oReader["stock"]); articulo.marca.nombre = oReader["nombreMarca"].ToString(); articulo.precioFinal = Convert.ToDecimal(oReader["precioFinal"]); articulo.observacion = oReader["observacion"].ToString(); articulos.Add(articulo); } } catch (Exception e) { xRet = e.Message; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(articulos); }
public static string Insertar(string nombreart, string codigoart, decimal precioart, int tipoart, decimal stock, string unidad) { D_Articulo Datos = new D_Articulo(); string Existe = Datos.Existe(nombreart); if (Existe.Equals("1")) { return(nombreart = "Articulo YA Existe"); } else { E_Articulo Obj = new E_Articulo(); Obj.nombreart = nombreart; Obj.codigoart = codigoart; Obj.precioart = precioart; Obj.tipoart = tipoart; Obj.stock = stock; Obj.unidad = unidad; return(Datos.Insertar(Obj)); } }
/// <summary> /// Permite importar una lista de articulo(agregando los articulos y modificacion los articulos existentes) /// </summary> /// <param name="?"></param> /// <returns></returns> public List <E_Articulo> addImportArticulo(List <E_Articulo> listImportArticulo) { //Lista de articulo que produgieron error al agregarse List <E_Articulo> oListArticuloError = new List <E_Articulo>(); //Recorro las lista de articulo que se quiere importar foreach (E_Articulo oArticuloImport in listImportArticulo) { E_Articulo oArticulo = bdArticulo.getOne_Articulo(oArticuloImport.codArticulo); if (oArticulo != null) //El articulo ya existe solo hay que modificarlo { oArticulo.detCondCosto = oArticuloImport.detCondCosto; oArticulo.precioFinal = oArticuloImport.precioFinal; oArticulo.iva = oArticuloImport.iva; oArticulo.ganancia = oArticuloImport.ganancia; oArticulo.precioLista = oArticuloImport.precioLista; //AModifico el producto if (bdArticulo.set_Articulo(oArticulo) != "0") { oListArticuloError.Add(oArticulo); } } else // El articulo no existe hay que agregarlo { oArticuloImport.fecCompra = DateTime.Now.Date; //Agrego el articulo if (bdArticulo.add_Articulo(oArticuloImport) != "0") //Surgio un error { oListArticuloError.Add(oArticuloImport); } } //Else } //for each return(oListArticuloError.Count > 0 ? oListArticuloError : null); }
private void btnGuardar_Click(object sender, EventArgs e) { if (txtObligatorios()) { E_Articulo articulo = new E_Articulo(); articulo.codArticulo = txtCodArticulo.Text; articulo.descripcion = txtDescr.Text; if (cboRubro.SelectedIndex != -1) { articulo.rubro.idRubro = ((ComboItem)cboRubro.SelectedItem).Id; } if (cboUnidad.SelectedIndex != -1) { articulo.unidad.idUnidad = ((ComboItem)cboUnidad.SelectedItem).Id; } if (cboMarca.SelectedIndex != -1) { articulo.marca.idMarca = ((ComboItem)cboMarca.SelectedItem).Id; } articulo.proveedor.idProveedor = _IdProveedor; articulo.ubicacion = txtUbicacion.Text; Int32 tmp; if (Int32.TryParse(txtStock.Text, out tmp)) { articulo.stock = Convert.ToInt32(txtStock.Text); } if (Int32.TryParse(txtStockMin.Text, out tmp)) { articulo.stockMin = Convert.ToInt32(txtStockMin.Text); } DateTime dt; if (DateTime.TryParse(txtFecCom.Text, out dt)) { articulo.fecCompra = Convert.ToDateTime(txtFecCom.Text); } else { articulo.fecCompra = null; } articulo.observacion = txtObservacion.Text; //TAB CALCULAR COSTO articulo.precioLista = Convert.ToDecimal(txtPreLista.Text); articulo.ganancia = Convert.ToDecimal(txtGanancia.Text); articulo.iva = Convert.ToDecimal(txtIva.Text); articulo.precioFinal = Convert.ToDecimal(dgCosto.Rows[0].Cells[colConIva.Index].Value); articulo.detCondCosto = cargarCondicionStock(); N_Articulo nArticulo = new N_Articulo(); string xRet; if (_oArticuloConsultado == null) //Agregando un nuevo Articulo { xRet = nArticulo.add(articulo); } else // COnsultando un nuevo articulo { xRet = nArticulo.set(articulo, _oArticuloConsultado.codArticulo); } //string xRet = nArticulo.guardar(articulo); if (xRet != "0") { MessageBox.Show("Error"); } else { MessageBox.Show("¡Articulo Guardado con exito!", "Operacion Exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information); if (_frmAnterior == frmAgrDetalle._frmName) // estoy agregando desde el formulario AgrDetalle { this.Close(); } if (_oArticuloConsultado == null) { borrarTxt(); tabArticulo.SelectedIndex = 0; //foco en el tabPagGeneral } else { this.Close(); } } } else { MessageBox.Show("¡Los campos obligatorios deben estar completos (*)!", "Campos incompletos", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void consultarArticulo(E_Articulo oArticulo) { txtCodArticulo.Text = oArticulo.codArticulo; txtDescr.Text = oArticulo.descripcion; foreach (ComboItem cboItem in cboMarca.Items) { if (cboItem.Id == oArticulo.marca.idMarca) { cboMarca.SelectedItem = cboItem; } } foreach (ComboItem cboItem in cboRubro.Items) { if (cboItem.Id == oArticulo.rubro.idRubro) { cboRubro.SelectedItem = cboItem; } } foreach (ComboItem cboItem in cboUnidad.Items) { if (cboItem.Id == oArticulo.unidad.idUnidad) { cboUnidad.SelectedItem = cboItem; } } txtUbicacion.Text = oArticulo.ubicacion; txtStock.Text = oArticulo.stock.ToString(); txtStockMin.Text = oArticulo.stockMin.ToString(); txtFecCom.Value = Convert.ToDateTime(oArticulo.fecCompra); txtObservacion.Text = oArticulo.observacion; txtPreLista.Text = oArticulo.precioLista.ToString(); txtPreFinal.Text = oArticulo.precioFinal.ToString(); txtGanancia.Text = oArticulo.ganancia.ToString(); txtIva.Text = oArticulo.iva.ToString(); //txtCosto.Text = totalCosto().ToString(); //activo el eliminar btnEliminar.Enabled = true; //Si se esta consultando un articulo los campos de stock son de solo lectura //txtStock.ReadOnly = true; #Modificado A Pedido# //txtStockMin.ReadOnly = true; #Modificado A pedido# // cargar la grilla costo dgCosto.Rows.Add(new[] { oArticulo.precioLista.ToString() }); foreach (E_DetalleCondicionCosto detCosto in oArticulo.detCondCosto) { ClsColItem colItem = new ClsColItem(); colItem.condicion = detCosto.condicion; colItem.porcentaje = detCosto.porcentaje; colItem.HeaderText = detCosto.descrpcion; colItem.CellTemplate = dgCosto.Columns[0].CellTemplate; colItem.AutoSizeMode = dgCosto.Columns[0].AutoSizeMode; colItem.DefaultCellStyle = dgCosto.Columns[0].DefaultCellStyle; dgCosto.Columns.Add(colItem); ordenarColumnas(); calcularPrecColumna(); } //Habilito el group de costo grCosto.Enabled = true; //Colocar el proveedor N_Proveedor nProve = new N_Proveedor(); E_Proveedor oProveedor = nProve.getOne(oArticulo.proveedor.idProveedor); if (oProveedor != null) { txtProveedor.Text = oProveedor.raSocial; } }
public E_Articulo getOne_Articulo(string codArticulo) { E_Articulo articulo = null; try { cn.Open(); cmd = new SqlCommand("getOneArticulo", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codArticulo", codArticulo); SqlDataReader oReader = cmd.ExecuteReader(); while (oReader.Read()) { articulo = new E_Articulo(); articulo.codArticulo = oReader["codArticulo"].ToString(); articulo.descripcion = oReader["descripcion"].ToString(); articulo.stock = Convert.ToInt32(oReader["stock"]); if (oReader["idMarca"] != DBNull.Value) { articulo.marca.idMarca = Convert.ToInt64(oReader["idMarca"]); } if (oReader["idRubro"] != DBNull.Value) { articulo.rubro.idRubro = Convert.ToInt64(oReader["idRubro"]); } if (oReader["idProveedor"] != DBNull.Value) { articulo.proveedor.idProveedor = Convert.ToInt64(oReader["idProveedor"]); } if (oReader["idUnidad"] != DBNull.Value) { articulo.unidad.idUnidad = Convert.ToInt64(oReader["idUnidad"]); } articulo.ubicacion = oReader["ubicacion"].ToString(); if (oReader["FecCompra"] != DBNull.Value) { articulo.fecCompra = Convert.ToDateTime(oReader["FecCompra"]); } articulo.stock = Convert.ToInt32(oReader["stock"]); articulo.stockMin = Convert.ToInt32(oReader["stockMin"]); articulo.precioLista = Convert.ToDecimal(oReader["precioLista"]); articulo.precioFinal = Convert.ToDecimal(oReader["precioFinal"]); articulo.iva = Convert.ToDecimal(oReader["iva"]); articulo.observacion = oReader["observacion"].ToString(); articulo.ganancia = Convert.ToDecimal(oReader["ganancia"]); } oReader.Close(); //Busco el detalle de condicion para generar calcular el costo y el precio final SqlCommand cmdDetCOnd = new SqlCommand("SELECT * FROM DetalleCondicion WHERE codArticulo = @codArticulo", cn); cmdDetCOnd.Parameters.AddWithValue("@codArticulo", codArticulo); SqlDataReader oReaderDetCond = cmdDetCOnd.ExecuteReader(); while (oReaderDetCond.Read()) { E_DetalleCondicionCosto detCondCosto = new E_DetalleCondicionCosto(); detCondCosto.condicion = oReaderDetCond["condicion"].ToString(); detCondCosto.orden = Convert.ToInt16(oReaderDetCond["orden"]); detCondCosto.porcentaje = Convert.ToDecimal(oReaderDetCond["porcentaje"]); detCondCosto.descrpcion = oReaderDetCond["descripcion"].ToString(); articulo.detCondCosto.Add(detCondCosto); // agrego a lista de condiciones del articulo para calcular el costo } } catch (Exception e) { articulo = null; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(articulo); }
}//setArticuloo /// <summary> /// Permite modificar un articulo /// </summary> /// <param name="articulo"></param> /// <returns></returns> public String set_Articulo(E_Articulo articulo) { string xRet = "0"; try { using (TransactionScope scope = new TransactionScope()) // creo el objeto para relizar la trsasaccion { cmd = new SqlCommand("UPDATE Articulos SET descripcion=@descripcion,idRubro=@idRubro,idMarca=@idMarca,idProveedor=@idProveedores," + "idUnidad=@idUnidad,ubicacion=@ubicacion,fecCompra=@fecCompra,stockMin=@stockMin,stock=@stock, " + "precioLista=@precioLista,descuento=@descuento,iva=@iva,observacion=@observacion,precioFinal=@precioFinal,ganancia=@ganancia " + "WHERE codArticulo = @codArticulo", cn); cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); cmd.Parameters.AddWithValue("@descripcion", articulo.descripcion); if (articulo.rubro.idRubro != 0) { cmd.Parameters.AddWithValue("@idRubro", articulo.rubro.idRubro); } else { cmd.Parameters.AddWithValue("@idRubro", DBNull.Value); } if (articulo.marca.idMarca != 0) { cmd.Parameters.AddWithValue("@idMarca", articulo.marca.idMarca); } else { cmd.Parameters.AddWithValue("@idMarca", DBNull.Value); } if (articulo.proveedor.idProveedor != 0) { cmd.Parameters.AddWithValue("@idProveedores", articulo.proveedor.idProveedor); } else { cmd.Parameters.AddWithValue("@idProveedores", DBNull.Value); } if (articulo.unidad.idUnidad != 0) { cmd.Parameters.AddWithValue("@idUnidad", articulo.unidad.idUnidad); } else { cmd.Parameters.AddWithValue("@idUnidad", DBNull.Value); } cmd.Parameters.AddWithValue("@ubicacion", articulo.ubicacion); if (articulo.fecCompra != null) { cmd.Parameters.AddWithValue("@fecCompra", articulo.fecCompra); } else { cmd.Parameters.AddWithValue("@fecCompra", DBNull.Value); } cmd.Parameters.AddWithValue("@ganancia", articulo.ganancia); cmd.Parameters.AddWithValue("@stockMin", articulo.stockMin); cmd.Parameters.AddWithValue("@stock", articulo.stock); cmd.Parameters.AddWithValue("@precioLista", articulo.precioLista); cmd.Parameters.AddWithValue("@precioFinal", articulo.precioFinal); cmd.Parameters.AddWithValue("@descuento", 0); cmd.Parameters.AddWithValue("@iva", articulo.iva); cmd.Parameters.AddWithValue("@observacion", articulo.observacion); cn.Open(); cmd.ExecuteScalar(); // elimino el detalle de condicion para calcular el stock cmd = new SqlCommand("DELETE FROM DetalleCondicion WHERE codArticulo = @codArticulo", cn); cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); cmd.ExecuteScalar(); //los creo de vuelta por si huvo una modificacion // Guardar la condicion para calcular el costo total foreach (E_DetalleCondicionCosto detCosto in articulo.detCondCosto) { cmd = new SqlCommand("INSERT DetalleCondicion(codArticulo,condicion,orden,porcentaje,descripcion)VALUES (@codArticulo,@condicion,@orden,@porcentaje,@descripcion)", cn); cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); cmd.Parameters.AddWithValue("@condicion", detCosto.condicion); cmd.Parameters.AddWithValue("@orden", detCosto.orden); cmd.Parameters.AddWithValue("@porcentaje", detCosto.porcentaje); cmd.Parameters.AddWithValue("@descripcion", detCosto.descrpcion); cmd.ExecuteScalar(); } //for scope.Complete(); } //transaccion } //try catch (Exception e) { xRet = e.Message; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(xRet); } //setArticulo
//public String add_Articulo(E_Articulo articulo) //{ // String xRet = "0"; // try // { // cmd = new SqlCommand("addArticulo", cn); // cmd.CommandType = CommandType.StoredProcedure; // cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); // cmd.Parameters.AddWithValue("@descripcion", articulo.descripcion); // if (articulo.rubro.idRubro != 0) // { // cmd.Parameters.AddWithValue("@idRubro", articulo.rubro.idRubro); // } // else // { // cmd.Parameters.AddWithValue("@idRubro", DBNull.Value); // } // if (articulo.marca.idMarca != 0) // { // cmd.Parameters.AddWithValue("@idMarca", articulo.marca.idMarca); // } // else // { // cmd.Parameters.AddWithValue("@idMarca", DBNull.Value); // } // if (articulo.proveedor.idProveedor != 0) // { // cmd.Parameters.AddWithValue("@idProveedores", articulo.proveedor.idProveedor); // } // else // { // cmd.Parameters.AddWithValue("@idProveedores", DBNull.Value); // } // if (articulo.unidad.idUnidad != 0) // { // cmd.Parameters.AddWithValue("@idUnidad", articulo.unidad.idUnidad); // } // else // { // cmd.Parameters.AddWithValue("@idUnidad", DBNull.Value); // } // cmd.Parameters.AddWithValue("@ubicacion", articulo.ubicacion); // if (articulo.fecCompra != null) // { // cmd.Parameters.AddWithValue("@fecCompra", articulo.fecCompra); // } // else // { // cmd.Parameters.AddWithValue("@fecCompra", DBNull.Value); // } // cmd.Parameters.AddWithValue("@ganancia", articulo.ganancia); // cmd.Parameters.AddWithValue("@stockMin", articulo.stockMin); // cmd.Parameters.AddWithValue("@stock", articulo.stock); // cmd.Parameters.AddWithValue("@precioLista", articulo.precioLista); // cmd.Parameters.AddWithValue("@precioFinal", articulo.precioFinal); // cmd.Parameters.AddWithValue("@descuento", 0); // cmd.Parameters.AddWithValue("@iva", articulo.iva); // cmd.Parameters.AddWithValue("@observacion", articulo.observacion); // //cmd.Parameters.AddWithValue("@msgErr","error"); // SqlParameter msgErr = new SqlParameter("@msgErr",DbType.String); // msgErr.Direction = ParameterDirection.Output; // cmd.Parameters.Add(msgErr); // // cmd.Parameters.Add(new SqlParameter("@msgErr", "")); // cn.Open(); // SqlDataReader oReader = cmd.ExecuteReader(); // while (oReader.Read()) // { // string xR = oReader["error"].ToString(); // } // //TuSqlCommand.Parameters.Add(new SqlParameter("@RETORNO")) // //TuSqlCommand.Parameters[""@RETORNO""].ParameterDirection = ParameterDirection.Output // //luego podras recuperar el valor retornado asi // //valor = TuSqlCommand.Parameters[""@RETORNO""] // } // catch (Exception e) // { // xRet = e.Message; // } // finally // { // if (cn.State == ConnectionState.Open) // { // cn.Close(); // } // } // return xRet; //}//addCliente // con procedimiento almacenado utilizo variable de retorno por si se produce un error public String add_Articulo(E_Articulo articulo) { String xRet = "0"; try { using (TransactionScope scope = new TransactionScope()) // creo el objeto para relizar la trsasaccion { cmd = new SqlCommand("INSERT INTO Articulos(codArticulo,descripcion,idRubro,idMarca,idProveedor,idUnidad,ubicacion " + ",fecCompra,stockMin,stock,precioLista,descuento,iva,observacion,ganancia,precioFinal) " + "VALUES(@codArticulo,@descripcion,@idRubro,@idMarca,@idProveedores,@idUnidad,@ubicacion,@fecCompra" + ",@stockMin,@stock,@precioLista,@descuento,@iva,@observacion,@ganancia,@precioFinal)", cn); cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); cmd.Parameters.AddWithValue("@descripcion", articulo.descripcion); if (articulo.rubro.idRubro != 0) { cmd.Parameters.AddWithValue("@idRubro", articulo.rubro.idRubro); } else { cmd.Parameters.AddWithValue("@idRubro", DBNull.Value); } if (articulo.marca.idMarca != 0) { cmd.Parameters.AddWithValue("@idMarca", articulo.marca.idMarca); } else { cmd.Parameters.AddWithValue("@idMarca", DBNull.Value); } if (articulo.proveedor.idProveedor != 0) { cmd.Parameters.AddWithValue("@idProveedores", articulo.proveedor.idProveedor); } else { cmd.Parameters.AddWithValue("@idProveedores", DBNull.Value); } if (articulo.unidad.idUnidad != 0) { cmd.Parameters.AddWithValue("@idUnidad", articulo.unidad.idUnidad); } else { cmd.Parameters.AddWithValue("@idUnidad", DBNull.Value); } cmd.Parameters.AddWithValue("@ubicacion", articulo.ubicacion); if (articulo.fecCompra != null) { cmd.Parameters.AddWithValue("@fecCompra", articulo.fecCompra); } else { cmd.Parameters.AddWithValue("@fecCompra", DBNull.Value); } cmd.Parameters.AddWithValue("@ganancia", articulo.ganancia); cmd.Parameters.AddWithValue("@stockMin", articulo.stockMin); cmd.Parameters.AddWithValue("@stock", articulo.stock); cmd.Parameters.AddWithValue("@precioLista", articulo.precioLista); cmd.Parameters.AddWithValue("@precioFinal", articulo.precioFinal); cmd.Parameters.AddWithValue("@descuento", 0); cmd.Parameters.AddWithValue("@iva", articulo.iva); cmd.Parameters.AddWithValue("@observacion", articulo.observacion); cn.Open(); cmd.ExecuteScalar(); // Guardar la condicion para calcular el costo total foreach (E_DetalleCondicionCosto detCosto in articulo.detCondCosto) { cmd = new SqlCommand("INSERT DetalleCondicion(codArticulo,condicion,orden,porcentaje,descripcion)VALUES(@codArticulo,@condicion,@orden,@porcentaje,@descripcion)", cn); cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); cmd.Parameters.AddWithValue("@condicion", detCosto.condicion); cmd.Parameters.AddWithValue("@orden", detCosto.orden); cmd.Parameters.AddWithValue("@porcentaje", detCosto.porcentaje); cmd.Parameters.AddWithValue("@descripcion", detCosto.descrpcion); cmd.ExecuteScalar(); } //for // GUARDAR EL HISTORIAL DEL STOCK cmd = new SqlCommand("INSERT INTO StockArticulo(codArticulo,fecha,stockActual) VALUES(@codArticulo,@fecCompra,@stock)", cn); cmd.Parameters.AddWithValue("@codArticulo", articulo.codArticulo); cmd.Parameters.AddWithValue("FecCompra", articulo.fecCompra); cmd.Parameters.AddWithValue("@stock", articulo.stock); cmd.ExecuteScalar(); // confirmar la trasaccionic scope.Complete(); } //Fin de trasaccion } catch (Exception e) { xRet = e.Message; } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(xRet); } //addCliente