Пример #1
0
        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      = "";
            }
        }
Пример #2
0
        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();
                }
            }
        }
Пример #3
0
        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();
            }
        }