/// <summary> /// Calcula el precio total de un pedido que pasamos por parámetro. /// </summary> /// <param name="pedido">El pedido al que le queremos sacar el total.</param> /// <returns>El precio total de todos los componentes del pedido.</returns> private async Task <float> CalcularTotalAsync(Pedido pedido) { PlacaBase placabase = await PlacaBase_Repository.ComprobarId(pedido.PlacaBase); Procesador procesador = await Procesador_Repository.ComprobarId(pedido.Procesador); Chasis chasis = await Chasis_Repository.ComprobarId(pedido.Chasis); RAM ram = await RAM_Repository.ComprobarId(pedido.RAM); TarjetaGrafica tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarId(pedido.TarjetaGrafica); return(placabase.Precio + procesador.Precio + chasis.Precio + ram.Precio + tarjetaGrafica.Precio); }
/// <summary> /// Recupera de cada pedido realizado el nombre del usuario que lo ha realizado, el nombre de cada componente y el precio total. /// </summary> /// <returns>Una lista de los pedidos realizados.</returns> public async Task <List <LineaPedido> > CargarPedidos() { pedidos = await App.Pedido_Repository.GetAllPedidosAsync(); List <LineaPedido> lineasPedido = new List <LineaPedido>(); PlacaBase placabase; Procesador procesador; Chasis chasis; RAM ram; TarjetaGrafica tarjetaGrafica; Usuario usuarioPedido; for (int i = 0; i < pedidos.Count; i++) { placabase = await PlacaBase_Repository.ComprobarId(pedidos[i].PlacaBase); procesador = await Procesador_Repository.ComprobarId(pedidos[i].Procesador); chasis = await Chasis_Repository.ComprobarId(pedidos[i].Chasis); ram = await RAM_Repository.ComprobarId(pedidos[i].RAM); tarjetaGrafica = await TarjetaGrafica_Repository.ComprobarId(pedidos[i].TarjetaGrafica); usuarioPedido = await Usuario_Repository.ComprobarId(pedidos[i].Usuario); lineasPedido.Add(new LineaPedido( pedidos[i].Id, usuarioPedido.Nombre, placabase.Nombre, procesador.Nombre, tarjetaGrafica.Nombre, chasis.Nombre, ram.Nombre, placabase.Precio + procesador.Precio + chasis.Precio + ram.Precio + tarjetaGrafica.Precio )); } return(lineasPedido); }