public FaturamentoViewModel Faturar(FaturamentoViewModel faturamento) { var pedido = _pedidoService.ObterPorId(faturamento.PedidoId); faturamento.Parcelas.ToList().ForEach(p => p.FaturamentoId = faturamento.FaturamentoId); var faturamentoRetorno = _faturamentoService.Faturar(Mapper.Map <Faturamento>(faturamento)); var valorTotalFaturamento = 0M; var faturamentosPedido = _faturamentoService.ObterTodos(faturamento.PedidoId); foreach (var item in faturamentosPedido) { valorTotalFaturamento += item.Valor; } valorTotalFaturamento += faturamento.Valor; if (valorTotalFaturamento < pedido.ValorTotal) { var statusId = _statusPedidoService.ObterPorDescricao("Parcialmente Faturado") .FirstOrDefault().StatusPedidoId; _pedidoService.AlterarStatus(statusId, faturamento.PedidoId); } else { var statusId = _statusPedidoService.ObterPorDescricao("Faturado") .FirstOrDefault().StatusPedidoId; _pedidoService.AlterarStatus(statusId, faturamento.PedidoId); } Commit(); return(Mapper.Map <FaturamentoViewModel>(faturamentoRetorno)); }
public PedidoViewModel GerarOrcamento(PedidoViewModel pedido) { pedido.StatusPedidoId = _statusPedidoService.ObterPorDescricao("Em Orçamento") .FirstOrDefault().StatusPedidoId; pedido.ItensPedido.ToList().ForEach(item => item.PedidoId = pedido.PedidoId); var pedidoRetorno = Mapper.Map <PedidoViewModel>(_pedidoService .GerarOrcamento(Mapper.Map <Pedido>(pedido))); if (pedidoRetorno.EhValido()) { Commit(); } return(pedidoRetorno); }
public IEnumerable <StatusPedidoViewModel> ObterPorDescricao(string descricao) { return(Mapper.Map <IEnumerable <StatusPedidoViewModel> >(_statusPedidoService.ObterPorDescricao(descricao))); }