Esempio n. 1
0
        /// <summary>
        /// Metodo responsável por aplicar filtros na base de referencia
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        private bool FiltrarInsumosDescrição(object obj)
        {
            IInsumoGeral insumo = obj as IInsumoGeral;

            bool resultado = true;

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

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

            if (busca[0] != '%')
            {
                if (!insumo.Descrição.ToUpper().StartsWith(buscaArray[0].ToUpper()))
                {
                    return(false);
                }

                buscaArray.RemoveAt(0);
            }

            foreach (string trecho in buscaArray)
            {
                if (insumo.Descrição.ToUpper().Contains(trecho.ToUpper()) == false)
                {
                    return(false);
                }
            }

            return(resultado);
        }
Esempio n. 2
0
        /// <summary>
        /// Insere um insumo ao banco de dados
        /// </summary>
        /// <param name="insumo">Insumo a ser inserido</param>
        public static void InsumoSave(IInsumoGeral insumo)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                cnn.Execute("INSERT INTO BaseInsumo (Descrição, Unidade, ValorUnitario, Tipo, CodigoRef) VALUES (@Descrição, @Unidade, @ValorUnitario, @Tipo, @CodigoRef)", insumo);

                insumo.Id = Convert.ToInt32(cnn.ExecuteScalar("SELECT last_insert_rowid()"));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Acrescenta um item a uma composição
        /// </summary>
        /// <param name="item"></param>
        /// <param name="idComposicao"></param>
        public static void ComposiçãoItemSave(IInsumoGeral item, int idComposicao)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                cnn.Execute("INSERT INTO ComposicaoItem (ComposicaoId, InsumoId, Quantidade) VALUES (@ComposicaoId, @InsumoId, @Quantidade)", new { ComposicaoId = idComposicao, InsumoId = item.Id, item.Quantidade });

                item.Id = (int)cnn.ExecuteScalar("SELECT last_insert_rowid()");
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Insere um insumo ao banco de dados
        /// </summary>
        /// <param name="insumo">Insumo a ser inserido</param>
        public void InsumoSave(IInsumoGeral insumo)
        {
            using (IDbConnection cnn = new MySqlConnection(LoadConnectionString()))
            {
                cnn.Execute("INSERT INTO refinsumos (Descrição, Unidade, Tipo, CodigoRef) VALUES (@Descrição, @Unidade, @Tipo, @CodigoRef)", insumo);

                insumo.Id = Convert.ToInt32(cnn.ExecuteScalar("SELECT last_insert_rowid()"));
            }
        }
        /// <summary>
        /// Acrescenta as leis sociais a todos os itens do tipo Mão de Obra
        /// </summary>
        /// <param name="item">Item a ser verificado e calculado</param>
        /// <returns></returns>
        public static double Calcular(IInsumoGeral item)
        {
            if (item.Tipo == tipoInsumo.MaoDeObra)
            {
                if (item.Unidade == "MÊS")
                {
                    return(Math.Round(item.ValorUnitario * (1 + (Factory.LeisSociais[0].Valor / 100)), 2));
                }
                else
                {
                    return(Math.Round(item.ValorUnitario * (1 + (Factory.LeisSociais[1].Valor / 100)), 2));
                }
            }

            return(item.ValorUnitario);
        }
Esempio n. 6
0
        /// <summary>
        /// Metodo responsável por vincular os itens da base de referencia aos itens do orçamento
        /// </summary>
        /// <param name="obj"></param>
        private void ExecuteVincularOrcamento(object obj)
        {
            IInsumoGeral source;
            int          id = 0;

            // Verifica se o item está vindo de alguma base externa
            if (BaseReferenciaSelecionada.BaseDescricao != "ORÇAMENTO")
            {
                IInsumoGeral        Insumo = BaseReferenciaSelecionado;
                List <IInsumoGeral> Lista;


                ObservableCollection <IInsumoGeral> baseOrcamento = Factory.BaseOrcamento;
                Lista = baseOrcamento.Where(x => x.CodigoRef == Insumo.Id.ToString()).ToList();

                // Verifica se o item faz parte da base, caso negativo adiciona na base
                if (Lista.Count() == 0)
                {
                    // Adiciona o item a base do orçamento
                    id = Factory.DBAcesso.InsumosOrcamentoAdicionarDaBase(Insumo.Id, 1);

                    // Atualiza a base do orçamento com os itens importados
                    Factory.DBAcesso.InsumosOrcamentoListaAtualizar(Factory.BaseOrcamento, 1);
                }
                else
                {
                    id = Lista[0].Id;
                }

                // Localiza na lista da base do orçamento o item a ser linkado no orçamento
                source = Factory.BaseOrcamento.Where(x => x.Id == id).First();
            }
            else
            {
                source = BaseReferenciaSelecionado;
                id     = source.Id;
            }

            Factory.DBAcesso.OrcamentoVincularItem(id, BaseOrcamentoSelecionado.idOrcOrcamento);

            BaseOrcamentoSelecionado.Item = source;
        }
Esempio n. 7
0
        private void ExecuteEditarCpuAdicionarItem(object obj)
        {
            OrcamentoItem selecionado = ItemOrcamentoSelecionado as OrcamentoItem;

            if (selecionado.Item.GetType() == typeof(CpuGeral))
            {
                Localizar LocalizarInsumo = new Localizar();

                LocalizarInsumo.ShowDialog();

                IInsumoGeral ItemSelecionado = ((LocalizarViewModel)LocalizarInsumo.DataContext).InsumoSelecionado;

                if (ItemSelecionado != null)
                {
                    CpuCoefGeral NovoItem = new CpuCoefGeral(ItemSelecionado);

                    ((CpuGeral)selecionado.Item).AdicionarItem(NovoItem);
                }
            }
        }
Esempio n. 8
0
 /// <summary>
 /// Cria um novo item da composição a partir de um <see cref="IInsumoGeral"/>
 /// </summary>
 /// <param name="item"></param>
 public CpuCoefGeral(IInsumoGeral item)
 {
     Insumo      = item;
     Coeficiente = 1;
 }