public PedidoObtenerNotaPedidoDto ObtenerNotaPedidoPorId(long id) { PedidoObtenerNotaPedidoDto pedidoCabecera = _adPedido.ObtenerNotaPedido(id); if (pedidoCabecera != null) { LnPedidoDetalle lnPedidoDetalle = new LnPedidoDetalle(); var listaDetalles = lnPedidoDetalle.ObtenerPorIdPedido(id); List <PedidoAtributoDetalleDto> listaDet = new List <PedidoAtributoDetalleDto>(); if (listaDetalles != null) { if (listaDetalles.Any()) { listaDet = (from tab in listaDetalles select new PedidoAtributoDetalleDto { IdPedidoDetalle = tab.IdPedidoDetalle, Cantidad = tab.Cantidad, DescripcionProducto = tab.DescripcionProducto, PrecioUnitario = tab.PrecioUnitario, UrlImagenProducto = tab.UrlImagenProducto }).ToList(); pedidoCabecera.ListaDetalle = listaDet; } } return(pedidoCabecera); } return(null); }
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 PedidoAtributoDto ObtenerPorIdConDetalles(long id) { PedidoAtributoDto pedido = null; var pedidoCabecera = _adPedido.ObtenerPorId(id); if (pedidoCabecera != null) { LnPedidoDetalle lnPedidoDetalle = new LnPedidoDetalle(); var listaDetalles = lnPedidoDetalle.ObtenerPorIdPedido(id); List <PedidoAtributoDetalleDto> listaDet = new List <PedidoAtributoDetalleDto>(); if (listaDetalles != null) { if (listaDetalles.Any()) { listaDet = (from tab in listaDetalles select new PedidoAtributoDetalleDto { IdPedidoDetalle = tab.IdPedidoDetalle, Cantidad = tab.Cantidad, DescripcionProducto = tab.DescripcionProducto, PrecioUnitario = tab.PrecioUnitario, UrlImagenProducto = tab.UrlImagenProducto }).ToList(); } } pedido = new PedidoAtributoDto { IdPedido = pedidoCabecera.IdPedido, Direccion = pedidoCabecera.Direccion, IdEstado = pedidoCabecera.IdEstado, IdMoneda = pedidoCabecera.IdMoneda, IdNegocioComprador = pedidoCabecera.IdNegocioComprador, IdNegocioVendedor = pedidoCabecera.IdNegocioVendedor, Total = pedidoCabecera.Total, NumeroCelular = pedidoCabecera.NumeroCelular, Observaciones = pedidoCabecera.Observaciones, ListaDetalle = listaDet }; return(pedido); } return(null); }
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); }