public IActionResult add(SaleRequestDTO model) { BaseResponse response = new BaseResponse(); try { _sale.Add(model); response.Success = true; } catch (Exception ex) { response.Message = ex.Message; } return(Ok(response)); }
public void Add(SaleRequestDTO model) { using (BDTiendaContext db = new BDTiendaContext()) { using (var transaction = db.Database.BeginTransaction()) { try { var cabeceraDetalle = new CabeceraDetalle(); cabeceraDetalle.Total = model.SaleDetails.Sum(d => d.Cantidad * d.PrecioActual); cabeceraDetalle.IdCliente = model.IdCliente; cabeceraDetalle.Fecha = DateTime.Now; cabeceraDetalle.IdOrganizacion = 1; db.CabeceraDetalle.Add(cabeceraDetalle); db.SaveChanges(); foreach (var saleDetails in model.SaleDetails) { Detalle detalle = new Detalle(); detalle.Cantidad = saleDetails.Cantidad; detalle.PrecioActual = saleDetails.PrecioActual; detalle.PrecioTotal = saleDetails.PrecioActual * saleDetails.Cantidad; detalle.IdProducto = saleDetails.IdProducto; detalle.IdCabeceraDetalle = cabeceraDetalle.IdCabeceraDetalle; db.Detalle.Add(detalle); db.SaveChanges(); } transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw new Exception("Ocurrió un error en la Inserción"); } } } }