//Fin Sabrina 20100727 - Tarea 802 //Sabrina 20100727 - Tarea 802 private void ModificarCoeficienteListaDePrecioAProductos(tsh_ListasDePreciosExDataset.tsh_ListasDePreciosRow rowLP, tsh_ListasDePreciosExDataset dataLPEx) { tsh_ProductosDataset.tsh_ProductosDataTable tableProd = mz.erp.businessrules.tsh_Productos.GetList().tsh_Productos; foreach (tsh_ProductosDataset.tsh_ProductosRow rowP in tableProd.Rows) { tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow rowPLP = tsh_ProductosListasDePrecios.GetByPk(rowP.IdProducto, rowLP.IdListaDePrecio); if (rowPLP != null) { if (rowPLP.ModoDeAplicacion == "G" && rowPLP.Coeficiente != rowLP.Coeficiente) // Si la lista es general para el producto y el coeficiente cambio la actualizo con el nuevo coeficiente { rowPLP.Coeficiente = rowLP.Coeficiente; rowPLP.PrecioDeVentaBruto = rowP.PrecioDeVentaNeto + ((rowP.PrecioDeVentaNeto * rowLP.Coeficiente) / 100); System.Collections.Hashtable formulas = mz.erp.businessrules.comprobantes.FuncionesImpuestos.ObtenerFormulas(null, null, rowP.IdProducto); decimal impuestosBrutos = mz.erp.businessrules.comprobantes.FuncionesImpuestos.Calcular(formulas, rowPLP.PrecioDeVentaBruto); rowPLP.PrecioDeVentaBrutoConImpuesto = rowPLP.PrecioDeVentaBruto + impuestosBrutos; if (rowPLP.PrecioDeVentaBruto != 0) { rowPLP.MaxDescuento = rowPLP.PrecioDeVentaBruto - rowP.PrecioDeVentaNeto; rowPLP.MaxDescuentoPorcentual = (rowPLP.MaxDescuento * 100) / rowPLP.PrecioDeVentaBruto; } dataLPEx.tsh_ProductosListasDePrecios.ImportRow(rowPLP); } } } }
private void initializeItemsForNew(ComboDet ComboDet, string estado) { foreach (tsh_ListasDePreciosDataset.tsh_ListasDePreciosRow row in tsh_ListasDePrecios.GetList().tsh_ListasDePrecios.Rows) { tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow rowPLP = tsh_ProductosListasDePrecios.GetByPk(ComboDet.IdProductoReferencia, row.IdListaDePrecio); if (rowPLP != null) { ListaDePreciosComboDetItem lpcdi = new ListaDePreciosComboDetItem(ComboDet.IdProducto, ComboDet.Ordinal, rowPLP.IdListaDePrecio, row.Descripcion, row.Codigo, row.isDefault, rowPLP.ModoDeAplicacion, rowPLP.Coeficiente, rowPLP.PrecioDeVentaBruto, 0, 0, ComboDet.ValorCotizacionPrecioDeCostoRef, ComboDet.ValorCotizacionPrecioDeVentaBruto, estado); _items.Add(lpcdi); } else { tsh_ProductosListasDePreciosAplicadasDataset.tsh_ProductosListasDePreciosAplicadasRow rowLPPA = tsh_ProductosListasDePreciosAplicadas.GetByPk(ComboDet.IdProductoReferencia, row.IdListaDePrecio); if (rowLPPA != null) { decimal precioDeVentaBruto = ComboDet.RowProducto.PrecioDeVentaNeto + ((ComboDet.RowProducto.PrecioDeVentaNeto * rowLPPA.Coeficiente) / 100); ListaDePreciosComboDetItem lpcdi = new ListaDePreciosComboDetItem(ComboDet.IdProducto, ComboDet.Ordinal, rowPLP.IdListaDePrecio, row.Descripcion, row.Codigo, row.isDefault, "P", rowLPPA.Coeficiente, precioDeVentaBruto, 0, 0, ComboDet.ValorCotizacionPrecioDeCostoRef, ComboDet.ValorCotizacionPrecioDeVentaBruto, estado); _items.Add(lpcdi); } else { decimal precioDeVentaBruto = ComboDet.RowProducto.PrecioDeVentaNeto + ((ComboDet.RowProducto.PrecioDeVentaNeto * row.Coeficiente) / 100); ListaDePreciosComboDetItem lpcdi = new ListaDePreciosComboDetItem(ComboDet.IdProducto, ComboDet.Ordinal, row.IdListaDePrecio, row.Descripcion, row.Codigo, row.isDefault, "G", row.Coeficiente, precioDeVentaBruto, 0, 0, ComboDet.ValorCotizacionPrecioDeCostoRef, ComboDet.ValorCotizacionPrecioDeVentaBruto, estado); _items.Add(lpcdi); } } } }
public static void UpdateWithValidation(tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow row) { ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber); if (RowIsValid(row)) { Update(row); } }
public static void Update(tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow row) { if (row.RowState == DataRowState.Detached) { ((tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosDataTable)row.Table).Addtsh_ProductosListasDePreciosRow(row); } Update(row.Table); }
/// <summary> /// Obtiene un registro de la tabla tsh_ProductosListasDePrecios que luego puede ser persistido en la base de datos. /// </summary> public static tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow GetByPk(string IdProducto, string IdListaDePrecio) { tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow row = mz.erp.dataaccess.tsh_ProductosListasDePrecios.GetByPk(IdProducto, IdListaDePrecio); if (row != null) { foreach (DataColumn dc in row.Table.Columns) { if (row[dc] == System.DBNull.Value) { row[dc] = Util.DefaultValue(dc.DataType); } } } return(row); }
public void ListenerAfterFlush(object sender) { object _tasksender = sender; if (((ITask)_tasksender).GetTaskName().CompareTo(this._dataFromTask) == 0) { GetDataFromClass(sender); } else { if (_tasksender is mz.erp.businessrules.GenerateCollectionCommonTasks) { GenerateCollectionCommonTasks classcollection = (GenerateCollectionCommonTasks)sender; foreach (object subtask in classcollection) { if (((ITask)subtask).GetTaskName().CompareTo(this._dataFromTask) == 0) { GetDataFromClass(subtask); } } } } /* if(this._processManager.Process.ProcessName.Equals("ProcesoConsultarStockNDiasIngresarPreOrdenDeCompra")) * { * if(sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeCompra))) * { * mz.erp.businessrules.comprobantes.ComprobanteDeCompra cc = (mz.erp.businessrules.comprobantes.ComprobanteDeCompra)sender; * DataTable table = _dataSource.Table; * table = AddColumn.AddColumnToTable(table, "Numero", cc.Numero); * _dataSource = table.DefaultView; * } * } */ if (this._processManager.Process.ProcessName.Equals("ProcesoPagarCompras")) { if (sender.GetType().Equals(typeof(mz.erp.businessrules.IngresarComprobanteDePagoCompras))) { IngresarComprobanteDePagoCompras snd = (IngresarComprobanteDePagoCompras)sender; string IdComprobante = snd.IdComprobante; string IdTipoDeRetencion = Variables.GetValueString(this._processManager.Process.ProcessName, this.GetTaskName(), "TipoDeRetencion"); if (snd.HayRetenciones(IdTipoDeRetencion)) { DataSet data = tpu_RetencionesEx.GetListEx(IdComprobante, IdTipoDeRetencion); DataTable table = data.Tables[0]; string nombreEmpresa = Variables.GetValueString("Sistema.NombreEmpresa"); table = AddColumn.AddColumnToTable(table, "NombreEmpresa", nombreEmpresa); string domicilioEmpresa = Variables.GetValueString("Sistema.DireccionEmpresa"); table = AddColumn.AddColumnToTable(table, "DomicilioEmpresa", domicilioEmpresa); string cuitEmpresa = Variables.GetValueString("Sistema.CUITEmpresa"); table = AddColumn.AddColumnToTable(table, "CUITEmpresa", cuitEmpresa); _dataSource = table.DefaultView; } else { _allowShow = false; } } } if (this._processManager.Process.ProcessName.Equals("ProcesoModificarPrecioProducto")) { if (sender.GetType().Equals(typeof(mz.erp.businessrules.IngresarPrecioProducto))) { IngresarPrecioProducto snd = (IngresarPrecioProducto)sender; DataTable table = new DataTable("TablaResultadoProcesoModificarPrecioProducto"); DataColumn col0 = new DataColumn("IdListaDePrecio", typeof(string)); table.Columns.Add(col0); DataColumn col1 = new DataColumn("ListaDePrecios", typeof(string)); table.Columns.Add(col1); DataColumn col2 = new DataColumn("Codigo", typeof(string)); table.Columns.Add(col2); DataColumn col3 = new DataColumn("CodigoSecundario", typeof(string)); table.Columns.Add(col3); DataColumn col4 = new DataColumn("Descripcion", typeof(string)); table.Columns.Add(col4); DataColumn col5 = new DataColumn("PrecioCostoDirecto", typeof(decimal)); table.Columns.Add(col5); DataColumn col6 = new DataColumn("PrecioDeCostoIndirecto", typeof(decimal)); table.Columns.Add(col6); DataColumn col7 = new DataColumn("PrecioDeCostoRef", typeof(decimal)); table.Columns.Add(col7); DataColumn col8 = new DataColumn("MAC", typeof(decimal)); table.Columns.Add(col8); DataColumn col9 = new DataColumn("PrecioDeVentaNeto", typeof(decimal)); table.Columns.Add(col9); DataColumn col10 = new DataColumn("PrecioDeVentaBruto", typeof(decimal)); table.Columns.Add(col10); DataColumn col11 = new DataColumn("PrecioDeVentaBrutoConImpuesto", typeof(decimal)); table.Columns.Add(col11); DataColumn col12 = new DataColumn("Coeficiente", typeof(decimal)); table.Columns.Add(col12); DataColumn col13 = new DataColumn("MaxDescuento", typeof(decimal)); table.Columns.Add(col13); DataColumn col14 = new DataColumn("MaxDescuentoPorcentual", typeof(decimal)); table.Columns.Add(col14); if (snd.ListaDePreciosHabilitadas) { foreach (Producto prod in snd.Productos) { foreach (ListaDePreciosItem item in prod.ListaDePrecios.Items) { DataRow rowLP = mz.erp.businessrules.tsh_ListasDePrecios.GetByPk(item.IdListaDePrecios); string descLP = (string)rowLP["Descripcion"]; DataRow row = table.NewRow(); row["IdListaDePrecio"] = item.IdListaDePrecios; row["ListaDePrecios"] = descLP; row["Codigo"] = prod.Codigo; row["CodigoSecundario"] = prod.CodigoSecundario; row["Descripcion"] = prod.Descripcion; row["PrecioCostoDirecto"] = prod.PrecioDeCostoAnterior; row["PrecioDeCostoIndirecto"] = prod.CostosIndirectos; row["PrecioDeCostoRef"] = prod.PrecioDeCosto; row["MAC"] = prod.MAC; row["PrecioDeVentaNeto"] = prod.PrecioDeVentaNeto; tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow rowPLP = tsh_ProductosListasDePrecios.GetByPk(prod.IdProducto, item.IdListaDePrecios); row["PrecioDeVentaBruto"] = rowPLP.PrecioDeVentaBruto; row["PrecioDeVentaBrutoConImpuesto"] = rowPLP.PrecioDeVentaBrutoConImpuesto; row["Coeficiente"] = rowPLP.Coeficiente; row["MaxDescuento"] = rowPLP.MaxDescuento; row["MaxDescuentoPorcentual"] = rowPLP.MaxDescuentoPorcentual; table.Rows.Add(row); } } DataView dv = table.DefaultView; dv.Sort = "IdListaDePrecio"; _dataSource = dv; } else { foreach (Producto prod in snd.Productos) { DataRow rowLP = mz.erp.businessrules.tsh_ListasDePrecios.GetByPk(prod.ListaDePrecios.GetDefaultItem().IdListaDePrecios); string descLP = (string)rowLP["Descripcion"]; DataRow row = table.NewRow(); row["ListaDePrecios"] = descLP; row["Codigo"] = prod.Codigo; row["CodigoSecundario"] = prod.CodigoSecundario; row["Descripcion"] = prod.Descripcion; //Sabrina: tarea 56 //row["PrecioCostoDirecto"] = prod.PrecioDeCostoAnterior; row["PrecioDeCostoIndirecto"] = prod.CostosIndirectos; row["PrecioCostoDirecto"] = prod.PrecioDeCostoDirecto; row["PrecioDeCostoRef"] = prod.PrecioDeCosto; row["MAC"] = prod.MAC; row["PrecioDeVentaNeto"] = prod.PrecioDeVentaNeto; ListaDePreciosItem item = prod.ListaDePrecios.GetDefaultItem(); row["PrecioDeVentaBruto"] = item.PrecioDeVentaBruto; row["PrecioDeVentaBrutoConImpuesto"] = item.PrecioDeVentaBrutoConImpuestos; row["Coeficiente"] = item.CoeficienteGral; row["MaxDescuento"] = item.MaxDescuento; row["MaxDescuentoPorcentual"] = item.PorcentajeMaximoDescuento; table.Rows.Add(row); } _dataSource = table.DefaultView; } } } if ((_tasksender is mz.erp.businessrules.comprobantes.ComprobanteDePago) && (this._processManager.Process.ProcessName.Equals("ProcesoPagar") || this._processManager.Process.ProcessName.Equals("ProcesoPagoACuentaDV") || this._processManager.Process.ProcessName.Equals("ProcesoDevolverPago") || this._processManager.Process.ProcessName.Equals("ProcesoDevolverPagoDV") ) ) { ComprobanteDePago comp = (ComprobanteDePago)_tasksender; decimal Total = 0; string IdComprobanteDePago = null; foreach (DataRow row in comp.DatasetComprobante.tsa_Comprobantes.Rows) { if (Convert.ToString(row["IdTipoDeComprobante"]).Equals(comp.TipoComprobanteDestino)) { IdComprobanteDePago = Convert.ToString(row["IdComprobante"]); Total = Convert.ToDecimal(row["Total"]); break; } } DataTable table = mz.erp.businessrules.tsa_Comprobantes.GetComprobanteDePagoView(IdComprobanteDePago); string moneda = tfi_Monedas.GetDescripcionMoneda(comp.IdMonedaCierre); string textoNumeros = NumberToText.NumberToWords(Total, moneda); string nombreEmpresa = Variables.GetValueString("Sistema.NombreEmpresa"); table = AddColumn.AddColumnToTable(table, "NombreEmpresa", nombreEmpresa); string domicilioEmpresa = Variables.GetValueString("Sistema.DireccionEmpresa"); table = AddColumn.AddColumnToTable(table, "DomicilioEmpresa", domicilioEmpresa); string cuitEmpresa = Variables.GetValueString("Sistema.CUITEmpresa"); table = AddColumn.AddColumnToTable(table, "CUITEmpresa", cuitEmpresa); foreach (DataRow row in table.Rows) { row["TextoTotal"] = textoNumeros; } _dataSource = table.DefaultView; } }
/// <summary> /// Establece los valores por defecto de tsh_ProductosListasDePreciosRow. /// </summary> public static tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow SetRowDefaultValues(tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow row) { row.IdProducto = Util.NewStringId(); row.IdListaDePrecio = Util.NewStringId(); row.ModoDeAplicacion = string.Empty; row.Coeficiente = 0; row.MaxDescuento = 0; row.MaxDescuentoPorcentual = 0; row.PrecioDeVentaBruto = 0; row.PrecioDeVentaBrutoConImpuesto = 0; row.FechaCreacion = DateTime.Now; row.IdConexionCreacion = Security.IdConexion; row.UltimaModificacion = null; row.IdConexionUltimaModificacion = Security.IdConexion; row.IdReservado = 0; row.RowId = Guid.Empty; row.IdEmpresa = 0; row.IdSucursal = 0; return(row); }
/// <summary> /// Valida un tsh_ProductosListasDePreciosRow. /// </summary> public static bool RowIsValid(tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow row) { ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber); bool isValid = true; string mensaje; if (!IdProductoIsValid(row.IdProducto, out mensaje)) { row.SetColumnError("IdProducto", mensaje); isValid = false; } if (!IdListaDePrecioIsValid(row.IdListaDePrecio, out mensaje)) { row.SetColumnError("IdListaDePrecio", mensaje); isValid = false; } if (!ModoDeAplicacionIsValid(row.ModoDeAplicacion, out mensaje)) { row.SetColumnError("ModoDeAplicacion", mensaje); isValid = false; } if (!CoeficienteIsValid(row.Coeficiente, out mensaje)) { row.SetColumnError("Coeficiente", mensaje); isValid = false; } if (!MaxDescuentoIsValid(row.MaxDescuento, out mensaje)) { row.SetColumnError("MaxDescuento", mensaje); isValid = false; } if (!MaxDescuentoPorcentualIsValid(row.MaxDescuentoPorcentual, out mensaje)) { row.SetColumnError("MaxDescuentoPorcentual", mensaje); isValid = false; } if (!PrecioDeVentaBrutoIsValid(row.PrecioDeVentaBruto, out mensaje)) { row.SetColumnError("PrecioDeVentaBruto", mensaje); isValid = false; } if (!PrecioDeVentaBrutoConImpuestoIsValid(row.PrecioDeVentaBrutoConImpuesto, out mensaje)) { row.SetColumnError("PrecioDeVentaBrutoConImpuesto", mensaje); isValid = false; } if (!FechaCreacionIsValid(row.FechaCreacion, out mensaje)) { row.SetColumnError("FechaCreacion", mensaje); isValid = false; } if (!IdConexionCreacionIsValid(row.IdConexionCreacion, out mensaje)) { row.SetColumnError("IdConexionCreacion", mensaje); isValid = false; } if (!UltimaModificacionIsValid(row.UltimaModificacion, out mensaje)) { row.SetColumnError("UltimaModificacion", mensaje); isValid = false; } if (!IdConexionUltimaModificacionIsValid(row.IdConexionUltimaModificacion, out mensaje)) { row.SetColumnError("IdConexionUltimaModificacion", mensaje); isValid = false; } if (!IdReservadoIsValid(row.IdReservado, out mensaje)) { row.SetColumnError("IdReservado", mensaje); isValid = false; } if (!RowIdIsValid(row.RowId, out mensaje)) { row.SetColumnError("RowId", mensaje); isValid = false; } if (!IdEmpresaIsValid(row.IdEmpresa, out mensaje)) { row.SetColumnError("IdEmpresa", mensaje); isValid = false; } if (!IdSucursalIsValid(row.IdSucursal, out mensaje)) { row.SetColumnError("IdSucursal", mensaje); isValid = false; } ; return(isValid); }
/// <summary> /// Envia los cambios del tsh_ProductosListasDePreciosRow a la base de datos. /// </summary> public static void Update(tsh_ProductosListasDePreciosDataset.tsh_ProductosListasDePreciosRow row) { ApplicationAssert.Check(row != null, "El argumento row no debe ser nulo.", ApplicationAssert.LineNumber); mz.erp.dataaccess.tsh_ProductosListasDePrecios.Update(row); }