Calculate Values of a list

Asked

Viewed 587 times

0

I have a problem which is this: I have a list which stores the products of a supposed lease in a variable and includes in a table called ItensReserva. I need to sum up the values of these items to play on textbox that will present the full rental amount, but I’m not getting it. Can someone please help me? (I’m working with layers)

Follow the button code:

private void simpleButton2_Click(object sender, EventArgs e)
{    
    if (CodigoReserva == 0)
    {
        reservaDto = new ReservaDTO();
    }
    reservaDto.Cliente = txtClienteReserva.Text;
    reservaDto.Ajustes = txtAjuste.Text;
    if (CodigoReserva == 0)
    {
        List<ItensReservaDto> itensReserva = new List<ItensReservaDto>();
        foreach (ProdutoDTO produto in Produtos)
        {
            var itensReservaDto = new ItensReservaDto();
            itensReservaDto.CodigoProduto = produto.Id;
            itensReservaDto.ValorProduto = produto.Preco;
            itensReserva.Add(itensReservaDto);
        }

        reservaDto.ItensReserva = itensReserva;

        bll.inserir(reservaDto);


    }
    else
    {
        List<ItensReservaDto> itensReserva = new List<ItensReservaDto>();
        foreach (ProdutoDTO produto in Produtos)
        {
            if(produto.ItensReserva == null)
            {
                var itensReservaDto = new ItensReservaDto();
                itensReservaDto.CodigoProduto = produto.Id;
                itensReservaDto.ValorProduto = produto.Preco;
                itensReserva.Add(itensReservaDto);
            }
        }
        reservaDto.ItensReserva = itensReserva;
        reservaDto.ItensReservaExcluidos = itensReservaExcluidos;
        reservaDto.Cliente = txtClienteReserva.Text;
        reservaDto.Ajustes = txtAjuste.Text;
        bll.update(reservaDto);

    } 
    this.Close();

}
private void Reserva_Load(object sender, EventArgs e)
{
   //DateTime data = DateTime.Now;
    //mkreserva.Text = data.Date.ToString();        

    if (CodigoReserva > 0)
    {
        reservaDto = bll.pegarReserva(CodigoReserva);
        txtAjuste.Text = reservaDto.Ajustes;
        txtClienteReserva.Text = reservaDto.Cliente;
        txtvalortotal.Text = reservaDto.ValorTotal.ToString();

        ProdutoBLL produtoBll = new ProdutoBLL();
        Produtos.Clear();
        foreach (var itemReserva in reservaDto.ItensReserva)
        {
            ProdutoDTO produto = produtoBll.pegarProduto(itemReserva.CodigoProduto);
            Produtos.Add(produto);
            produto.ItensReserva = itemReserva;
        }
    }
}

Follows the method inserir:

public void inserir(ReservaDTO dto)
{
    bd.Conectar();

string comando = "INSERT INTO reserva(Cliente,Data_Reserva,Data_Retirada,  Data_Prova, Ajustes ,ValorTotal) Values ('" + dto.Cliente + "','" + dto.DataReserva + "','" + dto.DataRetirada + "','" + dto.DataProva + "','" + dto.Ajustes + "','" + dto.ValorTotal + "')";
    var codigo = bd.ExecutarComandoSql(comando);

    var itensProdutoBll = new ItensReservaBll();

    for (int i = 0; i < dto.ItensReserva.Count; i++)
    {
        var itensReserva = dto.ItensReserva[i];
        itensReserva.CodigoReserva = int.Parse(codigo.ToString());
        itensProdutoBll.inserir(itensReserva);
    }
}

1 answer

2

If I understand correctly, you just need to use the Sum linq.

var soma = itensReserva.Sum(item => item.ValorProduto);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.