示例#1
0
        public string Alterar(Produtos p)
        {
            try
            {
                ProdutosModel pm       = new ProdutosModel();
                Produtos      produtos = pm.Produtos.Single(c => c.produtoID.Equals(p.produtoID));
                //--Corrigir alterar

                produtos.descricao        = (p.descricao == null ? produtos.descricao : p.descricao);
                produtos.estoqueSeguranca = (p.estoqueSeguranca == null ? produtos.estoqueSeguranca : p.estoqueSeguranca);
                produtos.qntEstoque       = (p.qntEstoque == null ? produtos.qntEstoque : p.qntEstoque);
                produtos.leadTime         = (p.leadTime == null ? produtos.leadTime : p.leadTime);
                produtos.nome             = (p.nome == null ? produtos.nome : p.nome);
                produtos.politicaLote     = (p.politicaLote == null ? produtos.politicaLote : p.politicaLote);
                produtos.unidadeMedida    = (p.unidadeMedida == 0 ? produtos.unidadeMedida : p.unidadeMedida);

                pm.SaveChanges();

                return("Produto alterado.");
            }
            catch (Exception e)
            {
                return("Não foi possível alterar");
            }
        }
示例#2
0
        public string Adicionar(ProdutosMaquinarios p)
        {
            ProdutosModel pm = new ProdutosModel();

            try
            {
                pm.ProdutosMaquinarios.Add(p);
                pm.SaveChanges();
                return("Produto incluído.");
            }
            catch (Exception e)
            {
                return("Não foi possível inserir este produto.");
            }
        }
示例#3
0
        public List <ProdutosMaquinarios> PesquisarPM(int produtoID)
        {
            ProdutosModel pm = new ProdutosModel();
            IEnumerable <ProdutosMaquinarios> produtoMaquinario;

            if (produtoID != 0)
            {
                produtoMaquinario = from p in pm.ProdutosMaquinarios where p.produtoID == produtoID select p;
            }
            else
            {
                produtoMaquinario = from p in pm.ProdutosMaquinarios select p;
            }

            return(produtoMaquinario.ToList());
        }
示例#4
0
        public string DeletarProdutoMaquinario(int produtosMaquinariosID)
        {
            try
            {
                ProdutosModel       pm = new ProdutosModel();
                ProdutosMaquinarios produtosMaquinarios = pm.ProdutosMaquinarios.Single(c => c.produtosMaquinariosID.Equals(produtosMaquinariosID));

                pm.ProdutosMaquinarios.Remove(produtosMaquinarios);

                pm.SaveChanges();

                return("Tipo removido.");
            }
            catch (Exception e)
            {
                return("Não foi possível remover");
            }
        }
示例#5
0
        public string Alterar(ProdutosFilhos pf)
        {
            try
            {
                ProdutosModel  pm             = new ProdutosModel();
                ProdutosFilhos produtosFilhos = pm.ProdutosFilhos.Single(c => c.produtosFilhosID.Equals(pf.produtosFilhosID));

                produtosFilhos.quantidade = pf.quantidade;
                produtosFilhos.filhoID    = pf.filhoID;

                pm.SaveChanges();

                return("Produto alterado.");
            }
            catch (Exception e)
            {
                return("Não foi possível alterar");
            }
        }
示例#6
0
        public List <ProdutosFilhos> PesquisarFilho(int produtoID, int produtoFilhoID)
        {
            ProdutosModel pm = new ProdutosModel();
            IEnumerable <ProdutosFilhos> produtoFilho;

            if (produtoFilhoID != 0)
            {
                produtoFilho = from p in pm.ProdutosFilhos where p.produtosFilhosID == produtoFilhoID select p;
            }
            else if (produtoID != 0)
            {
                produtoFilho = from p in pm.ProdutosFilhos where p.produtoID == produtoID select p;
            }
            else
            {
                produtoFilho = from p in pm.ProdutosFilhos select p;
            }

            return(produtoFilho.ToList());
        }
示例#7
0
        // Este método encontra o melhor maquinario no momento para determinado produto
        public int maquinarioApropriado(int produtoID)
        {
            List <Maquinarios>         lm  = new List <Maquinarios>();
            ProdutosModel              pm  = new ProdutosModel();
            List <ProdutosMaquinarios> lpm = pm.PesquisarPM(produtoID);

            for (int i = 0; i < lpm.Count; i++)
            {
                Maquinarios        m   = new Maquinarios();
                List <Maquinarios> lmm = m.Pesquisar(0, "", lpm[i].tipoMaquinario);

                for (int j = 0; j < lmm.Count; j++)
                {
                    lm.Add(lmm[j]);
                }
            }

            DateTime?menorData       = lm[0].dtDesocupacao;
            int      menorMaquinario = lm[0].maquinarioID;

            for (int i = 0; i < lm.Count; i++)
            {
                if (lm[i].dtDesocupacao == null)
                {
                    return(lm[i].maquinarioID);
                }
                else
                {
                    if (DateTime.Compare(Convert.ToDateTime(menorData), Convert.ToDateTime(lm[i].dtDesocupacao)) > 0)
                    {
                        menorData       = lm[i].dtDesocupacao;
                        menorMaquinario = lm[i].maquinarioID;
                    }
                }
            }

            return(menorMaquinario);
        }
示例#8
0
        public List <Produtos> Pesquisar(int produtoID, string nome)
        {
            ProdutosModel          pm = new ProdutosModel();
            IEnumerable <Produtos> produto;

            if (produtoID != 0 && nome != "" && nome != null)
            {
                produto = from p in pm.Produtos where p.nome == nome & p.produtoID == produtoID select p;
            }
            else if (produtoID != 0)
            {
                produto = from p in pm.Produtos where p.produtoID == produtoID select p;
            }
            else if (nome != "")
            {
                produto = from p in pm.Produtos where p.nome == nome select p;
            }
            else
            {
                produto = from p in pm.Produtos select p;
            }

            return(produto.ToList());
        }
示例#9
0
        public string Deletar(int produtoFilhoID)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.DeletarFilho(produtoFilhoID));
        }
示例#10
0
        public List <ProdutosFilhos> Pesquisar(int produtoID, int produtoFilhoID)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.PesquisarFilho(produtoID, produtoFilhoID));
        }
示例#11
0
        public string Deletar(int produtoMaquinarioID)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.DeletarProdutoMaquinario(produtoMaquinarioID));
        }
示例#12
0
        public string Adicionar(ProdutosMaquinarios pf)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.Adicionar(pf));
        }
示例#13
0
        public List <ProdutosMaquinarios> Pesquisar(int produtoID)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.PesquisarPM(produtoID));
        }
示例#14
0
        public List <Produtos> Pesquisar(int produtoID, string nome)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.Pesquisar(produtoID, nome));
        }
示例#15
0
        // Este método verifica se o produto está ok ou se é necessário comprar ou produzir e alimenta array com essas informações
        private void VerificaNecessidade(int produtoID, int qntSolicitada, int nivel, string pai)
        {
            Array.Resize(ref produtos, produtos.Length + 1);
            produtos[produtos.Length - 1] = new string[7];

            // Verifica se tem quantidade necessária em estoque
            ProdutosModel   p             = new ProdutosModel();
            List <Produtos> lp            = p.Pesquisar(produtoID, "");
            int             qntDisponivel = lp[0].qntEstoque - lp[0].qntEstoqueReservado;

            // Estoque de segurança

            /*
             * if (nivel == 1)
             * {
             *  int qntSeguranca = EstoqueSeguro(produtoID);
             *
             *  if ((qntDisponivel - qntSolicitada) < qntSeguranca)
             *      qntSolicitada = (qntSeguranca + qntSolicitada) - qntDisponivel;
             * }
             */

            if (qntSolicitada <= qntDisponivel)
            {
                produtos[produtos.Length - 1][0] = produtoID.ToString();
                produtos[produtos.Length - 1][1] = "0";
                produtos[produtos.Length - 1][2] = "Ok";
                produtos[produtos.Length - 1][3] = nivel.ToString();
                produtos[produtos.Length - 1][4] = pai;
                produtos[produtos.Length - 1][5] = lp[0].leadTime.ToString();
                produtos[produtos.Length - 1][6] = lp[0].nome;
            }
            else
            {
                ProdutosModel         pf  = new ProdutosModel();
                List <ProdutosFilhos> lpf = pf.PesquisarFilho(produtoID, 0);
                // Se não tem produtos "filhos" é necessário comprar.
                if (lpf.Count == 0)
                {
                    produtos[produtos.Length - 1][0] = produtoID.ToString();
                    produtos[produtos.Length - 1][1] = (qntSolicitada - qntDisponivel).ToString();
                    produtos[produtos.Length - 1][2] = "Comprar";
                    produtos[produtos.Length - 1][3] = nivel.ToString();
                    produtos[produtos.Length - 1][4] = pai;
                    produtos[produtos.Length - 1][5] = lp[0].leadTime.ToString();
                    produtos[produtos.Length - 1][6] = lp[0].nome;
                }
                else
                {
                    produtos[produtos.Length - 1][0] = produtoID.ToString();
                    produtos[produtos.Length - 1][1] = (qntSolicitada - qntDisponivel).ToString();
                    produtos[produtos.Length - 1][2] = "Produzir";
                    produtos[produtos.Length - 1][3] = nivel.ToString();
                    produtos[produtos.Length - 1][4] = pai;
                    produtos[produtos.Length - 1][5] = ((qntSolicitada - qntDisponivel) * lp[0].leadTime).ToString();
                    produtos[produtos.Length - 1][6] = lp[0].nome;

                    nivel++;
                    for (int i = 0; i < lpf.Count; i++)
                    {
                        int filhoID = lpf[i].filhoID;
                        int qnt     = qntSolicitada - qntDisponivel;
                        VerificaNecessidade(filhoID, qnt, nivel, produtoID.ToString());
                    }
                }
            }
        }
示例#16
0
        public string Alterar(ProdutosFilhos pf)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.Alterar(pf));
        }
示例#17
0
        public string Adicionar(Produtos p)
        {
            ProdutosModel pm = new ProdutosModel();

            return(pm.Adicionar(p));
        }