//Get: api/Pedidos?pedidosConPrecioTotal=true public IEnumerable <clsPedidoConPrecioTotal> Get(bool pedidosConPrecioTotal) { List <clsPedido> listaPedidos; List <clsLineaPedido> listaLineasDePedido; List <clsPedidoConPrecioTotal> listaPedidosConPrecio = new List <clsPedidoConPrecioTotal>(); clsPedidoConPrecioTotal pedidoConPrecioTotal; double totalPrecioPedido = 0.0; string nombreRazonSocialProveedor; try { listaPedidos = new ClsListadosPedidos_BL().getPedidosList(); for (int i = 0; i < listaPedidos.Count; i++) { //Por cada pedido existente //Obtengo sus líneas de pedido listaLineasDePedido = new ClsListadosLineaDePedidos_BL() .getLineasPedidoDeUnPedido(listaPedidos[i].Codigo); totalPrecioPedido = 0.0; for (int j = 0; j < listaLineasDePedido.Count; j++) { //Por cada linea de pedido existente en un pedido //Vamos sumando totalPrecioPedido += (listaLineasDePedido[j] .Cantidad * listaLineasDePedido[j].PrecioUnitario); } nombreRazonSocialProveedor = new ClsListadosProveedores_BL() .getProveedor(listaPedidos[i].CifProveedor).NombreRazonSocial; pedidoConPrecioTotal = new clsPedidoConPrecioTotal(listaPedidos[i], totalPrecioPedido, nombreRazonSocialProveedor); listaPedidosConPrecio.Add(pedidoConPrecioTotal); } } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.ServiceUnavailable); } if (listaPedidos.Count == 0 || listaPedidos == null) { throw new HttpResponseException(HttpStatusCode.NoContent); } return(listaPedidosConPrecio); }
//Get: api/Pedidos/{idPedido}?pedidosConPrecioTotal=true public clsPedidoConPrecioTotal Get(int id, bool pedidosConPrecioTotal) { clsPedido pedido; List <clsLineaPedido> listaLineasDePedido; clsPedidoConPrecioTotal pedidosConPrecio = new clsPedidoConPrecioTotal(); double totalPrecioPedido = 0.0; string nombreRazonSocialProveedor; try { pedido = new ClsListadosPedidos_BL().getPedido(id); //Obtengo sus líneas de pedido listaLineasDePedido = new ClsListadosLineaDePedidos_BL() .getLineasPedidoDeUnPedido(pedido.Codigo); totalPrecioPedido = 0.0; for (int j = 0; j < listaLineasDePedido.Count; j++) { //Por cada linea de pedido existente en un pedido //Vamos sumando totalPrecioPedido += (listaLineasDePedido[j] .Cantidad * listaLineasDePedido[j].PrecioUnitario); } nombreRazonSocialProveedor = new ClsListadosProveedores_BL() .getProveedor(pedido.CifProveedor).NombreRazonSocial; pedidosConPrecio = new clsPedidoConPrecioTotal(pedido, totalPrecioPedido, nombreRazonSocialProveedor); } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.ServiceUnavailable); } if (pedidosConPrecio.Codigo == 0 || pedidosConPrecio == null) { throw new HttpResponseException(HttpStatusCode.NoContent); } return(pedidosConPrecio); }