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);
        }
Exemple #2
0
        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");
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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;
        }
Exemple #5
0
 //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));
        }
Exemple #7
0
        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
        }
Exemple #8
0
        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);
        }
Exemple #11
0
        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);
            }
        }
Exemple #12
0
        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;
            }
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        }//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
Exemple #15
0
        //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