public void Alta(TEMPORAL_PRECIO objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TEMPORAL_PRECIO.AddObject(objeto); ctx.SaveChanges(); } }
public void Modificacion(TEMPORAL_PRECIO objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TEMPORAL_PRECIO.Attach(objeto); ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified); ctx.SaveChanges(); } }
public TEMPORAL_PRECIO AltaConRetorno(TEMPORAL_PRECIO objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TEMPORAL_PRECIO.AddObject(objeto); ctx.SaveChanges(); return ObtenerPorID(objeto.TEMP_PRECIOID); } }
public void ModificacionPrecio(TEMPORAL_PRECIO entidad) { mTEMPORAL_PRECIO.Modificacion( entidad); }
public void BajaFisicaPrecio(TEMPORAL_PRECIO entidad) { mTEMPORAL_PRECIO.Baja(entidad); }
public void AltaPrecio(TEMPORAL_PRECIO entidad) { mTEMPORAL_PRECIO.Alta(entidad); }
public bool ValidacionBajaPrecio(TEMPORAL_PRECIO entidad) { //VALIDAR QUE EL CLIENTE NO TENGA ASIGNADA NINGUNA CTA CTE NI NOTA DE PEDIDO // var cta = entidad.Cta_Ctes; // mCTACTES_CLI_FABS.ObtenerCtaCteCliente(eTEMPORALSTOCK); // if (cta != null) // { // return false; // } // else // { return true; // } }
private void btnOK_Click(object sender, EventArgs e) { try { if (!Validar()) return; ReiniciarValidacionControl(txtNroDocumento); if (string.IsNullOrEmpty(txtNroDocumento.Text)) { ValidarTextboxObligatorio(txtNroDocumento, lblNroDocumento.Text); return; } using (TransactionScope transaccion = new TransactionScope()) { var oMOV_CTA_CTE_PROV_FACTURA = new MOVIMIENTO_CTACTE_PROVEEDOR(); //1ro TENGO QUE DAR DE ALTA EL MOVIMIENTO DE LA CTA CTE O SEA LA FACTURA A LA CTA DEL PROVEEDOR oMOV_CTA_CTE_PROV_FACTURA.MCCP_VALORMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.MCCP_SALDOMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.MCCP_SUBTOTAL = Convert.ToDecimal(txtSubTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.MCCP_PORCENTAJEDESCUENTO = Convert.ToDecimal(txtDescuentoPorcTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.TIPM_ID = (int)cmbComprobante.SelectedValue; oMOV_CTA_CTE_PROV_FACTURA.MCCP_CONCEPTO = ((TIPO_MOVIMIENTO)cmbComprobante.SelectedItem).TIPM_CONCEPTO; oMOV_CTA_CTE_PROV_FACTURA.MCCP_FECHAMOVIMIENTO = dtpFecha.Value; oMOV_CTA_CTE_PROV_FACTURA.MCCP_NROFACTURA = txtNroDocumento.Text; oMOV_CTA_CTE_PROV_FACTURA.FOR_ID = (int)cmbFormaPago.SelectedValue; oMOV_CTA_CTE_PROV_FACTURA.CCP_ID = eCTA.CCP_ID; oMOV_CTA_CTE_PROV_FACTURA = cMOVIMIENTO_CTACTE_PROVEEDORES.AltaConRetorno(oMOV_CTA_CTE_PROV_FACTURA); //SI FORMA DE PAGO ES EFECTIVO GENERA RECIBO PARA QUE EL SALDO QUEDE SALDADO if (((FORMA_PAGO)cmbFormaPago.SelectedItem).FOR_DESCRIPCION.Contains("EFECTIVO")) { var oMOV_CTA_CTE_PROV_RECIBO = new MOVIMIENTO_CTACTE_PROVEEDOR(); oMOV_CTA_CTE_PROV_RECIBO.MCCP_VALORMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); oMOV_CTA_CTE_PROV_RECIBO.MCCP_SALDOMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); var tipoMov = cTIPO_MOVIMIENTO.ObtenerTipoRecibo(); oMOV_CTA_CTE_PROV_RECIBO.TIPM_ID = tipoMov.TIPM_ID; oMOV_CTA_CTE_PROV_RECIBO.MCCP_CONCEPTO = tipoMov.TIPM_CONCEPTO; oMOV_CTA_CTE_PROV_RECIBO.MCCP_FECHAMOVIMIENTO = dtpFecha.Value; oMOV_CTA_CTE_PROV_RECIBO.MCCP_NROCOMPROBANTE = 0; //CERO INDICA FACTURA PAGA EN EFECTIVO //agrego a la cta cte el movimiento var cta = cPROVEEDOR.ObtenerCtaCteProveedor(ePROVEEDOR); oMOV_CTA_CTE_PROV_RECIBO.CCP_ID = cta.CCP_ID; cMOVIMIENTO_CTACTE_PROVEEDORES.Modificacion(oMOV_CTA_CTE_PROV_FACTURA); oMOV_CTA_CTE_PROV_RECIBO = cMOVIMIENTO_CTACTE_PROVEEDORES.AltaConRetorno(oMOV_CTA_CTE_PROV_RECIBO); oMOV_CTA_CTE_PROV_FACTURA.MCCP_NROCOMPROBANTE = oMOV_CTA_CTE_PROV_RECIBO.MCCP_ID; cMOVIMIENTO_CTACTE_PROVEEDORES.Modificacion(oMOV_CTA_CTE_PROV_FACTURA); } //agrego a la cta cte el movimiento //var ctaCte = cPROVEEDOR.ObtenerCtaCteProveedor(ePROVEEDOR); //ctaCte.MOVIMIENTOS_CTACTE_PROVEEDOR.Add(oMOV_CTA_CTE_PROV_FACTURA); //2do TENGO QUE DAR DE ALTA CADA UNA DE LAS LINES DE FACTURA DataTable tblGrilla; tblGrilla = dsDatos.Tables["GrillaFactura"]; foreach (DataRow lineaVtaGrilla in tblGrilla.Rows) { LINEA_FACTURA nuevaLinea = new LINEA_FACTURA(); nuevaLinea.PRO_ID = Convert.ToInt32(lineaVtaGrilla["PRO_ID"]); nuevaLinea.LIN_CANTIDAD = Convert.ToDecimal(lineaVtaGrilla["CANTIDAD_TOTAL"]); nuevaLinea.LIN_COSTO = Convert.ToDecimal(lineaVtaGrilla["PRECIOCOSTO_SINIVA"]); nuevaLinea.LIN_PORCENTAJEDESCUENTO = Convert.ToInt32(lineaVtaGrilla["PORCENTAJEDESCUENTO"]); nuevaLinea.TIVA_ID = Convert.ToInt32(lineaVtaGrilla["TIVA_ID"]); nuevaLinea.MCCP_ID = oMOV_CTA_CTE_PROV_FACTURA.MCCP_ID; nuevaLinea = cLINEA_FACTURA.AltaConRetorno(nuevaLinea); //doy de alta el producto temporal para actualizar el stock var tempStock = new TEMPORAL_STOCK { PRO_CANTIDAD = Convert.ToDecimal(lineaVtaGrilla["CANTIDAD_TOTAL"]), PRO_ID = nuevaLinea.PRO_ID, TEMP_FECHA = DateTime.Now }; cTEMPORAL.AltaStock(tempStock); //doy de alta el producto temporal para actualizar el precio si EL COSTO CAMBIA o IVA CAMBIA if (nuevaLinea.PRODUCTO.PRO_COSTO != Convert.ToDecimal(lineaVtaGrilla["PRECIOCOSTO_SINIVA"]) || nuevaLinea.TIVA_ID != Convert.ToInt32(lineaVtaGrilla["TIVA_ID"])) { //busca producto para obtener la ganancia PRODUCTO oPRODUCTO = cPRODUCTO.ObtenerPorID(Convert.ToInt32(lineaVtaGrilla["PRO_ID"])); TEMPORAL_PRECIO productoEnTemporal = cTEMPORAL.ObtenerPorIDProducto((int)nuevaLinea.PRO_ID); //Calculo de precio y ganancia var impuesto = Convert.ToDecimal(lineaVtaGrilla["PORCENTAJEIVA"]); var costo = Convert.ToDecimal(lineaVtaGrilla["PRECIOCOSTO_SINIVA"]); var precioVta = Convert.ToDecimal(lineaVtaGrilla["PRECIO_VENTA"]); var gananciaReal = Convert.ToDecimal(lineaVtaGrilla["PRO_MARGENGANANCIAREAL"]); var gananciaPromo = Convert.ToDecimal(oPRODUCTO.PRO_MARGENPROMO); var precioVtaPromo = cMetodosComunes.PrecioVentaGenerico(impuesto, gananciaPromo, costo, ePARAMETRO); var margenGananciaPromo = cMetodosComunes.PorcentajeGananciaGenerico(impuesto, precioVta, costo); if (productoEnTemporal != null) { var dr = MostrarMensajePreguntaSI_NO("Existe un registro para actualizar en Actualizacion Precios, \n Precio de Costo = " + productoEnTemporal.PRO_COSTO + "\n Margen de Ganancia: " + productoEnTemporal.PRO_MARGENGANANCIAREAL + "\n Precio Venta: " + productoEnTemporal.PRO_PRECIOVTA); if (dr) { productoEnTemporal.PRO_COSTO = costo; productoEnTemporal.PRO_PRECIOVTA = precioVta; productoEnTemporal.PRO_MARGENGANANCIAREAL = margenGananciaPromo; productoEnTemporal.PRO_PRECIOVTAPROMO = precioVtaPromo; productoEnTemporal.PRO_MARGENGANANCIAPROMO = margenGananciaPromo; productoEnTemporal.TIVA_ID = Convert.ToInt32(lineaVtaGrilla["TIVA_ID"]); productoEnTemporal.TEMP_FECHA = DateTime.Now; cTEMPORAL.ModificacionPrecio(productoEnTemporal); } } else { var tempPrecio = new TEMPORAL_PRECIO { PRO_COSTO = costo, PRO_PRECIOVTA = precioVta, PRO_MARGENGANANCIAREAL = margenGananciaPromo, PRO_PRECIOVTAPROMO = precioVtaPromo, PRO_MARGENGANANCIAPROMO = margenGananciaPromo, PRO_ID = nuevaLinea.PRO_ID, TIVA_ID = nuevaLinea.TIVA_ID, TEMP_FECHA = DateTime.Now }; cTEMPORAL.AltaPrecio(tempPrecio); } } } //3to ACTUALIZAR EL SALDO EN LA CTA CTE DEL PROVEEDOR switch (((TIPO_MOVIMIENTO)cmbComprobante.SelectedItem).TIPM_CONCEPTO) { case "DEBE": eCTA.CCP_SALDO += oMOV_CTA_CTE_PROV_FACTURA.MCCP_VALORMOVIMIENTO; break; case "HABER": eCTA.CCP_SALDO -= oMOV_CTA_CTE_PROV_FACTURA.MCCP_VALORMOVIMIENTO; break; } cCTACTE_PROVEEDOR.Modificacion(eCTA); cMOVIMIENTO_CTACTE_PROVEEDORES.Modificacion(oMOV_CTA_CTE_PROV_FACTURA); //4ro ALTA EL SEGUIMIENTO DE PRODUCTOS foreach (var item in oMOV_CTA_CTE_PROV_FACTURA.LINEAS_FACTURA) { var oSEG_PROD = new SEGUIMIENTO_PRODUCTO { PRO_ID = item.PRODUCTO.PRO_ID, PROV_ID = ePROVEEDOR.PROV_ID, SEG_FECHA = dtpFecha.Value, SEG_PRECIOCOSTO = item.LIN_COSTO, SEG_MARGENGANANCIA = item.PRODUCTO.PRO_MARGENGANANCIAREAL }; cSEGUIMIENTOS_PRODUCTOS.Alta(oSEG_PROD); } transaccion.Complete(); } MostrarMensajeInformativo("La Factura se realizó con éxito"); this.DialogResult = DialogResult.OK; } catch (Exception ex) { ProcesarExcepcion(ex); this.DialogResult = DialogResult.Cancel; } }
/// <summary> /// Crear un nuevo objeto TEMPORAL_PRECIO. /// </summary> /// <param name="tEMP_PRECIOID">Valor inicial de la propiedad TEMP_PRECIOID.</param> /// <param name="pRO_ID">Valor inicial de la propiedad PRO_ID.</param> /// <param name="pRO_MARGENGANACIAESTIMADA">Valor inicial de la propiedad PRO_MARGENGANACIAESTIMADA.</param> public static TEMPORAL_PRECIO CreateTEMPORAL_PRECIO(global::System.Int32 tEMP_PRECIOID, global::System.Int32 pRO_ID, global::System.Decimal pRO_MARGENGANACIAESTIMADA) { TEMPORAL_PRECIO tEMPORAL_PRECIO = new TEMPORAL_PRECIO(); tEMPORAL_PRECIO.TEMP_PRECIOID = tEMP_PRECIOID; tEMPORAL_PRECIO.PRO_ID = pRO_ID; tEMPORAL_PRECIO.PRO_MARGENGANACIAESTIMADA = pRO_MARGENGANACIAESTIMADA; return tEMPORAL_PRECIO; }
/// <summary> /// Método desusado para agregar un nuevo objeto al EntitySet TEMPORAL_PRECIO. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet<T> asociada. /// </summary> public void AddToTEMPORAL_PRECIO(TEMPORAL_PRECIO tEMPORAL_PRECIO) { base.AddObject("TEMPORAL_PRECIO", tEMPORAL_PRECIO); }
private void oK_CANCEL1_Click_OK(object sender, EventArgs e) { try { //*********************IMAGEN PROGRESS BAR********************** picProgresBar.Visible = true; oK_CANCEL1.Visible = false; //******************************************************* var ePARAMETRO = cPARAMETROS.ObtenerTodos(); using (TransactionScope TRANSACCION = new TransactionScope()) { #region METODO DE CALCULO VIEJO //#region //radCOSTO //if (radCosto.Checked == true) //{ // #region //radCOSTO y $ // if (radPesos.Checked == true) // { // foreach (var item in ListProductoImprimir) // { // var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); // var porcentajeImpuesto = item.TIPO_IVA.TIVA_PORCENTAJE / 100; // if (TEMP == null) // { // //alta temporal precio // TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); // eTEMPORAL.PRO_COSTO = item.PRO_COSTO + Convert.ToDecimal(txtPesos.Text); // eTEMPORAL.PRO_ID = item.PRO_ID; // var precioVta = item.PRO_PRECIOVTA + Convert.ToDecimal(txtPesos.Text); // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // //tengo que recalcular el margen de ganancia si se redondio // var precioBruto = precioFinal / eTEMPORAL.PRO_COSTO; // eTEMPORAL.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // eTEMPORAL.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Alta(eTEMPORAL); // } // else // { // //actualiza en temporal precio // TEMP.PRO_COSTO = item.PRO_COSTO + Convert.ToDecimal(txtPesos.Text); // TEMP.PRO_ID = item.PRO_ID; // var precioVta = item.PRO_PRECIOVTA + Convert.ToDecimal(txtPesos.Text); // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // //tengo que recalcular el margen de ganancia si se redondio // var precioBruto = precioFinal / TEMP.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // TEMP.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Modificacion(); // } // } // } // #endregion // #region //radCOSTO y % // else // { // foreach (var item in ListProductoImprimir) // { // var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); // var porcentajeImpuesto = item.TIPO_IVA.TIVA_PORCENTAJE / 100; // var porcentajeIngresado = (Convert.ToDecimal(numPorcentaje.Text) / 100); // if (TEMP == null) // { // //alta temporal precio // TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); // //pesificar el porcentaje ingresado del costo // var porcentajeCostoPesificado = item.PRO_COSTO * porcentajeIngresado; // eTEMPORAL.PRO_COSTO = item.PRO_COSTO + porcentajeCostoPesificado; // eTEMPORAL.PRO_ID = item.PRO_ID; // var precioVta = item.PRO_PRECIOVTA + porcentajeCostoPesificado; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // //tengo que recalcular el margen de ganancia si se redondio // var precioBruto = precioFinal / eTEMPORAL.PRO_COSTO; // eTEMPORAL.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // eTEMPORAL.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Alta(eTEMPORAL); // } // else // { // //pesificar el porcentaje ingresado del costo // var porcentajeCostoPesificado = item.PRO_COSTO * porcentajeIngresado; // TEMP.PRO_COSTO = item.PRO_COSTO + porcentajeCostoPesificado; // TEMP.PRO_ID = item.PRO_ID; // var precioVta = item.PRO_PRECIOVTA + porcentajeCostoPesificado; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // //tengo que recalcular el margen de ganancia si se redondio // var precioBruto = precioFinal / TEMP.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // TEMP.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Modificacion(); // } // } // } // #endregion //} //#endregion //#region //radGanancia //if (radGanancia.Checked == true) //{ // #region //radGanancia y $ // if (radPesos.Checked == true) // { // foreach (var item in ListProductoImprimir) // { // var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); // var porcentajeIngresado = (numPorcentaje.Value / 100); // var porcentajeImpuesto = item.TIPO_IVA.TIVA_PORCENTAJE / 100; // if (TEMP == null) // { // //alta temporal precio // TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); // eTEMPORAL.PRO_COSTO = item.PRO_COSTO; // eTEMPORAL.PRO_ID = item.PRO_ID; // //pesifico el impuesto // var Imp_pesos = porcentajeImpuesto * item.PRO_COSTO; // //pesifico el margen de ganancia que lo tengo en % // var MG_pesos = item.PRO_PRECIOVTA - item.PRO_COSTO - Imp_pesos; // var New_MG_pesos = MG_pesos + Convert.ToDecimal(txtPesos.Text); // var precioVta = item.PRO_COSTO + New_MG_pesos + Imp_pesos; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // var precioBruto = precioFinal / item.PRO_COSTO; // eTEMPORAL.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // eTEMPORAL.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Alta(eTEMPORAL); // } // else // { // //actualiza en temporal precio // TEMP.PRO_COSTO = item.PRO_COSTO; // TEMP.PRO_ID = item.PRO_ID; // //pesifico el impuesto // var Imp_pesos = porcentajeImpuesto * item.PRO_COSTO; // //pesifico el margen de ganancia que lo tengo en % // var MG_pesos = item.PRO_PRECIOVTA - item.PRO_COSTO - Imp_pesos; // var New_MG_pesos = MG_pesos + Convert.ToDecimal(txtPesos.Text); // var precioVta = item.PRO_COSTO + New_MG_pesos + Imp_pesos; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // var precioBruto = precioFinal / item.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // TEMP.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Modificacion(); // } // } // } // #endregion // #region //radGanancia y % // else // { // foreach (var item in ListProductoImprimir) // { // var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); // var porcentajeIngresado = (numPorcentaje.Value / 100); // var porcentajeImpuesto = item.TIPO_IVA.TIVA_PORCENTAJE / 100; // if (TEMP == null) // { // //alta temporal precio // TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); // eTEMPORAL.PRO_COSTO = item.PRO_COSTO; // eTEMPORAL.PRO_ID = item.PRO_ID; // //calculo margen de ganancia // var newMG = porcentajeIngresado + (item.PRO_MARGENGANACIA / 100); // var Imp_pesos = porcentajeImpuesto * item.PRO_COSTO; // eTEMPORAL.PRO_MARGENGANACIA = newMG * 100; // var newMG_pesos = newMG * item.PRO_COSTO; // var precioVta = Imp_pesos + item.PRO_COSTO + newMG_pesos; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // eTEMPORAL.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Alta(eTEMPORAL); // } // else // { // //actualiza en temporal precio // TEMP.PRO_COSTO = item.PRO_COSTO; ; // TEMP.PRO_ID = item.PRO_ID; // //calculo margen de ganancia // var newMG = porcentajeIngresado + (item.PRO_MARGENGANACIA / 100); // var Imp_pesos = porcentajeImpuesto * item.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = newMG * 100; // var newMG_pesos = newMG * item.PRO_COSTO; // var precioVta = Imp_pesos + item.PRO_COSTO + newMG_pesos; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // TEMP.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Modificacion(); // } // } // } // #endregion //} //#endregion //#region //radVta //if (radVta.Checked == true) //{ // #region //radVta y $ // if (radPesos.Checked == true) // { // foreach (var item in ListProductoImprimir) // { // var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); // var porcentajeIngresado = (numPorcentaje.Value / 100); // var porcentajeImpuesto = item.TIPO_IVA.TIVA_PORCENTAJE / 100; // if (TEMP == null) // { // //alta temporal precio // TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); // eTEMPORAL.PRO_COSTO = item.PRO_COSTO; // eTEMPORAL.PRO_ID = item.PRO_ID; // var precioVta = item.PRO_PRECIOVTA + Convert.ToDecimal(txtPesos.Text); // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // var precioBruto = precioFinal / item.PRO_COSTO; // eTEMPORAL.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // eTEMPORAL.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Alta(eTEMPORAL); // } // else // { // //actualiza en temporal precio // TEMP.PRO_COSTO = item.PRO_COSTO; // TEMP.PRO_ID = item.PRO_ID; // var precioVta = TEMP.PRO_PRECIOVTA + Convert.ToDecimal(txtPesos.Text); // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // var precioBruto = precioFinal / item.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // TEMP.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Modificacion(); // } // } // } // #endregion // #region //radVta y % // else // { // foreach (var item in ListProductoImprimir) // { // var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); // var porcentajeIngresado = (numPorcentaje.Value / 100); // var porcentajeImpuesto = item.TIPO_IVA.TIVA_PORCENTAJE / 100; // if (TEMP == null) // { // //alta temporal precio // TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); // eTEMPORAL.PRO_COSTO = item.PRO_COSTO; // eTEMPORAL.PRO_ID = item.PRO_ID; // //pesifico el porcentaje de vta // var porcentajeVtaPesificado = item.PRO_PRECIOVTA * porcentajeIngresado; // var precioVta = porcentajeVtaPesificado + item.PRO_PRECIOVTA; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // var precioBruto = precioFinal / item.PRO_COSTO; // eTEMPORAL.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // eTEMPORAL.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Alta(eTEMPORAL); // } // else // { // //actualiza en temporal precio // TEMP.PRO_COSTO = item.PRO_COSTO; // TEMP.PRO_ID = item.PRO_ID; // //calculo margen de ganancia // var newMG = porcentajeIngresado + (item.PRO_MARGENGANACIA / 100); // var Imp_pesos = porcentajeImpuesto * item.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = newMG * 100; // var newMG_pesos = newMG * item.PRO_COSTO; // var precioVta = Imp_pesos + item.PRO_COSTO + newMG_pesos; // decimal precioFinal = 0; // if (ePARAMETRO.PAR_ESTADOREDONDEO == true) // { // //redondeando // if (ePARAMETRO.PAR_FORMAREDONDEO == 1) // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); // } // else // { // precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); // } // } // //sin redondeo // else // { // precioFinal = (decimal)precioVta; // } // var precioBruto = precioFinal / item.PRO_COSTO; // TEMP.PRO_MARGENGANACIA = (precioBruto - 1 - porcentajeImpuesto) * 100; // TEMP.PRO_PRECIOVTA = precioFinal; // cTEMPORALS.Modificacion(); // } // } // } // #endregion //} //#endregion #endregion #region METODO DE CALCULO NUEVO decimal PorcImpuesto = 0; decimal PorcGanancia = 0; decimal PrecioCosto = 0; decimal precioVta = 0; #region //radCOSTO if (radCosto.Checked == true) { #region //radCOSTO y $ if (radPesos.Checked == true) { foreach (var item in ListProductoImprimir) { PorcImpuesto = 0; PorcGanancia = 0; PrecioCosto = 0; precioVta = 0; var nuevoBandera = false; TEMPORAL_PRECIO eTEMPORAL = null; var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); if (TEMP == null) { eTEMPORAL = new TEMPORAL_PRECIO(); nuevoBandera = true; } else { eTEMPORAL = TEMP; } PorcImpuesto = Convert.ToDecimal(item.TIPO_IVA.TIVA_PORCENTAJE) / 100; //TEMPORAL_PRECIO eTEMPORAL = new TEMPORAL_PRECIO(); PrecioCosto = Convert.ToDecimal(item.PRO_COSTO) + Convert.ToDecimal(txtPesos.Text); eTEMPORAL.PRO_COSTO = PrecioCosto; eTEMPORAL.PRO_ID = item.PRO_ID; PorcGanancia = (Convert.ToDecimal(item.PRO_MARGENGANACIAESTIMADA) / 100) + 1; precioVta = (PrecioCosto * (PorcImpuesto + 1)) * PorcGanancia; precioVta = decimal.Round(precioVta, 3); decimal precioFinal = 0; if (ePARAMETRO.PAR_ESTADOREDONDEO == true) { //redondeando if (ePARAMETRO.PAR_FORMAREDONDEO == 1) { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); } else { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); } } //sin redondeo else { precioFinal = (decimal)precioVta; } //tengo que recalcular el margen de ganancia si se redondio var PrecioBruto = Convert.ToDecimal(precioFinal / eTEMPORAL.PRO_COSTO); eTEMPORAL.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(decimal.Round(((PrecioBruto / (PorcImpuesto + 1)) - 1) * 100, 3)); eTEMPORAL.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(numPorcentaje.Value); eTEMPORAL.PRO_PRECIOVTA = precioFinal; eTEMPORAL.TEMP_FECHA = DateTime.Now; if (nuevoBandera) { //alta temporal precio cTEMPORALS.Alta(eTEMPORAL); } else { //actualiza en temporal precio cTEMPORALS.ModificacionPrecio(TEMP); } } } #endregion #region //radCOSTO y % else { foreach (var item in ListProductoImprimir) { PorcImpuesto = 0; PorcGanancia = 0; PrecioCosto = 0; precioVta = 0; var nuevoBandera = false; TEMPORAL_PRECIO eTEMPORAL = null; var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); if (TEMP == null) { eTEMPORAL = new TEMPORAL_PRECIO(); nuevoBandera = true; } else { eTEMPORAL = TEMP; } PorcImpuesto = Convert.ToDecimal(item.TIPO_IVA.TIVA_PORCENTAJE) / 100; var porcentajeIngresado = Convert.ToDecimal(numPorcentaje.Text) / 100; //pesificar el porcentaje ingresado del costo PrecioCosto = Convert.ToDecimal(item.PRO_COSTO) * (porcentajeIngresado + 1); eTEMPORAL.PRO_COSTO = PrecioCosto; eTEMPORAL.PRO_ID = item.PRO_ID; PorcGanancia = (Convert.ToDecimal(item.PRO_MARGENGANACIAESTIMADA) / 100) + 1; precioVta = (PrecioCosto * (PorcImpuesto + 1)) * PorcGanancia; precioVta = decimal.Round(precioVta, 3); decimal precioFinal = 0; if (ePARAMETRO.PAR_ESTADOREDONDEO == true) { //redondeando if (ePARAMETRO.PAR_FORMAREDONDEO == 1) { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); } else { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); } } //sin redondeo else { precioFinal = (decimal)precioVta; } //tengo que recalcular el margen de ganancia si se redondio var PrecioBruto = Convert.ToDecimal(precioFinal / eTEMPORAL.PRO_COSTO); eTEMPORAL.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(decimal.Round(((PrecioBruto / (PorcImpuesto + 1)) - 1) * 100, 3)); eTEMPORAL.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(numPorcentaje.Value); eTEMPORAL.PRO_PRECIOVTA = precioFinal; eTEMPORAL.TEMP_FECHA = DateTime.Now; if (nuevoBandera) { //alta temporal precio cTEMPORALS.Alta(eTEMPORAL); } else { //actualiza en temporal precio cTEMPORALS.ModificacionPrecio(TEMP); } } } #endregion } #endregion #region //radGanancia if (radGananciaEst.Checked == true) { #region //radGanancia y $ if (radPesos.Checked == true) { foreach (var item in ListProductoImprimir) { PorcImpuesto = 0; PorcGanancia = 0; PrecioCosto = 0; precioVta = 0; var nuevoBandera = false; TEMPORAL_PRECIO eTEMPORAL = null; var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); if (TEMP == null) { eTEMPORAL = new TEMPORAL_PRECIO(); nuevoBandera = true; } else { eTEMPORAL = TEMP; } PorcImpuesto = Convert.ToDecimal(item.TIPO_IVA.TIVA_PORCENTAJE) / 100; PrecioCosto = Convert.ToDecimal(item.PRO_COSTO); eTEMPORAL.PRO_COSTO = PrecioCosto; eTEMPORAL.PRO_ID = item.PRO_ID; var valorGanancia = item.PRO_COSTO * (PorcImpuesto + 1) * ((decimal)(item.PRO_MARGENGANACIAESTIMADA) / 100); var nuevoValorGanancia = valorGanancia + Convert.ToDecimal(txtPesos.Text); var nuevoPorcGanancia = (nuevoValorGanancia * Convert.ToDecimal(item.PRO_MARGENGANACIAESTIMADA)) / valorGanancia; PorcGanancia = (Convert.ToDecimal(nuevoPorcGanancia) / 100) + 1; precioVta = (PrecioCosto * (PorcImpuesto + 1)) * PorcGanancia; precioVta = decimal.Round(precioVta, 3); decimal precioFinal = 0; if (ePARAMETRO.PAR_ESTADOREDONDEO == true) { //redondeando if (ePARAMETRO.PAR_FORMAREDONDEO == 1) { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); } else { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); } } //sin redondeo else { precioFinal = (decimal)precioVta; } //tengo que recalcular el margen de ganancia si se redondio var PrecioBruto = Convert.ToDecimal(precioFinal / eTEMPORAL.PRO_COSTO); eTEMPORAL.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(decimal.Round(((PrecioBruto / (PorcImpuesto + 1)) - 1) * 100, 3)); eTEMPORAL.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(numPorcentaje.Value); eTEMPORAL.PRO_PRECIOVTA = precioFinal; eTEMPORAL.TEMP_FECHA = DateTime.Now; if (nuevoBandera) { //alta temporal precio cTEMPORALS.Alta(eTEMPORAL); } else { //actualiza en temporal precio cTEMPORALS.ModificacionPrecio(TEMP); } } } #endregion #region //radGanancia y % else { foreach (var item in ListProductoImprimir) { PorcImpuesto = 0; PorcGanancia = 0; PrecioCosto = 0; precioVta = 0; var nuevoBandera = false; TEMPORAL_PRECIO eTEMPORAL = null; var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); if (TEMP == null) { eTEMPORAL = new TEMPORAL_PRECIO(); nuevoBandera = true; } else { eTEMPORAL = TEMP; } PorcImpuesto = Convert.ToDecimal(item.TIPO_IVA.TIVA_PORCENTAJE) / 100; PrecioCosto = Convert.ToDecimal(item.PRO_COSTO); eTEMPORAL.PRO_COSTO = PrecioCosto; eTEMPORAL.PRO_ID = item.PRO_ID; PorcGanancia = (Convert.ToDecimal(item.PRO_MARGENGANACIAESTIMADA) * ((numPorcentaje.Value / 100) + 1)) / 100; precioVta = (PrecioCosto * (PorcImpuesto + 1)) * (PorcGanancia + 1); precioVta = decimal.Round(precioVta, 3); decimal precioFinal = 0; if (ePARAMETRO.PAR_ESTADOREDONDEO == true) { //redondeando if (ePARAMETRO.PAR_FORMAREDONDEO == 1) { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); } else { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); } } //sin redondeo else { precioFinal = (decimal)precioVta; } //tengo que recalcular el margen de ganancia si se redondio var PrecioBruto = Convert.ToDecimal(precioFinal / eTEMPORAL.PRO_COSTO); eTEMPORAL.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(decimal.Round(((PrecioBruto / (PorcImpuesto + 1)) - 1) * 100, 3)); eTEMPORAL.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(numPorcentaje.Value); eTEMPORAL.PRO_PRECIOVTA = precioFinal; eTEMPORAL.TEMP_FECHA = DateTime.Now; if (nuevoBandera) { //alta temporal precio cTEMPORALS.Alta(eTEMPORAL); } else { //actualiza en temporal precio cTEMPORALS.ModificacionPrecio(TEMP); } } } #endregion } #endregion #region //radVta if (radVta.Checked == true) { #region //radVta y $ if (radPesos.Checked == true) { foreach (var item in ListProductoImprimir) { PorcImpuesto = 0; PorcGanancia = 0; PrecioCosto = 0; precioVta = 0; var nuevoBandera = false; TEMPORAL_PRECIO eTEMPORAL = null; var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); if (TEMP == null) { eTEMPORAL = new TEMPORAL_PRECIO(); nuevoBandera = true; } else { eTEMPORAL = TEMP; } PorcImpuesto = Convert.ToDecimal(item.TIPO_IVA.TIVA_PORCENTAJE) / 100; PrecioCosto = Convert.ToDecimal(item.PRO_COSTO); eTEMPORAL.PRO_COSTO = PrecioCosto; eTEMPORAL.PRO_ID = item.PRO_ID; precioVta = Convert.ToDecimal(item.PRO_PRECIOVTA) + Convert.ToDecimal(txtPesos.Text); precioVta = decimal.Round(precioVta, 3); decimal precioFinal = 0; if (ePARAMETRO.PAR_ESTADOREDONDEO == true) { //redondeando if (ePARAMETRO.PAR_FORMAREDONDEO == 1) { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); } else { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); } } //sin redondeo else { precioFinal = (decimal)precioVta; } //tengo que recalcular el margen de ganancia si se redondio var PrecioBruto = Convert.ToDecimal(precioFinal / eTEMPORAL.PRO_COSTO); eTEMPORAL.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(decimal.Round(((PrecioBruto / (PorcImpuesto + 1)) - 1) * 100, 3)); eTEMPORAL.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(numPorcentaje.Value); eTEMPORAL.PRO_PRECIOVTA = precioFinal; eTEMPORAL.TEMP_FECHA = DateTime.Now; if (nuevoBandera) { //alta temporal precio cTEMPORALS.Alta(eTEMPORAL); } else { //actualiza en temporal precio cTEMPORALS.ModificacionPrecio(TEMP); } } } #endregion #region //radVta y % else { foreach (var item in ListProductoImprimir) { PorcImpuesto = 0; PorcGanancia = 0; PrecioCosto = 0; precioVta = 0; var nuevoBandera = false; TEMPORAL_PRECIO eTEMPORAL = null; var TEMP = cTEMPORALS.ObtenerPorIDProducto(item.PRO_ID); if (TEMP == null) { eTEMPORAL = new TEMPORAL_PRECIO(); nuevoBandera = true; } else { eTEMPORAL = TEMP; } PorcImpuesto = Convert.ToDecimal(item.TIPO_IVA.TIVA_PORCENTAJE) / 100; PrecioCosto = Convert.ToDecimal(item.PRO_COSTO); eTEMPORAL.PRO_COSTO = PrecioCosto; eTEMPORAL.PRO_ID = item.PRO_ID; var PorcAumentoVenta = (numPorcentaje.Value / 100) + 1; precioVta = Convert.ToDecimal(item.PRO_PRECIOVTA) * PorcAumentoVenta; precioVta = decimal.Round(precioVta, 3); decimal precioFinal = 0; if (ePARAMETRO.PAR_ESTADOREDONDEO == true) { //redondeando if (ePARAMETRO.PAR_FORMAREDONDEO == 1) { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma1((decimal)precioVta, ePARAMETRO.PAR_1RED_00_25, ePARAMETRO.PAR_1RED_025_50, ePARAMETRO.PAR_1RED_50_75, ePARAMETRO.PAR_1RED_75_1)); } else { precioFinal = Convert.ToDecimal(COMMON.MetodosComunes.RedondeoForma2((decimal)precioVta, ePARAMETRO.PAR_2RED_00_50, ePARAMETRO.PAR_2RED_50_1)); } } //sin redondeo else { precioFinal = (decimal)precioVta; } //tengo que recalcular el margen de ganancia si se redondio var PrecioBruto = Convert.ToDecimal(precioFinal / eTEMPORAL.PRO_COSTO); eTEMPORAL.PRO_MARGENGANANCIAREAL = Convert.ToDecimal(decimal.Round(((PrecioBruto / (PorcImpuesto + 1)) - 1) * 100, 3)); eTEMPORAL.PRO_MARGENGANACIAESTIMADA = Convert.ToDecimal(numPorcentaje.Value); eTEMPORAL.PRO_PRECIOVTA = precioFinal; eTEMPORAL.TEMP_FECHA = DateTime.Now; if (nuevoBandera) { //alta temporal precio cTEMPORALS.Alta(eTEMPORAL); } else { //actualiza en temporal precio cTEMPORALS.ModificacionPrecio(TEMP); } } } #endregion } #endregion #endregion TRANSACCION.Complete(); } //*********************IMAGEN PROGRESS BAR********************** picProgresBar.Visible = false; oK_CANCEL1.Visible = true; //******************************************************* MostrarMensajeInformativo("Los Productos que se desean actualizar se han colocado en la lista de pendiente de actualizacion. Para que el cambio de producto tenga efecto, tiene que realizar la Actualizacion de Precios de Producto."); this.Close(); } catch (Exception ex) { ProcesarExcepcion(ex); DialogResult = DialogResult.None; this.Close(); } }