//adicionar
    public void additem(ItemdoCarrodeCompras item)
    {
        bool itsanewitem = true;

        foreach (ItemdoCarrodeCompras itemnalista in ListadeCompras)
        {
            if (itemnalista.getid() == item.getid() && itemnalista.getidv() == item.getidv())
            {
                itsanewitem = false;
                itemnalista.setunidades(itemnalista.getunidades() + item.getunidades());
            }
        }
        if (itsanewitem == true)
        {
            this.ListadeCompras.Add(item);
        }
        updateunidadestotaisdalista();
        updateprecototaldalista();
    }
Exemple #2
0
 //Abrir janela para editar item na lista de compras
 protected void ButtonEditarItemdaLista_Click(object sender, EventArgs e)
 {
     //Se o utilizador ter sessão
     Autenticate();
     //Se o utilizador ter artigos na sua lista de compras
     if (Session["ListadeCompras"] == null)
     {
         ClientScript.RegisterStartupScript(this.GetType(), "Aviso", "alert('Não tem nenhum artigo que possa atualizar.');", true);
     }
     else
     {
         //Se o utilizador ter seleccionado um item para editar
         if (GridViewListadeCompras.SelectedValue == null)
         {
             ClientScript.RegisterStartupScript(this.GetType(), "Aviso", "alert('Seleccione o artigo que pretende atualizar.');", true);
         }
         else
         {
             //Se o item seleccionado existir na variável de sessão
             ListadeItensdoCarrodeCompras lista = (ListadeItensdoCarrodeCompras)Session["ListadeCompras"];
             //Se o item seleccionado existir na base de dados, isto é feito com a mesma função com que se contam as variedades
             SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString);
             con.Open();
             //Verificar se o produto tem ou não variedades
             String     ProcurarProduto        = "select count(*) from ProdutosVariedades where FKId_Produtos=@FKId_Produtos";
             SqlCommand comandoProcurarProduto = new SqlCommand(ProcurarProduto, con);
             comandoProcurarProduto.Parameters.AddWithValue("@FKId_Produtos", GridViewListadeCompras.SelectedRow.Cells[2].Text);
             int temp = Convert.ToInt16(comandoProcurarProduto.ExecuteScalar().ToString());
             if (temp <= 0)
             {
                 ClientScript.RegisterStartupScript(this.GetType(), "Aviso", "alert('Este produto não está disponível de momento.');", true);
             }
             else
             {
                 ELCHiddenFieldId.Value  = GridViewListadeCompras.SelectedRow.Cells[2].Text;
                 ELCHiddenFieldIdv.Value = GridViewListadeCompras.SelectedRow.Cells[3].Text;
                 //Se o produto não tiver variedades ("Sem variedades"), o atributo nome vai ser tirado da tabela Produtos, e se o produto tiver variedades, o atributo nome vai ser tirado da tabela ProdutosVariedades
                 String GetAtributos;
                 if (temp == 1)
                 {
                     GetAtributos = "select Imagem, Nome, ProdutosMarcas.Marca AS Marca, Preco, Quantidade from Produtos left join ProdutosMarcas on Produtos.Marca = ProdutosMarcas.Id_ProdutosMarcas where Id_Produtos=@Id_Produtos";
                 }
                 //Obter a informação do produto da base de dados
                 else
                 {
                     GetAtributos = "select Imagem, Variedade as Nome, ProdutosMarcas.Marca AS Marca, Preco, Quantidade from Produtos left join ProdutosMarcas on Produtos.Marca = ProdutosMarcas.Id_ProdutosMarcas left join ProdutosVariedades on Produtos.Id_Produtos=ProdutosVariedades.FKId_Produtos where Id_Produtos=@Id_Produtos and ProdutosVariedades.Id_ProdutosVariedades=@Id_ProdutosVariedades";
                 }
                 SqlCommand comandoGetAtributos = new SqlCommand(GetAtributos, con);
                 comandoGetAtributos.Parameters.AddWithValue("@Id_Produtos", GridViewListadeCompras.SelectedRow.Cells[2].Text);
                 if (temp > 1)
                 {
                     comandoGetAtributos.Parameters.AddWithValue("@Id_ProdutosVariedades", GridViewListadeCompras.SelectedRow.Cells[3].Text);
                 }
                 SqlDataReader dr = comandoGetAtributos.ExecuteReader();
                 //Obter o número de unidades desejadas da variável de sessão
                 ItemdoCarrodeCompras item = lista.getitematidv(Int32.Parse(ELCHiddenFieldIdv.Value));
                 //Configurar a página de edição do artigo
                 while (dr.Read())
                 {
                     ELCProdutoImagem.ImageUrl          = dr["Imagem"].ToString();
                     ELCLabelNomeMarcaeQuantidade.Text  = dr["Nome"].ToString();
                     ELCLabelNomeMarcaeQuantidade.Text += " " + dr["Marca"].ToString();
                     ELCLabelNomeMarcaeQuantidade.Text += " " + dr["Quantidade"].ToString();
                     ELCLabelPreco.Text = dr["Preco"].ToString();
                 }
                 dr.Close();
                 if (item.getunidades() == 1)
                 {
                     ELCLabelItem.Text = item.getunidades() + " unidade por " + item.getprecototal() + "€";
                 }
                 else if (item.getunidades() > 1)
                 {
                     ELCLabelItem.Text = item.getunidades() + " unidades por " + item.getprecototal() + "€";
                 }
                 ELCTextBoxUnidades.Text          = item.getunidades().ToString();
                 UDivEditarListadeCompras.Visible = true;
             }
             con.Close();
         }
     }
 }