public void Add(VentaRequest model) { var transaction = _dbContext.Database.BeginTransaction(); try { var venta = new Venta(); venta.Total = model.Conceptos.Sum(d => d.Cantidad * d.PrecioUnitario); venta.Fecha = DateTime.Now; venta.IdCliente = model.IdCliente; _dbContext.Venta.Add(venta); _dbContext.SaveChanges(); foreach (var modelconcepto in model.Conceptos) { var concepto = new Models.Concepto(); concepto.Cantidad = modelconcepto.Cantidad; concepto.IdProducto = modelconcepto.IdProducto; concepto.PrecioUnitario = modelconcepto.PrecioUnitario; concepto.Importe = modelconcepto.Importe; concepto.IdVenta = venta.Id; _dbContext.Conceptos.Add(concepto); _dbContext.SaveChanges(); } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw new Exception("Ocurrió un error en la inserción", ex); } }
public IActionResult Add(VentaRequest model) { Respuesta respuesta = new Respuesta(); try { using (VentaRealContext db = new VentaRealContext()) { using (var transaction = db.Database.BeginTransaction()) { try { var venta = new Venta(); venta.Total = model.Conceptos.Sum(d => d.Cantidad * d.PrecioUnitario); venta.Fecha = DateTime.Now; venta.IdCliente = model.idCliente; db.Venta.Add(venta); db.SaveChanges(); foreach (var modelConcepto in model.Conceptos) { var concepto = new Models.Concepto(); concepto.Cantidad = modelConcepto.Cantidad; concepto.IdProducto = modelConcepto.IdProducto; concepto.PrecioUnitario = modelConcepto.PrecioUnitario; concepto.Importe = modelConcepto.Importe; concepto.IdVenta = venta.Id; db.Concepto.Add(concepto); db.SaveChanges(); } transaction.Commit(); respuesta.Exito = 1; } catch (Exception) { transaction.Rollback(); } } } } catch (Exception ex) { respuesta.Mensaje = ex.Message; } return(Ok(respuesta)); }
public void Add(VentaRequest model) { using (VentaRealContext db = new VentaRealContext()) { //primero se guarda los elementos de la tabla padre using (var transaction = db.Database.BeginTransaction()) { try { var venta = new Venta(); venta.Total = model.Conceptos.Sum(s => s.Cantidad * s.Importe); venta.Fecha = DateTime.Now; venta.IdCliente = model.IdCliente; db.Venta.Add(venta); db.SaveChanges(); //recorrido de todos los conectos uno or uno , guardado del detalle de la venta foreach (var modelConcepto in model.Conceptos) { var concepto = new Models.Concepto(); concepto.Cantidad = modelConcepto.Cantidad; concepto.IdProducto = modelConcepto.IdProducto; concepto.PrecioUnitario = modelConcepto.PrecioUnitario; concepto.IdVenta = venta.Id; concepto.Importe = modelConcepto.Importe; db.Concepto.Add(concepto); db.SaveChanges(); } transaction.Commit(); // si no se pone se va a bloquear la base de datos } catch { transaction.Rollback(); throw new Exception("ocurrio un error en la inserción"); } } } }
public void Add(VentaRequest model) { using (VentaRealContext db = new VentaRealContext()) { using (var transaction = db.Database.BeginTransaction()) { try { var venta = new Venta(); venta.Total = model.Conceptos.Sum(d => d.Cantidad * d.PrecioUnitario); venta.Fecha = DateTime.Now; venta.IdCliente = model.IdCliente; db.Venta.Add(venta); db.SaveChanges(); foreach (var modelConcepto in model.Conceptos) { var concepto = new Models.Concepto(); concepto.Cantidad = modelConcepto.Cantidad; concepto.IdProducto = modelConcepto.IdProducto; concepto.PrecioUnitario = modelConcepto.PrecioUnitario; concepto.IdVenta = venta.Id; db.Concepto.Add(concepto); db.SaveChanges(); } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw new Exception("Ocurrio un error en la inserción de datos. " + ex.Message); } } } }
public void AddVenta(VentaRespuesta Venta) { using (Almacen_dbContext db = new Almacen_dbContext()) { using (var transaction = db.Database.BeginTransaction()) { try { Venta venta = new Venta(); venta.Total = Venta.Conceptos.Sum(t => t.Cantidad * t.PrecioUnitario); venta.Fecha = DateTime.Now; venta.IdCliente = Venta.IdCliente; db.Venta.Add(venta); db.SaveChanges(); foreach (var modelConcepto in Venta.Conceptos) { var concepto = new Models.Concepto(); concepto.Cantidad = modelConcepto.Cantidad; concepto.IdProducto = modelConcepto.IdProducto; concepto.PrecioUnitario = modelConcepto.PrecioUnitario; concepto.Importe = modelConcepto.Importe; concepto.IdVenta = venta.IdVenta; db.Concepto.Add(concepto); db.SaveChanges(); } transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw new Exception("Ocurrio un Error en la Inserción"); } } } }