コード例 #1
0
        /// <summary>
        /// Construtor responsável por montar o orçamento a partir do resultado do banco de dados
        /// Transforma uma <see cref="ItensOrcamentoDb" /> para o formato do orçamento
        /// </summary>
        /// <param name="lista">Lista de itens vindo do bando de dados</param>
        public OrcamentoLista(List <ItensOrcamentoDb> lista)
        {
            ObservableCollection <IOrcamentoItens> NovaLista = new ObservableCollection <IOrcamentoItens>();

            foreach (var item in lista)
            {
                /// Converte o registro em uma instacia de <see cref="OrcamentoTitulo"/>
                if (item.Titulo == true)
                {
                    NovaLista.Add(new OrcamentoTitulo()
                    {
                        idOrcOrcamento    = item.idOrcOrcamento,
                        Itemizacao        = item.Itemizacao,
                        Sequencia         = item.Sequencia,
                        idOrcOrcamentoPai = item.idOrcOrcamentoPai,
                        Descricao         = item.Descricao,
                        Tipo = tipoInsumo.Titulo,
                    });
                }

                /// Converte o registro em uma instacia de <see cref="OrcamentoItem"/>
                else
                {
                    OrcamentoItem novoItem = new OrcamentoItem()
                    {
                        idOrcOrcamento     = item.idOrcOrcamento,
                        Itemizacao         = item.Itemizacao,
                        Sequencia          = item.Sequencia,
                        idOrcOrcamentoPai  = item.idOrcOrcamentoPai,
                        Descricao          = item.Descricao,
                        Unidade            = item.Unidade,
                        CodigoRef          = item.CodBaseRef,
                        Quantidade         = item.Quantidade,
                        ValorUnitarioVenda = item.ValorUnitarioVenda,
                        Bdi = Factory.Bdis.Where(x => x.Id == item.idOrcBdis).First(),
                    };

                    if (item.idOrcInsumos != 0)
                    {
                        novoItem.Item = Factory.BaseOrcamento.Where(x => x.Id == item.idOrcInsumos).First();
                    }

                    NovaLista.Add(novoItem);
                }
            }

            this.Colecao = NovaLista;

            Reordenar();

            Itemizar();

            this.RecalcularTotal();

            this.MonitorarTotalizadores();
        }
コード例 #2
0
        private bool CanExecuteEditarCpuAdicionarItem(object obj)
        {
            OrcamentoItem selecionado = ItemOrcamentoSelecionado as OrcamentoItem;

            if ((ItemOrcamentoSelecionado != null) &&
                (ItemOrcamentoSelecionado.GetType() == typeof(OrcamentoItem)) &&
                (selecionado.Item != null) &&
                (selecionado.Item.GetType() == typeof(CpuGeral)))
            {
                return(true);
            }

            return(false);
        }
コード例 #3
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);
                }
            }
        }
コード例 #4
0
        private void ExecuteEditarCpuRemoverItem(object obj)
        {
            OrcamentoItem cpu = ItemOrcamentoSelecionado as OrcamentoItem;

            ((CpuGeral)cpu.Item).RemoverItem(ItemCpuSelecionados);
        }