public virtual void ImportarRegistro(MapaDeTabla mapa, Lfx.Data.Row importedRow) { object ImportIdValue = importedRow.Fields[mapa.ColumnaIdLazaro].Value; string ImportIdSqlValue; if (ImportIdValue is string) { ImportIdSqlValue = "'" + ImportIdValue.ToString() + "'"; } else if (ImportIdValue is decimal || ImportIdValue is double) { ImportIdSqlValue = Lfx.Types.Formatting.FormatNumberSql(System.Convert.ToDecimal(ImportIdValue)); } else if (ImportIdValue is DateTime) { ImportIdSqlValue = "'" + Lfx.Types.Formatting.FormatDateTimeSql(System.Convert.ToDateTime(ImportIdValue)) + "'"; } else { ImportIdSqlValue = ImportIdValue.ToString(); } Lfx.Data.Row CurrentRow = this.Connection.FirstRowFromSelect("SELECT * FROM " + mapa.TablaLazaro + " WHERE " + mapa.ColumnaIdLazaro + "=" + ImportIdSqlValue); Lbl.IElementoDeDatos Elem = ConvertirRegistroEnElemento(mapa, importedRow, CurrentRow); if (Elem != null) { this.GuardarElemento(mapa, Elem); if (this.Opciones.ImportarStock && Elem is Lbl.Articulos.Articulo && importedRow.Fields.Contains("stock_actual")) { // Actualizo el stock Lbl.Articulos.Articulo Art = Elem as Lbl.Articulos.Articulo; decimal StockActual = Art.ObtenerExistencias(); decimal NuevoStock = System.Convert.ToDecimal(importedRow["stock_actual"]); decimal Diferencia = NuevoStock - StockActual; if (Diferencia != 0) { Art.MoverExistencias(null, Diferencia, "Stock importado desde " + this.Nombre, null, new Articulos.Situacion(this.Connection, Lfx.Workspace.Master.CurrentConfig.Productos.DepositoPredeterminado), null); } } } }
private void ActualizarCostoYStockSegunReceta() { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; if (EntradaTipoDeArticulo.ValueInt == 2) { if (Art.Receta == null) { EntradaCosto.ValueDecimal = 0; } else { EntradaCosto.ValueDecimal = Art.Receta.Costo; } EntradaStockActual.ValueDecimal = Art.ObtenerExistencias(); } }