public int Registrar(RequestPedidoDetalleRegistrarDto modelo, ref long idNuevo) { int resultado = 0; try { const string query = "Transaccion.usp_PedidoDetalle_Registrar"; var p = new DynamicParameters(); p.Add("IdPedidoDetalle", 0, DbType.Int64, ParameterDirection.Output); p.Add("IdPedido", modelo.IdPedido); p.Add("IdProducto", modelo.IdProducto); p.Add("Cantidad", modelo.Cantidad); p.Add("PrecioUnitario", modelo.PrecioUnitario); using (var cn = HelperClass.ObtenerConeccion()) { if (cn.State == ConnectionState.Closed) { cn.Open(); } resultado = cn.Execute(query, commandType: CommandType.StoredProcedure, param: p); idNuevo = p.Get <long>("IdPedidoDetalle"); } } catch (Exception ex) { Log(Level.Error, (ex.InnerException == null ? ex.Message : ex.InnerException.Message)); } return(resultado); }
public int Registrar(RequestPedidoRegistrarDto modelo, ref long idNuevo) { int respuesta = 0; try { using (var scope = new TransactionScope()) { respuesta = _adPedido.Registrar(modelo, ref idNuevo); LnPedidoDetalle lnPedidoDetalle = new LnPedidoDetalle(); if (modelo.ListaPedidoDetalle == null) { modelo.ListaPedidoDetalle = new List <RequestPedidoRegistrarPedidoDetalleRegistrarDto>(); } if (respuesta > 0 && idNuevo > 0) { if (modelo.ListaPedidoDetalle.Any()) { int cantidadOkEsperadas = modelo.ListaPedidoDetalle.Count; int cantidadDetallesOk = 0; foreach (var det in modelo.ListaPedidoDetalle) { var entUbi = new RequestPedidoDetalleRegistrarDto { IdPedido = idNuevo, Cantidad = det.Cantidad, IdProducto = det.IdProducto, PrecioUnitario = det.PrecioUnitario }; long idNuevoDetalle = 0; int resultadoDetalle = lnPedidoDetalle.Registrar(entUbi, ref idNuevoDetalle); if (resultadoDetalle > 0 && idNuevoDetalle > 0) { cantidadDetallesOk++; } } if (cantidadOkEsperadas == cantidadDetallesOk) { scope.Complete(); } } } } } catch (Exception ex) { Log(Level.Error, ex.InnerException == null ? ex.Message : ex.InnerException.Message); } return(respuesta); }
public int Modificar(RequestPedidoModificarDto modelo) { //return _adPedido.Modificar(modelo); int respuesta = 0; try { using (var scope = new TransactionScope()) { respuesta = _adPedido.Modificar(modelo); LnPedidoDetalle lnPedidoDetalle = new LnPedidoDetalle(); if (modelo.ListaPedidoDetalle == null) { modelo.ListaPedidoDetalle = new List <RequestPedidoModificarPedidoDetalleModificarDto>(); } modelo.ListaPedidoDetalle = modelo.ListaPedidoDetalle .Where(x => x.Accion == "add" || x.Accion == "upd" || x.Accion == "del").ToList(); if (respuesta > 0) { if (modelo.ListaPedidoDetalle.Any()) { int cantidadOkEsperadas = modelo.ListaPedidoDetalle.Count; int cantidadDetallesOk = 0; foreach (var det in modelo.ListaPedidoDetalle) { switch (det.Accion) { case "add": { var entUbi = new RequestPedidoDetalleRegistrarDto { IdPedido = modelo.IdPedido, Cantidad = det.Cantidad, IdProducto = det.IdProducto, PrecioUnitario = det.PrecioUnitario }; long idNuevoDetalle = 0; int resultadoDetalle = lnPedidoDetalle.Registrar(entUbi, ref idNuevoDetalle); if (resultadoDetalle > 0 && idNuevoDetalle > 0) { cantidadDetallesOk++; } break; } case "upd": { var entUbi = new RequestPedidoDetalleModificarDto { IdPedidoDetalle = det.IdPedidoDetalle, IdPedido = modelo.IdPedido, Cantidad = det.Cantidad, IdProducto = det.IdProducto, PrecioUnitario = det.PrecioUnitario }; int resultadoDetalle = lnPedidoDetalle.Modificar(entUbi); if (resultadoDetalle > 0) { cantidadDetallesOk++; } break; } case "del": { int resultadoDetalle = lnPedidoDetalle.Eliminar(det.IdPedidoDetalle); if (resultadoDetalle > 0) { cantidadDetallesOk++; } break; } } } if (cantidadOkEsperadas == cantidadDetallesOk) { scope.Complete(); } } } } } catch (Exception ex) { Log(Level.Error, ex.InnerException == null ? ex.Message : ex.InnerException.Message); } return(respuesta); }
public int Registrar(RequestPedidoDetalleRegistrarDto modelo, ref long idNuevo) { return(_adPedidoDetalle.Registrar(modelo, ref idNuevo)); }