/// <summary>
        /// Metodo responsável por aplicar filtros no orçamento
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        private bool FiltrarOrcamentoDescrição(object obj)
        {
            IOrcamentoItens orcamento = obj as IOrcamentoItens;

            bool resultado = true;

            string        busca      = PesquisarBaseOrcamento;
            List <string> buscaArray = new List <string>(busca.Split('%'));

            if (busca.Length == 0)
            {
                return(true);
            }

            if (busca[0] != '%')
            {
                if (!orcamento.Descricao.ToUpper().StartsWith(buscaArray[0].ToUpper()))
                {
                    return(false);
                }

                buscaArray.RemoveAt(0);
            }

            foreach (string trecho in buscaArray)
            {
                if (orcamento.Descricao.ToUpper().Contains(trecho.ToUpper()) == false)
                {
                    return(false);
                }
            }

            return(resultado);
        }
Exemple #2
0
        public void AdicionarItem(IOrcamentoItens Item)
        {
            Colecao.Add(Item);

            Reordenar();

            Itemizar();
        }
Exemple #3
0
        public void AdicionarItem(IOrcamentoItens Item, int Posicao)
        {
            Colecao.Insert(Posicao, Item);

            Reordenar();

            Itemizar();
        }
Exemple #4
0
        /// <summary>
        /// Reordena os subitens da coleção, função trabalha em conjunto com a fução <see cref="Reordenar"/>
        /// </summary>
        /// <param name="Pai"></param>
        /// <param name="Lista"></param>
        private void OrdenarItens(IOrcamentoItens Pai, List <IOrcamentoItens> Lista)
        {
            IEnumerable <IOrcamentoItens> Itens;

            Itens = Colecao.Where(x => x.idOrcOrcamentoPai == Pai.idOrcOrcamento).OrderBy(x => x.Sequencia);

            // Monta itemizacao dos subitens
            foreach (var item in Itens)
            {
                Lista.Add(item);
                OrdenarItens(item, Lista);
            }
        }
Exemple #5
0
        /// <summary>
        /// Gera a itemização dos itens do orçamento
        /// </summary>
        /// <returns></returns>
        private void Itemizar(IOrcamentoItens Pai = null)
        {
            IEnumerable <IOrcamentoItens> itens;

            // Verifica se o pai e nulo e inicia o processo
            if (Pai == null)
            {
                itens = Colecao.Where(x => x.idOrcOrcamentoPai == null);
            }
            else
            {
                itens = Colecao.Where(x => x.idOrcOrcamentoPai == Pai.idOrcOrcamento);
            }

            // Monta itemizacao dos subitens
            foreach (var item in itens)
            {
                item.Itemizacao = Pai.Itemizacao + "." + item.Sequencia.ToString();
                Itemizar(item);
            }
        }