/// <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(); }
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); }
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); } } }
private void ExecuteEditarCpuRemoverItem(object obj) { OrcamentoItem cpu = ItemOrcamentoSelecionado as OrcamentoItem; ((CpuGeral)cpu.Item).RemoverItem(ItemCpuSelecionados); }