Ejemplo n.º 1
0
        /// <summary>
        /// Envia los cambios del tlg_StockDataset a la base de datos.
        /// </summary>
        public static void Update(tlg_StockDataset dataSet)
        {
            ApplicationAssert.Check(dataSet != null, "El argumento dataSet no debe ser nulo.", ApplicationAssert.LineNumber);
            ApplicationAssert.Check(dataSet.tlg_Stock.Rows.Count > 0, "La tabla dataSet.tlg_StockDataTable debe poseer alguna fila.", ApplicationAssert.LineNumber);

            mz.erp.dataaccess.tlg_Stock.Update(dataSet);
        }
Ejemplo n.º 2
0
        public static void UpdateFromMovimientosDeStock(System.Data.DataTable _tableMovimientos, SqlTransaction trx)
        {
            mz.erp.commontypes.data.tlg_StockDataset _data = new tlg_StockDataset();
            mz.erp.commontypes.data.tlg_StockDataset.tlg_StockDataTable _table = _data.tlg_Stock;
            foreach (System.Data.DataRow _rowTableMovimientos in _tableMovimientos.Rows)
            {
                mz.erp.commontypes.data.tlg_StockDataset.tlg_StockRow _row = _table.FindByIdProductoIdDepositoIdSeccionIdEstadoDeStock(Convert.ToString(_rowTableMovimientos["IdProducto"]), Convert.ToString(_rowTableMovimientos["IdDeposito"]), Convert.ToString(_rowTableMovimientos["IdSeccion"]), Convert.ToString(_rowTableMovimientos["IdEstadoDeStock"]));
                if (_row != null)
                {
                    _row["Cantidad"] = Convert.ToDecimal(_rowTableMovimientos["Cantidad"]) + Convert.ToDecimal(_row["Cantidad"]);
                }
                else
                {
                    _row                                 = _table.Newtlg_StockRow();
                    _row["Cantidad"]                     = _rowTableMovimientos["Cantidad"];
                    _row["FechaCreacion"]                = _rowTableMovimientos["FechaCreacion"];
                    _row["IdConexionCreacion"]           = _rowTableMovimientos["IdConexionCreacion"];
                    _row["IdConexionUltimaModificacion"] = _rowTableMovimientos["IdConexionUltimaModificacion"];
                    _row["IdDeposito"]                   = _rowTableMovimientos["IdDeposito"];
                    _row["IdEmpresa"]                    = _rowTableMovimientos["IdEmpresa"];
                    _row["IdEstadoDeStock"]              = _rowTableMovimientos["IdEstadoDeStock"];
                    _row["IdProducto"]                   = _rowTableMovimientos["IdProducto"];
                    _row["IdReservado"]                  = _rowTableMovimientos["IdReservado"];
                    _row["IdSeccion"]                    = _rowTableMovimientos["IdSeccion"];
                    _row["IdSucursal"]                   = _rowTableMovimientos["IdSucursal"];
                    _table.Rows.Add((System.Data.DataRow)_row);
                }
            }

            mz.erp.commontypes.SentenciasReplicacion _replicacion = new SentenciasReplicacion();
            mz.erp.dataaccess.tlg_Stock.Update((System.Data.DataTable)_table, trx, _replicacion);

            foreach (System.Data.DataRow _rowDeStock in _table.Rows)
            {
                if (Convert.ToString(_rowDeStock["IdEstadoDeStock"]).Equals("3"))
                {
                    decimal cant = Stock.GetStockPorSucursal(trx, Convert.ToString(_rowDeStock["IdProducto"]), Convert.ToString(_rowDeStock["IdEstadoDeStock"]), Convert.ToInt32(_rowDeStock["IdSucursal"]), Convert.ToInt32(_rowDeStock["IdEmpresa"]));
                    ActualizarStock(trx, Convert.ToInt32(_rowDeStock["IdSucursal"]), Convert.ToInt32(_rowDeStock["IdEmpresa"]), Convert.ToString(_rowDeStock["IdProducto"]), Convert.ToString(_rowDeStock["IdEstadoDeStock"]), cant);
                }
            }


            /*
             * foreach (System.Data.DataRow _rowTableMovimientos in _table.Rows)
             * {
             *      tlg_StockDataset.tlg_StockRow _rowDeStock = mz.erp.dataaccess.tlg_Stock.GetByPk(  Convert.ToString(_rowTableMovimientos["IdProducto"]),Convert.ToString(_rowTableMovimientos["IdDeposito"]),Convert.ToString(_rowTableMovimientos["IdSeccion"]), Convert.ToString(_rowTableMovimientos["IdEstadoDeStock"]), trx);
             *      ActualizarStock( trx, Convert.ToInt32( _rowDeStock["IdSucursal"]), Convert.ToInt32( _rowDeStock["IdEmpresa"]), Convert.ToString(_rowDeStock["IdProducto"]),Convert.ToString(_rowDeStock["IdEstadoDeStock"]),Convert.ToDecimal( _rowDeStock["Cantidad"] ) );
             * }
             */

/*
 *                      foreach (System.Data.DataRow _rowTableMovimientos in _tableMovimientos.Rows)
 *                      {
 *                              long IdSucursal = Convert.ToInt32(_rowTableMovimientos["IdSucursal"]);
 *                              long IdEmpresa = Convert.ToInt32(_rowTableMovimientos["IdEmpresa"]);
 *                              string IdProducto = Convert.ToString(_rowTableMovimientos["IdProducto"]);
 *
 *                              ActualizarStock(trx, IdSucursal, IdEmpresa, IdProducto);
 *                      }*/
        }
Ejemplo n.º 3
0
        public static tlg_StockDataset.tlg_StockRow GetByPk(string IdProducto, string IdDeposito, string IdSeccion, string IdEstadoDeStock, SqlTransaction trx)
        {
            tlg_StockDataset data = new tlg_StockDataset();

            SqlCommand cmd = new SqlCommand("Pr_tlg_Stock_GetByPk");

            cmd.Transaction = trx;
            cmd.Connection  = trx.Connection;
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter("@IdProducto", SqlDbType.VarChar));
            cmd.Parameters["@IdProducto"].Value = IdProducto;

            cmd.Parameters.Add(new SqlParameter("@IdDeposito", SqlDbType.VarChar));
            cmd.Parameters["@IdDeposito"].Value = IdDeposito;

            cmd.Parameters.Add(new SqlParameter("@IdSeccion", SqlDbType.VarChar));
            cmd.Parameters["@IdSeccion"].Value = IdSeccion;

            cmd.Parameters.Add(new SqlParameter("@IdEstadoDeStock", SqlDbType.VarChar));
            cmd.Parameters["@IdEstadoDeStock"].Value = IdEstadoDeStock;

            SqlDataAdapter adapter = new SqlDataAdapter(cmd);

            adapter.TableMappings.Add("Table", "tlg_Stock");

            adapter.Fill(data);

            if (data.tlg_Stock.Rows.Count == 1)
            {
                return((tlg_StockDataset.tlg_StockRow)data.tlg_Stock.Rows[0]);
            }

            return(null);
        }
Ejemplo n.º 4
0
        public static tlg_StockDataset GetList(string IdProducto, string IdDeposito, string IdSeccion, string IdEstadoDeStock, long IdSucursal, long IdEmpresa)
        {
            tlg_StockDataset data = new tlg_StockDataset();

            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.TableMappings.Add("Table", "tlg_Stock");

            SqlCommand cmd = new SqlCommand("Pr_tlg_Stock_Search", dbhelper.Connection.GetConnection());

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter("@IdProducto", SqlDbType.VarChar));
            cmd.Parameters["@IdProducto"].Value = IdProducto;
            cmd.Parameters.Add(new SqlParameter("@IdDeposito", SqlDbType.VarChar));
            cmd.Parameters["@IdDeposito"].Value = IdDeposito;
            cmd.Parameters.Add(new SqlParameter("@IdSeccion", SqlDbType.VarChar));
            cmd.Parameters["@IdSeccion"].Value = IdSeccion;
            cmd.Parameters.Add(new SqlParameter("@IdEstadoDeStock", SqlDbType.VarChar));
            cmd.Parameters["@IdEstadoDeStock"].Value = IdEstadoDeStock;
            cmd.Parameters.Add(new SqlParameter("@IdSucursal", SqlDbType.BigInt));
            if (IdSucursal == long.MinValue)
            {
                cmd.Parameters["@IdSucursal"].Value = System.DBNull.Value;
            }
            else
            {
                cmd.Parameters["@IdSucursal"].Value = IdSucursal;
            }
            cmd.Parameters.Add(new SqlParameter("@IdEmpresa", SqlDbType.BigInt));
            if (IdEmpresa == long.MinValue)
            {
                cmd.Parameters["@IdEmpresa"].Value = System.DBNull.Value;
            }
            else
            {
                cmd.Parameters["@IdEmpresa"].Value = IdEmpresa;
            }
            adapter.SelectCommand = cmd;

            adapter.Fill(data);

            return(data);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Método para utilizacion de proceso "Stock a cero" (no tiene el parámetro row ni la cantidad)
        /// ya que el ajuste (positivo y negativo) para todos los estados de stock del producto depende
        /// del stock que tiene.
        /// </summary>
        /// <param name="IdDeposito"></param>
        /// <param name="IdSeccion"></param>
        /// <param name="IdTipoDeAjuste"></param>
        /// <param name="IdProducto"></param>
        /// <returns></returns>


        public static bool AjusteStock(ref DataRow row, string IdDeposito, string IdSeccion, string IdTipoDeAjuste, string IdProducto)
        {
            long IdSucursal = Security.IdSucursal;
            long IdEmpresa  = Security.IdEmpresa;
            bool resultado  = false;

            tlg_StockDataset dataS = businessrules.tlg_Stock.GetList(IdProducto, IdDeposito, IdSeccion, IdSucursal, IdEmpresa);

            foreach (tlg_StockDataset.tlg_StockRow rowS in dataS.tlg_Stock.Rows)
            {
                string  IdEstadoDeStock = rowS.IdEstadoDeStock;
                decimal Cantidad        = rowS.Cantidad;
                if (Cantidad != 0)
                {
                    resultado = AjusteStock(ref row, IdSucursal, IdEmpresa, IdDeposito, IdSeccion, IdTipoDeAjuste, IdEstadoDeStock, IdProducto, Cantidad) && resultado;
                }
            }
            return(resultado);
        }
Ejemplo n.º 6
0
 public static void Update(tlg_StockDataset dataSet)
 {
     Update(dataSet.tlg_Stock);
 }
Ejemplo n.º 7
0
        public static tlg_StockDataset GetList()
        {
            tlg_StockDataset data = new tlg_StockDataset();

            return(( tlg_StockDataset )GetList(data));
        }