/// <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); }
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); * }*/ }
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); }
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); }
/// <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); }
public static void Update(tlg_StockDataset dataSet) { Update(dataSet.tlg_Stock); }
public static tlg_StockDataset GetList() { tlg_StockDataset data = new tlg_StockDataset(); return(( tlg_StockDataset )GetList(data)); }