Exemplo n.º 1
0
        //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);
                    }
                }
            }
        }
Exemplo n.º 2
0
 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);
             }
         }
     }
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
 /// <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);
 }
Exemplo n.º 6
0
        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;
            }
        }
Exemplo n.º 7
0
        /// <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);
        }
Exemplo n.º 8
0
        /// <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);
        }
Exemplo n.º 9
0
        /// <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);
        }