private void ItemEditor_Load(object sender, EventArgs e) { // Desde que todos os valores estao prontos , prepara o processamento do item EstoqueItem item = new EstoqueItem(); EstoqueItems items = new EstoqueItems(); BinaryFormatter bfmEstoqueItem = new BinaryFormatter(); // This is the file that holds the list of items string nomeArquivo = @"C:\InstrumentosMusicais\Dados\EstoqueItems.mis"; if (File.Exists(nomeArquivo)) { FileStream stmArmazenaItem = new FileStream(nomeArquivo, FileMode.Open, FileAccess.Read, FileShare.Read); try { // retorna a lista de itens do arquivo items = (EstoqueItems)bfmEstoqueItem.Deserialize(stmArmazenaItem); // exibe as categorias no combobox for (int i = 0; i < items.Count; i++) { item = (EstoqueItem)items[i]; if (!cbxCategorias.Items.Contains(item.Category)) { cbxCategorias.Items.Add(item.Category); } } // exibe os tipos de itens no the combo box for (int i = 0; i < items.Count; i++) { item = (EstoqueItem)items[i]; if (!cbxTipos.Items.Contains(item.Type)) { cbxTipos.Items.Add(item.Type); } } } finally { stmArmazenaItem.Close(); } } else { // Cria um numero aleatorio para identificar um item Random rnd = new Random(); txtItemNumero.Text = rnd.Next(100000, 999999).ToString(); // verifica se o usuário selecionou a categoria cbxCategorias.Text = ""; cbxTipos.Text = ""; } }
void LoadLojaMusical() { string caminhoDados = @"C:\InstrumentosMusicais\Dados\"; //processa o item items = new EstoqueItems(); BinaryFormatter bfmEstoqueItem = new BinaryFormatter(); // arquivo que trata os itens string nomeArquivo = caminhoDados + "EstoqueItems.mis"; if (File.Exists(nomeArquivo)) { FileStream stmEstoqueItem = new FileStream(nomeArquivo, FileMode.Open, FileAccess.Read, FileShare.Read); try { // retorna lista de itens items = (EstoqueItems)bfmEstoqueItem.Deserialize(stmEstoqueItem); // Exibe as categorias no cambobox for (int i = 0; i < items.Count; i++) { EstoqueItem item = (EstoqueItem)items[i]; if (!cbxCategorias.Items.Contains(item.Category)) { cbxCategorias.Items.Add(item.Category); } } } finally { stmEstoqueItem.Close(); } } }
private void btnCriar_Click(object sender, EventArgs e) { FileStream stmArmazenaItem = null; EstoqueItem item = new EstoqueItem(); EstoqueItems items = new EstoqueItems(); BinaryFormatter bfmEstoqueItem = new BinaryFormatter(); // se o diretorio nao existe então cria Directory.CreateDirectory(@"C:\InstrumentosMusicais\Dados"); // este arquivo trata a lista de itens string nomeArquivo = @"C:\InstrumentosMusicais\Dados\EstoqueItems.mis"; // Cria um no aleatorio para identificar o item Random rnd = new Random(); txtItemNumero.Text = rnd.Next(100000, 999999).ToString(); // verifica se o usuário selecionou a categoria if (cbxCategorias.Text.Length == 0) { MessageBox.Show("Você deve definir a categoria do item"); cbxCategorias.Focus(); return; } // verifica se o usuário selecionou um tipo if (cbxTipos.Text.Length == 0) { MessageBox.Show("Você deve definir o tipo do item"); cbxTipos.Focus(); return; } // verifica se o usuário informou o nome/descrição if (txtItemNome.Text.Length == 0) { MessageBox.Show("Você deve informar o nome (ou uma " + "breve descrição) para o item"); txtItemNome.Focus(); return; } // verifica se o preco foi informado if (txtPrecoUnitario.Text.Length == 0) { MessageBox.Show("Você deve informar o preço do item"); txtPrecoUnitario.Focus(); return; } // Ante de salvar um novo item, pesquisa se ja existe // um arquivo que trata a lista de itens // Se exisitr abre o arquivo e armazena os itens // na lista if (File.Exists(nomeArquivo)) { stmArmazenaItem = new FileStream(nomeArquivo, FileMode.Open, FileAccess.Read, FileShare.Read); try { // retorna a lista de itens do arquivo items = (EstoqueItems)bfmEstoqueItem.Deserialize(stmArmazenaItem); } finally { stmArmazenaItem.Close(); } } // Cria o item item.ItemNumber = txtItemNumero.Text; item.Category = cbxCategorias.Text; item.Type = cbxTipos.Text; item.ItemName = txtItemNome.Text; item.UnitPrice = double.Parse(txtPrecoUnitario.Text); // Cham o méodo Add da coleção para adicioar o item items.Add(item); // Save the list stmArmazenaItem = new FileStream(nomeArquivo, FileMode.Create, FileAccess.Write, FileShare.Write); try { bfmEstoqueItem.Serialize(stmArmazenaItem, items); if (txtCaminhoImagem.Text.Length != 0) { FileInfo arqImagem = new FileInfo(txtCaminhoImagem.Text); arqImagem.CopyTo(@"C:\InstrumentosMusicais\Dados\" + txtItemNumero.Text + arqImagem.Extension); } // após salvar o item reseta o formulário txtItemNumero.Text = rnd.Next(100000, 999999).ToString(); cbxCategorias.Text = ""; cbxTipos.Text = ""; txtItemNome.Text = ""; txtPrecoUnitario.Text = "0.00"; txtCaminhoImagem.Text = ""; pbxItemEstoque.Image = null; } finally { stmArmazenaItem.Close(); } }