예제 #1
0
        private void UC_Listar_Load(object sender, EventArgs e)
        {
            int counter = 1;

            foreach (var produto in FormSplash.getProdutos())
            {
                dataGridView.Rows.Add(produto.Id, counter, produto.Nome, produto.Preco, produto.Tipo, produto.Descricao);
                counter++;
            }
        }
예제 #2
0
        public Form1()
        {
            InitializeComponent();

            uc_pedidos = new UC_Pedidos();
            FormSplash formSplash = new FormSplash(this);

            formSplash.Show();

            player        = new SoundPlayer();
            player.Stream = Properties.Resources.MGS_Alert;

            firebaseClient = new FirebaseClient("https://senacpos-sd.firebaseio.com/");
        }
예제 #3
0
        private void UC_Pedidos_Load(object sender, EventArgs e)
        {
            if (dataGridView.Rows.Count > 0 || FormSplash.getPedidos().Count == 0)
            {
                return;
            }

            foreach (var pedido in FormSplash.getPedidos())
            {
                dataGridView.Rows.Add(pedido.Id, counter, pedido.Hora, pedido.Cliente, pedido.TelefoneCliente,
                                      "Finalizar Pedido", pedido.Descricao, pedido.Endereco, pedido.FormaPagamento, pedido.Total);
                counter++;
            }
        }
예제 #4
0
        private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
            {
                if (MessageBox.Show("Deseja finalizar o pedido?", "Confirmação", MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    FormSplash.setIdPedidoDeletado(dataGridView.SelectedRows[0].Cells[0].Value.ToString());
                    FormSplash.removePedido(dataGridView.CurrentCell.RowIndex);
                    firebaseClient.Child("pedidos").Child(dataGridView.SelectedRows[0].Cells[0].Value.ToString()).DeleteAsync();
                    dataGridView.Rows.Remove(dataGridView.SelectedRows[0]);
                }
            }
        }
예제 #5
0
        public void splashClosed()
        {
            // Firebase registra toda a movimentação na "tabela" 'pedidos', incluindo exclusões
            firebaseClient.Child("pedidos").AsObservable <Pedido>().Subscribe(p =>
            {
                if (p.Object != null)
                {
                    bool check = false;

                    for (int i = 0; i < FormSplash.getPedidos().Count; i++)
                    {
                        if (FormSplash.getPedidos()[i].Id.Equals(p.Key))
                        {
                            check = true;
                            break;
                        }
                    }

                    if (btPedidos.BackColor != selectedButtonColor)
                    {
                        newPedido();
                    }

                    if (!check)
                    {
                        // Não adicionar o pedido que foi finalizado
                        if (FormSplash.getIdPedidoDeletado() != p.Key)
                        {
                            player.Play();
                            p.Object.Id = p.Key;
                            FormSplash.addPedido(p.Object);
                            uc_pedidos.addPedidoDataGrid(p.Object);
                        }
                    }
                }
            });
        }
예제 #6
0
        private async void btCadastrar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textNome.Text))
            {
                MessageBox.Show("Nome inválido");
            }

            if (string.IsNullOrEmpty(textPreco.Text))
            {
                MessageBox.Show("Preço inválido");
                return;
            }

            try
            {
                if (double.Parse(textPreco.Text) <= 0)
                {
                    MessageBox.Show("Preço inválido");
                    return;
                }
            }
            catch
            {
                MessageBox.Show("Preço inválido");
                return;
            }

            if (comboTipo.SelectedIndex == -1)
            {
                MessageBox.Show("Tipo inválido");
                return;
            }

            if (string.IsNullOrEmpty(textDesc.Text))
            {
                MessageBox.Show("Descrição inválida");
                return;
            }

            if (pictureBox.Image == null)
            {
                MessageBox.Show("Imagem inválida");
                return;
            }

            var firebaseClient = new FirebaseClient("https://senacpos-sd.firebaseio.com/");

            Produto produto = new Produto();

            produto.Nome      = textNome.Text.Trim();
            produto.Descricao = textDesc.Text.Trim();
            produto.Tipo      = comboTipo.Text.Trim();
            produto.Preco     = double.Parse(textPreco.Text.Replace('.', ','));

            progressBar.Visible = true;
            btCadastrar.Visible = false;
            textNome.Enabled    = false;
            textPreco.Enabled   = false;
            comboTipo.Enabled   = false;
            textDesc.Enabled    = false;
            btProcurar.Enabled  = false;

            var prod = await firebaseClient.Child("produtos").PostAsync(produto);

            var stream = new MemoryStream();

            pictureBox.Image.Save(stream, ImageFormat.Png);
            stream.Position = 0;

            var prodImagem = await new FirebaseStorage("senacpos-sd.appspot.com").Child(prod.Key).PutAsync(stream);

            produto.Id = prod.Key;
            FormSplash.addProduto(produto);

            Imagem img = new Imagem();

            img.URL = prodImagem;
            FormSplash.addImagem(img);

            await firebaseClient.Child("imagensUrl").Child(prod.Key).PostAsync(img);

            progressBar.Visible = false;
            btCadastrar.Visible = true;
            textNome.Enabled    = true;
            textPreco.Enabled   = true;
            comboTipo.Enabled   = true;
            textDesc.Enabled    = true;
            btProcurar.Enabled  = true;

            textNome.Text           = "";
            textPreco.Text          = "";
            comboTipo.SelectedIndex = -1;
            textDesc.Text           = "";
            pictureBox.Image        = null;

            MessageBox.Show("Produto '" + produto.Nome + "' cadastrado com sucesso");
        }
예제 #7
0
 private void btCarregar_Click(object sender, EventArgs e)
 {
     btCarregar.Visible = false;
     pictureBox.Load(FormSplash.getImagens()[(int)dataGridView.SelectedRows[0].Cells[1].Value - 1].URL);
 }