public PartialViewResult AddEditFatura(int?codigo)
        {
            var statusDaFatura   = typeof(StatusDaFatura).ToViewModel();
            var tiposDaFatura    = typeof(TipoDaFatura).ToViewModel();
            var tiposDoDocumento = typeof(TipoDeDocumento).ToViewModel();
            var viewModel        = new AdicionarFaturaViewModel
            {
                StatusDaFatura   = statusDaFatura,
                TiposDaFatura    = tiposDaFatura,
                TiposDoDocumento = tiposDoDocumento,
            };

            if (codigo != null)
            {
                var fatura = _faturaRepositorio.ObterPor(codigo.Value);
                viewModel.Tipo              = fatura.Tipo;
                viewModel.Codigo            = fatura.Codigo;
                viewModel.Statu             = fatura.Status;
                viewModel.Valor             = fatura.Valor;
                viewModel.Data              = fatura.Data;
                viewModel.Descricao         = fatura.Descricao;
                viewModel.NumeroDoDocumento = fatura.NumeroDoDocumento;
                viewModel.TipoDoDocumento   = fatura.Documento;
            }
            return(PartialView(viewModel));
        }
        public AlterarFaturaResposta AlterarFatura(AlterarFaturaRequisicao requisicao)
        {
            var fatura   = _faturaRepositorio.ObterPor(requisicao.CodigoDaFatura);
            var resposta = new AlterarFaturaResposta();

            try
            {
                resposta.Fatura = _faturaServico.AlterarFatura(fatura, requisicao.Descricao, requisicao.Tipo, requisicao.TipoDoDocumento,
                                                               requisicao.Data, requisicao.NumeroDoDocumento, requisicao.Status, requisicao.Valor);
                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }