Exemple #1
0
        private void btnAdicionarMaterial_Click(object sender, EventArgs e)
        {
            int    codigoFornecedor  = int.Parse(cmbFornecedor.SelectedValue.ToString());
            int    codigoLocal       = int.Parse(cmbLocal.SelectedValue.ToString());
            string strCodigoMaterial = txtCodigoMaterial.Text.ToString();

            //Fazendo a validação do texto
            Boolean statusCodigoMaterial = validar.Textos(strCodigoMaterial);

            if (statusCodigoMaterial == true)
            {
                //Verificando se é um número inteiro - Se retornar 0, é porque o código é inválido
                int codigoMaterial = validar.IsNumero(strCodigoMaterial);

                if (codigoMaterial != 0)
                {
                    //Verificando se o material existe - Se o nome do material retornar como vazio, então ele não existe
                    string nomeMaterial = camadaNegocios.ExisteMaterial(codigoMaterial);
                    if (nomeMaterial != "")
                    {
                        //Verificando se o material existe no local
                        Boolean existeMaterialLocal = camadaNegocios.ExisteMaterialLocal(codigoMaterial, codigoLocal);

                        if (existeMaterialLocal == true)
                        {
                            //Verificando se o fornecedor pode fornecer este material
                            Boolean statusFornecedorPodeFornecer = camadaNegocios.ExisteMaterialFornecedor(codigoFornecedor, codigoMaterial);

                            if (statusFornecedorPodeFornecer == true)
                            {
                                Boolean encontrouMaterialListBox = false;
                                string  item;
                                int     index;

                                //Verificando se o material já está na listbox
                                for (index = (lstboxMateriais.Items.Count) - 1; index >= 0; index--)
                                {
                                    item = lstboxMateriais.Items[index].ToString();
                                    var array = item.Split('-');

                                    if (codigoMaterial == int.Parse(array[0]))
                                    {
                                        encontrouMaterialListBox = true;
                                        break;
                                    }
                                }

                                string stringCodigoMaterial = codigoMaterial.ToString();

                                //Formatando os dados para lstbox
                                while (stringCodigoMaterial.Length < 6)
                                {
                                    stringCodigoMaterial = '0' + stringCodigoMaterial;
                                }

                                while (nomeMaterial.Length < 20)
                                {
                                    nomeMaterial = nomeMaterial + ' ';
                                }


                                //Caso o material já esteja na listbox, apenas iremos aumentar em 1 a quantidade
                                if (encontrouMaterialListBox == true)
                                {
                                    item = lstboxMateriais.Items[index].ToString();
                                    var array      = item.Split('-');
                                    int quantidade = int.Parse(array[2]) + 1;

                                    lstboxMateriais.Items[index] = stringCodigoMaterial + " - " + nomeMaterial + " - " + quantidade.ToString();
                                }

                                //Caso contrário, iremos adicionar o material na listbox com quantidade 1
                                else
                                {
                                    lstboxMateriais.Items.Add(stringCodigoMaterial + " - " + nomeMaterial + " - " + "1");
                                }

                                txtCodigoMaterial.Text = "";
                                txtCodigoMaterial.Focus();
                            }

                            else
                            {
                                MessageBox.Show("Este fornecedor não tem permissão para fornecer este material");
                            }
                        }

                        else
                        {
                            MessageBox.Show("Material não existe neste local");
                        }
                    }

                    else
                    {
                        MessageBox.Show("Material não existente");
                    }
                }

                else
                {
                    MessageBox.Show("Código de material inválido");
                }
            }

            else
            {
                MessageBox.Show("Código de material inválido");
            }
        }
Exemple #2
0
        private void btnMandaParaDestino_Click(object sender, EventArgs e)
        {
            if (lstboxMateriaisObra.SelectedIndex != -1)
            {
                Boolean encontrouMaterialListBox = false;
                string  item;
                int     indexMaterialDestino;
                int     indexMaterialObra = lstboxMateriaisObra.SelectedIndex;

                item = lstboxMateriaisObra.Items[indexMaterialObra].ToString();
                var array = item.Split('-');

                string codigoMaterialObra        = array[0].Trim();
                string nomeMaterialObra          = array[1].Trim();
                int    quantidadeMaterialObra    = int.Parse(array[2]);
                int    quantidadeMaterialDestino = 0;

                if (quantidadeMaterialObra != 0)
                {
                    //Verificando se o material já está na listbox
                    for (indexMaterialDestino = (lstboxMateriaisDestino.Items.Count) - 1; indexMaterialDestino >= 0; indexMaterialDestino--)
                    {
                        item  = lstboxMateriaisDestino.Items[indexMaterialDestino].ToString();
                        array = item.Split('-');

                        if (int.Parse(codigoMaterialObra) == int.Parse(array[0]))
                        {
                            quantidadeMaterialDestino = int.Parse(array[2]);
                            encontrouMaterialListBox  = true;
                            break;
                        }
                    }

                    //Formatando os dados para lstbox
                    while (codigoMaterialObra.Length < 6)
                    {
                        codigoMaterialObra = '0' + codigoMaterialObra;
                    }

                    while (nomeMaterialObra.Length < 20)
                    {
                        nomeMaterialObra = nomeMaterialObra + ' ';
                    }

                    //Caso o material já esteja na listbox, apenas iremos aumentar em 1 a quantidade
                    if (encontrouMaterialListBox == true)
                    {
                        quantidadeMaterialDestino = quantidadeMaterialDestino + 1;

                        lstboxMateriaisDestino.Items[indexMaterialDestino] = codigoMaterialObra + " - " + nomeMaterialObra + " - " + quantidadeMaterialDestino.ToString();
                        RetiraMaterialObra();
                    }

                    //Caso contrário, iremos adicionar o material na listbox com quantidade 1
                    else
                    {
                        //Verificando se o material existe no local destino
                        Boolean statusExisteMaterialLocal = camadaNegocios.ExisteMaterialLocal(int.Parse(codigoMaterialObra), int.Parse(cmbLocalDestino.SelectedValue.ToString()));

                        if (statusExisteMaterialLocal == true)
                        {
                            lstboxMateriaisDestino.Items.Add(codigoMaterialObra + " - " + nomeMaterialObra + " - " + "1");
                            RetiraMaterialObra();
                        }

                        else
                        {
                            MessageBox.Show("Este material não está cadastrado no local destino");
                        }
                    }

                    void RetiraMaterialObra()
                    {
                        quantidadeMaterialObra = quantidadeMaterialObra - 1;

                        lstboxMateriaisObra.Items[lstboxMateriaisObra.SelectedIndex] = codigoMaterialObra + " - " + nomeMaterialObra + " - " + quantidadeMaterialObra.ToString();
                    }
                }
            }
        }