public int RegistrarVentaDevolucionDependiente(BEVenta pBEVenta) { DatabaseHelper dbh = new DatabaseHelper(); try { int intResultado = 0; dbh.BeginTransaction(); // Insertar Lineas de Venta int intContador = 0; pBEVenta.ListaAmortizacion.ForEach(delegate(BELineaVenta oEntidad) { oEntidad.IdVenta = pBEVenta.IdVenta; oEntidad.BEUsuarioLogin = pBEVenta.BEUsuarioLogin; intContador += new DALineaVenta().InsertarLineaVentaDependiente(oEntidad, dbh); }); intResultado += (intContador == pBEVenta.ListaAmortizacion.Count) ? 1 : 0; // Insertar Venta Final intResultado += new DAVenta().InsertarVentaFinal(pBEVenta, dbh); // if (intResultado == 2) { dbh.CommitTransaction(); } else { dbh.RollbackTransaction(); } return(intResultado); } catch (Exception ex) { dbh.RollbackTransaction(); throw ex; } finally { dbh.Dispose(); } }
public int ModificarVentaInicialDependiente(BEVenta pBEVenta, bool bAlContado, decimal dMontoAmortizacion) { DatabaseHelper dbh = new DatabaseHelper(); try { int intResultado = 0; dbh.BeginTransaction(); // Insertar Lineas de Venta int intContador = 0; pBEVenta.ListaLineaVenta.ForEach(delegate(BELineaVenta oEntidad) { oEntidad.IdVenta = pBEVenta.IdVenta; oEntidad.BEUsuarioLogin = pBEVenta.BEUsuarioLogin; intContador += new DALineaVenta().InsertarLineaVentaDependiente(oEntidad, dbh); }); intResultado += (intContador == pBEVenta.ListaLineaVenta.Count) ? 1 : 0; // Insertar Venta Final intResultado += new DAVenta().InsertarVentaFinal(pBEVenta, dbh); // //verifica si tiene amortizacion, si es asi if (bAlContado || dMontoAmortizacion > 0) { BEVenta tmppBEVenta = (new BLVenta().ListarVenta(pBEVenta.IdVenta, pBEVenta.IdCaja, dbh))[0]; BEAmortizacionVenta BEAmortizacion = new BEAmortizacionVenta(); BEAmortizacion.FechaPago = tmppBEVenta.FechaInicio; BEAmortizacion.IdCliente = tmppBEVenta.IdCliente; BEAmortizacion.IdEstado = BEAmortizacionVenta.ESTADO_REGISTRADO; BEAmortizacion.IdFormaPago = BEAmortizacionVenta.FORMAPAGO_EFECTIVO; BEAmortizacion.IdPersonal = pBEVenta.BEUsuarioLogin.IdPersonal; BEAmortizacion.IdTipoAmortizacion = BEAmortizacionVenta.TIPOAMORTIZACION_AMORTIZACION; BEAmortizacion.IdVenta = pBEVenta.IdVenta; BEAmortizacion.Monto = (bAlContado) ? tmppBEVenta.TotalSaldo : dMontoAmortizacion; BEAmortizacion.Observacion = ""; BEAmortizacion.BEUsuarioLogin = pBEVenta.BEUsuarioLogin; List <BEAmortizacionVenta> lista = new List <BEAmortizacionVenta>(); lista.Add(BEAmortizacion); new BLAmortizacionVenta().Insertar(lista, dbh); //Actualizar la venta new DAVenta().InsertarVentaFinal(pBEVenta, dbh); } if (intResultado == 2) { dbh.CommitTransaction(); intResultado++; } else { dbh.RollbackTransaction(); } return(intResultado); } catch (Exception ex) { dbh.RollbackTransaction(); throw ex; } finally { dbh.Dispose(); } }
public int RegistrarLineaVentaMantenimientoDependiente(BEVenta pBEVenta, dsLineaVenta.DTLineaVentaDataTable pDTLineasVentas, dsLineaVenta.DTLineaVentaDataTable pDTEliminados, bool HayCambioPrecio) { DatabaseHelper dbh = new DatabaseHelper(); int intResultado = 0; try { dbh.BeginTransaction(); int modificados = new DAVenta().InsertarVentaFinal(pBEVenta, dbh); // Eliminar los registros int intEliminados = 0; foreach (dsLineaVenta.DTLineaVentaRow vRow in pDTEliminados.Rows) { intEliminados += new DALineaVenta().EliminarLineaVentaDependiente(vRow, dbh); } intResultado += (intEliminados == pDTEliminados.Rows.Count) ? 1 : 0; // Registrar las Lineas de Venta int intContadorLV = 0; int intContadorAll = pDTLineasVentas.Rows.Count; foreach (dsLineaVenta.DTLineaVentaRow vRow in pDTLineasVentas.Rows) { if (vRow.IdAccion == eAccion.Agregar.GetHashCode()) { intContadorLV += new DALineaVenta().InsertarLineaVentaDependiente(vRow, pBEVenta.BEUsuarioLogin.IdPersonal, dbh); } else if (vRow.IdAccion == eAccion.Modificar.GetHashCode()) { intContadorLV += new DALineaVenta().ModificarLineaVentaDependiente(vRow, pBEVenta.BEUsuarioLogin.IdPersonal, dbh); } else { intContadorAll--; } } intResultado += (intContadorLV == intContadorAll) ? 1 : 0; //if (HayCambioPrecio) new DAAmortizacionVenta().AnularAmortizacionVenta(pBEVenta); //.ReaplicarAmortizacion(pBEVenta); // Insertar Venta Final intResultado += new DAVenta().InsertarVentaFinal(pBEVenta, dbh); // if (intResultado == 3) { dbh.CommitTransaction(); } else { dbh.RollbackTransaction(); } return(intResultado); } catch (Exception ex) { dbh.RollbackTransaction(); throw ex; } finally { dbh.Dispose(); } }