public CalculaPrecio() { list = null; _tasaCambio = 0.0m; _metodoCalculoUt = metodoCalculoUtilidad.SinDefinir; _preferenciaPrecio = OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.SinDefinir; _redondeoPrecio = OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.SinDefinir; }
public void Calculo_NoAdmDivisa(decimal factorCambio, decimal tasaIva, decimal pFull, decimal pNeto, OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio preferenciaRegistroPrecio) { if (preferenciaRegistroPrecio == OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.Neto) { var pn = pNeto; var xf = pn * ((tasaIva / 100) + 1); divisaFull = xf / factorCambio; divisaFull = Math.Round(divisaFull, 2, MidpointRounding.AwayFromZero); neto = pn; } else { var pdf = pFull; var xn1 = pdf / ((tasaIva / 100) + 1); divisaFull = pdf / factorCambio; divisaFull = Math.Round(divisaFull, 2, MidpointRounding.AwayFromZero); neto = Math.Round(xn1, 2, MidpointRounding.AwayFromZero); } }
public Item(OOB.LibInventario.Configuracion.MetodoCalculoUtilidad.CapturarData.Ficha s, decimal _tasaCambio, CalculaPrecio.metodoCalculoUtilidad _metodoCalculoUt, OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio _preferenciaPrecio, OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta _redondeoPrecio) { this.s = s; this._tasaCambio = _tasaCambio; this._metodoCalculoUt = _metodoCalculoUt; this._preferenciaPrecio = _preferenciaPrecio; this._redondeoPrecio = _redondeoPrecio; if (_metodoCalculoUt == CalculaPrecio.metodoCalculoUtilidad.Lineal) { if (s.precio1_IsHabilitado) { precio_1 = CostoLineal(costoEmpaque_1, s.utilidad_1); } else { precio_1 = new Precio(); } if (s.precio2_IsHabilitado) { precio_2 = CostoLineal(costoEmpaque_2, s.utilidad_2); } else { precio_2 = new Precio(); } if (s.precio3_IsHabilitado) { precio_3 = CostoLineal(costoEmpaque_3, s.utilidad_3); } else { precio_3 = new Precio(); } if (s.precio4_IsHabilitado) { precio_4 = CostoLineal(costoEmpaque_4, s.utilidad_4); } else { precio_4 = new Precio(); } if (s.precio5_IsHabilitado) { precio_5 = CostoLineal(costoEmpaque_5, s.utilidad_5); } else { precio_5 = new Precio(); } } else { if (s.precio1_IsHabilitado) { precio_1 = CostoFinanciero(costoEmpaque_1, s.utilidad_1); } else { precio_1 = new Precio(); } if (s.precio2_IsHabilitado) { precio_2 = CostoFinanciero(costoEmpaque_2, s.utilidad_2); } else { precio_2 = new Precio(); } if (s.precio3_IsHabilitado) { precio_3 = CostoFinanciero(costoEmpaque_3, s.utilidad_3); } else { precio_3 = new Precio(); } if (s.precio4_IsHabilitado) { precio_4 = CostoFinanciero(costoEmpaque_4, s.utilidad_4); } else { precio_4 = new Precio(); } if (s.precio5_IsHabilitado) { precio_5 = CostoFinanciero(costoEmpaque_5, s.utilidad_5); } else { precio_5 = new Precio(); } } }
public static Precio RecalcularPrecio( decimal cneto, decimal ut, decimal tasa, OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio enumPreferenciaRegistroPrecio, OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta enumForzarRedondeoPrecioVenta, OOB.LibInventario.Configuracion.Enumerados.EnumMetodoCalculoUtilidad enumMetodoCalculoUtilidad, decimal tasaCambio) { var rt = new Precio(); rt.setTasaCambio(tasaCambio); var m = 0.0m; if (enumMetodoCalculoUtilidad == OOB.LibInventario.Configuracion.Enumerados.EnumMetodoCalculoUtilidad.Financiero) { if (ut == 100.0m && cneto == 0.0m) { m = 0.0m; } else if (ut == 100) { } else { m = cneto / ((100 - ut) / 100); } } else { m = cneto + (cneto * ut / 100); } if (enumPreferenciaRegistroPrecio == OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.Full) { m += (m * tasa / 100); } switch (enumForzarRedondeoPrecioVenta) { case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.SinRedeondeo: m = Math.Round(m, 2, MidpointRounding.AwayFromZero); break; case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Unidad: m = Helpers.MetodosExtension.RoundUnidad((int)m); break; case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Decena: m = Helpers.MetodosExtension.RoundDecena((int)m); break; } if (enumPreferenciaRegistroPrecio == OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.Full) { rt.full = m; rt.neto = m / ((tasa / 100) + 1); } else { rt.neto = m; rt.full = m + (m * tasa / 100); } return(rt); }
public void setPreferenciaPrecio(OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio enumPreferenciaRegistroPrecio) { _preferenciaPrecio = enumPreferenciaRegistroPrecio; }