예제 #1
0
        public string anular(DatosMovStock detalleMovStock)
        {
            //modo 3 para DB
            SqlConnection cn        = new SqlConnection(Conexion.conexion);
            string        respuesta = "";

            try
            {
                cn.Open();
                //abro conexion
                SqlCommand comando = ProcAlmacenado.CrearProc(cn, "SP_MOVSTOCK");
                //MODO 3 ELIMINAR
                SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.Int, 2);
                comando.Parameters.Add(parModo);

                SqlParameter parIdMovStock = ProcAlmacenado.asignarParametros("@idmov_stock", SqlDbType.Int, detalleMovStock.idmovStock);
                //le paso al sqlcommand los parametros asignados
                comando.Parameters.Add(parIdMovStock);


                if (comando.ExecuteNonQuery() == 1)
                {
                    respuesta = "ok";
                }
                else
                {
                    respuesta = "error: no se ha podido anular";
                }
                cn.Close();
            }
            catch (Exception ex)
            {
                cn.Close();
                respuesta = "error conexion: " + ex.Message;
            }
            return(respuesta);
        }
예제 #2
0
    //Metodo



    public string Insertar(Dventa Venta, List <DDetalle_Venta> Detalle, bool distock = false)
    {
        string        rpta     = "";
        SqlConnection sqlcon   = new SqlConnection();
        DatosMovStock objstock = new Capa_Datos.DatosMovStock();

        try
        {
            sqlcon.ConnectionString = Conexion.conexion;
            sqlcon.Open();

            SqlTransaction sqltra = sqlcon.BeginTransaction();


            SqlCommand sqlcmd = ProcAlmacenado.CrearProc(sqlcon, "SP_VENTA", sqltra);

            SqlParameter paridventa = ProcAlmacenado.asignarParametros("@idventa", SqlDbType.Int);
            sqlcmd.Parameters.Add(paridventa);

            SqlParameter paridcliente = ProcAlmacenado.asignarParametros("@idcliente", SqlDbType.Int, Venta.idcliente);
            sqlcmd.Parameters.Add(paridcliente);

            SqlParameter parfecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.DateTime, Venta.fecha);
            sqlcmd.Parameters.Add(parfecha);

            SqlParameter partipocomprobante = ProcAlmacenado.asignarParametros("@tipo_comprobante", SqlDbType.VarChar, Venta.tipo_comprobante);
            sqlcmd.Parameters.Add(partipocomprobante);

            SqlParameter pariva = ProcAlmacenado.asignarParametros("@iva", SqlDbType.Decimal, Venta.iva);
            sqlcmd.Parameters.Add(pariva);

            SqlParameter parconcaja = ProcAlmacenado.asignarParametros("@concaja", SqlDbType.Bit, Venta.concaja);
            sqlcmd.Parameters.Add(parconcaja);

            SqlParameter parconstock = ProcAlmacenado.asignarParametros("@constock", SqlDbType.Bit, distock);
            sqlcmd.Parameters.Add(parconstock);

            SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.Int, 1);
            sqlcmd.Parameters.Add(parModo);

            SqlParameter parUsuario = ProcAlmacenado.asignarParametros("@usuario", SqlDbType.NVarChar, Venta.Usuario);
            sqlcmd.Parameters.Add(parUsuario);

            SqlParameter parDescuento = ProcAlmacenado.asignarParametros("@descuento", SqlDbType.Decimal, Venta.descuento);
            sqlcmd.Parameters.Add(parDescuento);

            SqlParameter parTotal = ProcAlmacenado.asignarParametros("@total", SqlDbType.Decimal, Venta.total);
            sqlcmd.Parameters.Add(parTotal);

            SqlParameter parSubtotal = ProcAlmacenado.asignarParametros("@subtotal", SqlDbType.Decimal, Venta.subtotal);
            sqlcmd.Parameters.Add(parSubtotal);

            SqlParameter parEstado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.Char, Venta.estado);
            sqlcmd.Parameters.Add(parEstado);

            SqlParameter parNroterminal = ProcAlmacenado.asignarParametros("@nroterminal", SqlDbType.Int, Venta.nroterminal);
            sqlcmd.Parameters.Add(parNroterminal);

            SqlParameter parCodtarjeta = ProcAlmacenado.asignarParametros("@Codigotarjeta", SqlDbType.Int, Venta.codtarjeta);
            sqlcmd.Parameters.Add(parCodtarjeta);

            SqlParameter parCupon = ProcAlmacenado.asignarParametros("@cupon", SqlDbType.NVarChar, Venta.cupon);
            sqlcmd.Parameters.Add(parCupon);

            SqlParameter parLote = ProcAlmacenado.asignarParametros("@lote", SqlDbType.NVarChar, Venta.lote);
            sqlcmd.Parameters.Add(parLote);

            SqlParameter parImportecuota = ProcAlmacenado.asignarParametros("@importe", SqlDbType.Decimal, Venta.importe);
            sqlcmd.Parameters.Add(parImportecuota);

            SqlParameter parCuota = ProcAlmacenado.asignarParametros("@cuota", SqlDbType.Int, Venta.cuotas);
            sqlcmd.Parameters.Add(parCuota);

            SqlParameter parFormapago = ProcAlmacenado.asignarParametros("@codformapago", SqlDbType.Int, Venta.codformapago);
            sqlcmd.Parameters.Add(parFormapago);

            SqlParameter parNrocomprobante = ProcAlmacenado.asignarParametros("@nrocomprobante", SqlDbType.NVarChar, Venta.nrocomprobante);
            sqlcmd.Parameters.Add(parNrocomprobante);

            SqlParameter parTotalneto = ProcAlmacenado.asignarParametros("@totalneto", SqlDbType.Decimal, Venta.totalneto);
            sqlcmd.Parameters.Add(parTotalneto);
            SqlParameter parPrecioiva = ProcAlmacenado.asignarParametros("@precioiva", SqlDbType.Decimal, Venta.precioiva);
            sqlcmd.Parameters.Add(parPrecioiva);
            SqlParameter parcae = ProcAlmacenado.asignarParametros("@cae", SqlDbType.NVarChar, Venta.cae);
            sqlcmd.Parameters.Add(parcae);
            SqlParameter parcaefechavto = ProcAlmacenado.asignarParametros("@caefechavencimiento", SqlDbType.NVarChar, Venta.caevencimiento);
            sqlcmd.Parameters.Add(parcaefechavto);

            SqlParameter partipofactura = ProcAlmacenado.asignarParametros("@tipofactura", SqlDbType.NVarChar, Venta.numerotipofactura);
            sqlcmd.Parameters.Add(partipofactura);

            SqlParameter parpuntoventa = ProcAlmacenado.asignarParametros("@puntoventa", SqlDbType.NVarChar, Venta.puntoventa);
            sqlcmd.Parameters.Add(parpuntoventa);

            SqlParameter parneto105 = ProcAlmacenado.asignarParametros("@totalneto105", SqlDbType.Decimal, Venta.Totalneto105);
            sqlcmd.Parameters.Add(parneto105);

            SqlParameter pariva105 = ProcAlmacenado.asignarParametros("@precioiva105", SqlDbType.Decimal, Venta.Precioiva105);
            sqlcmd.Parameters.Add(pariva105);

            rpta = sqlcmd.ExecuteNonQuery() >= 1 ? "OK" : "No se ingreso el registro";

            if (rpta.Equals("OK"))
            {
                Venta.Idventa = Convert.ToInt32(sqlcmd.Parameters["@idventa"].Value);


                foreach (DDetalle_Venta det in Detalle)
                {
                    det.Idventa = Venta.idventa;
                    rpta        = det.Insertar(det, ref sqlcon, ref sqltra);
                    if (!rpta.Equals("OK"))
                    {
                        break;
                    }
                    else
                    {
                        //actualizamos el stock
                        if (distock == true && det.Idarticulo != 0)
                        {
                            rpta = objstock.Modificarstock(det.Idarticulo, det.Cantidad, ref sqlcon, ref sqltra, "egreso");
                        }
                        if (!rpta.Equals("OK") && !rpta.Equals("ok"))
                        {
                            break;
                        }
                    }
                }

                if (Venta.codformapago == 3)
                {
                    DatosCliente objcliente = new DatosCliente(ref sqlcon, ref sqltra, Venta.idcliente, Venta.idventa, Venta.total, Venta.total, 0, "pendiente", "ingresarctacte");
                    objcliente.agregaromodificarctacte(objcliente, "ingresarctacte");
                }
            }

            if (rpta.Equals("OK") || rpta.Equals("ok"))
            {
                sqltra.Commit();
            }
            else
            {
                sqltra.Rollback();
            }
        }
        catch (Exception e)
        {
            rpta = e.Message;
        }
        finally
        {
            if (sqlcon.State == ConnectionState.Open)
            {
                sqlcon.Close();
            }
        }
        return(rpta);
    }
예제 #3
0
        public string agregar(DatosMovStock movStock, List <DatosDetalleMovStock> detalleMovStock, List <DatosArticulo> listaArticulos)
        {
            //modo 1 para DB
            SqlConnection cn         = new SqlConnection(Conexion.conexion);
            string        respuesta  = "";
            string        respuesta2 = "";

            try
            {
                cn.Open();
                //abro conexion
                //una unica transaccion por ingreso, y sus detalles de ingreso
                SqlTransaction transaccion = cn.BeginTransaction();

                SqlCommand comando = ProcAlmacenado.CrearProc(cn, "SP_MOVSTOCK", transaccion);

                SqlParameter parModo = ProcAlmacenado.asignarParametros("@modo", SqlDbType.Int, 1);
                comando.Parameters.Add(parModo);

                SqlParameter parIdMovStock = ProcAlmacenado.asignarParametros("@idmov_stock", SqlDbType.Int);
                //le paso al sqlcommand los parametros asignados
                comando.Parameters.Add(parIdMovStock);

                SqlParameter parFecha = ProcAlmacenado.asignarParametros("@fecha", SqlDbType.Date, movStock.fecha);
                //le paso al sqlcommand los parametros asignados
                comando.Parameters.Add(parFecha);

                SqlParameter parIdProveedor = ProcAlmacenado.asignarParametros("@idproveedor", SqlDbType.Int, movStock.idProveedor);
                comando.Parameters.Add(parIdProveedor);

                SqlParameter parTipoComprobante = ProcAlmacenado.asignarParametros("@tipo_comprobante", SqlDbType.VarChar, movStock.tipoComprobante, 7);
                comando.Parameters.Add(parTipoComprobante);

                SqlParameter parIva = ProcAlmacenado.asignarParametros("@iva", SqlDbType.Decimal, movStock.iva);
                comando.Parameters.Add(parIva);

                SqlParameter parSerie = ProcAlmacenado.asignarParametros("@serie", SqlDbType.VarChar, movStock.serie, 4);
                comando.Parameters.Add(parSerie);

                SqlParameter parCorrelativa = ProcAlmacenado.asignarParametros("@correlativa", SqlDbType.VarChar, movStock.correlativa, 8);
                comando.Parameters.Add(parCorrelativa);

                SqlParameter parEstado = ProcAlmacenado.asignarParametros("@estado", SqlDbType.VarChar, movStock.estado, 7);
                comando.Parameters.Add(parEstado);

                //cambiar movimiento!!!
                SqlParameter parMovimiento = ProcAlmacenado.asignarParametros("@movimiento", SqlDbType.VarChar, movStock.Movimiento, 7);
                comando.Parameters.Add(parMovimiento);
                if (comando.ExecuteNonQuery() == 1)
                {
                    respuesta           = "ok";
                    movStock.IdmovStock = Convert.ToInt32(comando.Parameters["@idmov_stock"].Value);
                    //agrego los detalle de movstock
                    foreach (DatosDetalleMovStock detalle in detalleMovStock)
                    {
                        detalle.IdMovStock = movStock.idmovStock;
                        respuesta          = detalle.agregar(detalle, ref cn, ref transaccion);
                        if (!respuesta.Equals("ok"))
                        {
                            break;
                        }
                    }
                    //actualizo los datos de los productos
                    foreach (DatosArticulo articulos in listaArticulos)
                    {
                        //le paso el string de movimiento realizado para diferencia entre egreso y egreso
                        //respuesta2 = articulos.actualizarPrecioStock(articulos,ref cn,ref transaccion,movStock.Movimiento);
                        respuesta = Modificarstock(articulos.IdArticulo, articulos.StockActual, ref cn, ref transaccion, movStock.movimiento);
                        if (!respuesta.Equals("ok"))
                        {
                            break;
                        }
                    }
                    //si ocurrio algun error hace un rollback
                    //o sino confirma la trasaccion con un commit
                    if (respuesta.Equals("ok"))
                    {
                        transaccion.Commit();
                    }
                    else
                    {
                        transaccion.Rollback();
                    }
                }
                else
                {
                    respuesta = "error al intentar agregar detalles de movStock";
                }
            }
            catch (Exception ex)
            {
                respuesta = "error conexion: " + ex.Message;
                cn.Close();
            }
            finally {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }
            return(respuesta);
        }