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 AlterarStatus(Guid statusId, Guid pedidoId) { var pedido = Mapper.Map <PedidoViewModel>(_pedidoService.AlterarStatus(statusId, pedidoId)); Commit(); return(pedido); }