public void Guardar(Compra compra) { try { _conexion = new ConexionBd(); SqlConnection cn = _conexion.AbrirConexion(); transaction = cn.BeginTransaction(); Repositoriocompra = new RepositorioCompras(cn, transaction); RepositoriocompraMedicamento = new RepositorioComprasMedicamentos(cn, transaction); Repositoriomedicamentos = new RepositorioMedicamentos(cn, transaction); Repositoriocompra.Guardar(compra); foreach (var cm in compra.ComprasMedicamentos) { cm.Compra = compra; RepositoriocompraMedicamento.Guardar(cm); Repositoriomedicamentos.ModificarStok(cm.Cantidad, cm.Medicamento.MedicamentoId); } transaction.Commit(); _conexion.CerrarConexion(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } }
public void Guardar(Venta venta) { try { conexion = new ConexionBd(); SqlConnection cn = conexion.AbrirConexion(); sqlTransaction = cn.BeginTransaction(); repositorioVentas = new RepositorioVentas(cn, sqlTransaction); repositorioVentasMedicamentos = new RepositorioVentasMedicamentos(cn, sqlTransaction); repositorioMedicamentos = new RepositorioMedicamentos(cn, sqlTransaction); repositorioVentas.Guardar(venta); foreach (var vm in venta.ventasMedicamentos) { vm.venta = venta; repositorioVentasMedicamentos.Guardar(vm); repositorioMedicamentos.ModificarStok(-vm.Cantidad, vm.medicamento.MedicamentoId); } sqlTransaction.Commit(); conexion.CerrarConexion(); } catch (Exception ex) { sqlTransaction.Rollback(); throw new Exception(ex.Message); } }