/// <summary> /// Si no encuentra nada devuelve null /// </summary> /// <returns></returns> public List <TipoMovimientoArticulo> BuscarListTiposMovimientos() { try { string sql = "SELECT * FROM tipo_movimiento_articulo tma WHERE tma.fecha_baja IS NULL"; DataTable dt = conn.GetDT(sql); if (dt == null || dt.Rows.Count == 0) { return(null); } else { List <TipoMovimientoArticulo> listT = new List <TipoMovimientoArticulo>(); foreach (DataRow row in dt.Rows) { TipoMovimientoArticulo tm = mapearTipoMovimiento(row); listT.Add(tm); } return(listT); } } catch (Npgsql.NpgsqlException ex) { ControladorExcepcion.tiraExcepcion(ex); return(null); } }
private static TipoMovimientoArticulo mapearTipoMovimiento(DataRow row) { TipoMovimientoArticulo tm = new TipoMovimientoArticulo(); tm.Descripcion = row["descripcion"].ToString(); tm.EsSuma = Convert.ToBoolean(row["es_suma"]); tm.IdTipoMovimiento = Convert.ToInt32(row["idtipo_movimiento"]); tm.FechaBaja = row["fecha_baja"] as DateTime?; return(tm); }
public void AgregarAjusteStock(MovimientosArticulos m) { BeginTransaction(); try { ///inserto el movimiento string sql = @"INSERT INTO movimiento_articulos ( idsucursal_desde, idartciulo, idtipo_movimiento, cantidad, fecha, idusuario, observacion ) VALUES ( :idsucursal_desde, :idartciulo, :idtipo_movimiento, :cantidad, :fecha, :idusuario, :observacion )"; conn.Execute(sql, m.IdSucursalDesde, m.IdArticulo_, m.IdTipoMovimiento, m.Cantidad, DateTime.Today, m.IdUsuario, m.Observacion); ///Ahora actualizo el stock del articulo TipoMovimientoArticulo tm = BuscarTipoMovimiento((int)m.IdTipoMovimiento); ControladorArticulos c_Art = new ControladorArticulos(conn); if (tm.EsSuma) { c_Art.ActualizarStockArticulo(m.IdArticulo_, m.Cantidad, m.IdSucursalDesde); } else { c_Art.ActualizarStockArticulo(m.IdArticulo_, -m.Cantidad, m.IdSucursalDesde); } CommitTransaction(); } catch (Npgsql.NpgsqlException ex) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(ex); } catch (FormatException ex) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(ex.Message); } }