示例#1
0
        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));
        }
示例#2
0
        public PedidoViewModel AlterarStatus(Guid statusId, Guid pedidoId)
        {
            var pedido = Mapper.Map <PedidoViewModel>(_pedidoService.AlterarStatus(statusId, pedidoId));

            Commit();
            return(pedido);
        }