/// <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); }
public void AdicionarItem(IOrcamentoItens Item) { Colecao.Add(Item); Reordenar(); Itemizar(); }
public void AdicionarItem(IOrcamentoItens Item, int Posicao) { Colecao.Insert(Posicao, Item); Reordenar(); Itemizar(); }
/// <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); } }
/// <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); } }