示例#1
0
        private Documento MontaObjetoVPDPreviaEstorno(VPDEstorno vpdPreviaEstorno, DateTime now)
        {
            var documentoVPDOriginal = documentoDA.ConsultarTodos().FirstOrDefault(el => el.DocumentoID == vpdPreviaEstorno.DocumentoID);

            var documento = new Documento();

            documento.DocumentoOriginalID                      = documentoVPDOriginal.DocumentoID;
            documento.UnidadeGestoraCodigoEmitente             = documentoVPDOriginal.UnidadeGestoraCodigoEmitente;
            documento.UnidadeGestoraDataInicioVigenciaEmitente = documentoVPDOriginal.UnidadeGestoraDataInicioVigenciaEmitente;
            documento.CredorIdentificacao                      = documentoVPDOriginal.CredorIdentificacao;
            documento.DataContabilizacao   = vpdPreviaEstorno.DataEmissao;
            documento.DataEmissao          = vpdPreviaEstorno.DataEmissao;
            documento.DataInclusaoRegistro = now;
            documento.Situacao             = "A";
            documento.Estorno      = "S";
            documento.ValorEstorno = vpdPreviaEstorno.TotalEstorno;
            documento.DominioIDGrupoDocumentoContabil = dominioDA.RetornaDominioID(DominioCategoriaEnum.GRUPODOCUMENTOCONTABIL, "VPD");
            documento.UsuarioInclusaoRegistro         = UsuarioLogado.GetFullName();
            documento.ValorDocumento                  = vpdPreviaEstorno.TotalEstorno;
            documento.TipoDocumentoContabilID         = documentoVPDOriginal.TipoDocumentoContabilID;
            documento.DominioIDGrupoDocumentoContabil = documentoVPDOriginal.DominioIDGrupoDocumentoContabil;
            documento.Observacao    = vpdPreviaEstorno.Justificativa;
            documento.Justificativa = vpdPreviaEstorno.Justificativa;

            documento.ItemVariacaoPatrimonialDiminutiva = new List <ItemVariacaoPatrimonialDiminutiva>();

            if (vpdPreviaEstorno.TotalEstorno <= 0)
            {
                throw new CFP.Util.SPFException("Informe o valor a ser estornado.");
            }

            foreach (var i in vpdPreviaEstorno.ListaVPDEstorno.Where(el => el.ValorEstorno > 0))
            {
                var itemVPDOriginal = documentoVPDOriginal.ItemVariacaoPatrimonialDiminutiva.FirstOrDefault(el => el.VariacaoPatrimonialDiminutivaItemID == i.ItemVariacaoPatrimonialDiminutivaID);

                if (i.ValorEstorno > itemVariacaoPatrimonialDiminutivaDA.RetornaValorAEmpenhar(i.ItemVariacaoPatrimonialDiminutivaID))
                {
                    throw new CFP.Util.SPFException("Valor informado no estorno é superior ao valor disponível.");
                }

                var itemVPD = new ItemVariacaoPatrimonialDiminutiva();
                itemVPD.TipoVPD         = "A";
                itemVPD.ValorSolicitado = 0;

                itemVPD.ValorEstorno           = i.ValorEstorno;
                itemVPD.NaturezaDespesaID      = itemVPDOriginal.NaturezaDespesaID;
                itemVPD.FonteRecursoID         = itemVPDOriginal.FonteRecursoID;
                itemVPD.IdentificadorUsoCodigo = itemVPDOriginal.IdentificadorUsoCodigo;
                documento.ItemVariacaoPatrimonialDiminutiva.Add(itemVPD);
            }

            return(documento);
        }
示例#2
0
        private Documento MontaObjetoVPDPrevia(VariacaoPatrimonialDiminutivaViewModel instancia, DateTime now)
        {
            Documento documento = new Documento();

            documento.CredorIdentificacao          = instancia.CredorIdentificacao;
            documento.DataEmissao                  = instancia.DataEmissao;
            documento.DataContabilizacao           = instancia.DataEmissao;
            documento.NaturezaDespesaID            = instancia.NaturezaDespesaID;
            documento.Observacao                   = instancia.Observacao;
            documento.UnidadeGestoraCodigoEmitente = instancia.UnidadeGestoraCodigo;

            var unidadeGestora = unidadeGestoraDA.ConsultarTodos().FirstOrDefault(el => el.UnidadeGestoraCodigo == documento.UnidadeGestoraCodigoEmitente);

            documento.ItemVariacaoPatrimonialDiminutiva = new List <ItemVariacaoPatrimonialDiminutiva>();
            foreach (var i in VariacaoPatrimonialDiminutivaGerenciarSessao.Sessao.variacaoPatrimonialDiminutivaVM.ListaItemVPD)
            {
                var vpdItem = new ItemVariacaoPatrimonialDiminutiva();
                vpdItem.FonteRecursoID         = i.FonteRecursoID;
                vpdItem.NaturezaDespesaID      = i.NaturezaDespesaID;
                vpdItem.ValorSolicitado        = i.ValorSolicitado;
                vpdItem.ValorEstorno           = 0;
                vpdItem.TipoVPD                = "A";
                vpdItem.IdentificadorUsoCodigo = i.IdentificadorUsoCodigo;
                documento.ItemVariacaoPatrimonialDiminutiva.Add(vpdItem);
            }
            documento.UnidadeGestoraDataInicioVigenciaEmitente = unidadeGestora.UnidadeGestoraDataInicioVigencia;
            documento.Situacao     = "A";
            documento.Estorno      = "N";
            documento.ValorEstorno = 0;
            documento.DominioIDGrupoDocumentoContabil = dominioDA.RetornaDominioID(DominioCategoriaEnum.GRUPODOCUMENTOCONTABIL, "VPD");
            documento.DataContabilizacao      = instancia.DataEmissao;
            documento.DataInclusaoRegistro    = now;
            documento.UsuarioInclusaoRegistro = UsuarioLogado.GetFullName();
            documento.ValorDocumento          = VariacaoPatrimonialDiminutivaGerenciarSessao.Sessao.variacaoPatrimonialDiminutivaVM.ListaItemVPD.Sum(el => el.ValorSolicitado);
            return(documento);
        }
示例#3
0
        public ActionResult ImprimirVPD(int documentoId)
        {
            if (!ControllerContext.VerificaAcessoTabelaDocumento(documentoId))
            {
                return(RedirectToAction("Index"));
            }

            var documento = documentoDA.ObterUnico(x => x.DocumentoID == documentoId);

            if (documento == null)
            {
                throw new CFP.Util.SPFException("Variação Patrimonial Diminutiva Prévia não localizada.");
            }

            //var documento = documentoDA.ObterUnico(x => x.DocumentoID == documentoId);
            var responsavelEmissao = GsiUtil.RetornaUsuarioGsi(UsuarioLogado.GetFullName());
            var er         = new EmissorDeRelatorio("Execucao/VariacaoPatrimonialDiminutivaPrevia_Retrato", EFormatoImpressao.PDF);
            var parametros = new Dictionary <string, object>();

            parametros.Add("DataEmissao", DateTime.Now);
            parametros.Add("fraseCabecalho", unidadeGestoraDA.RetornaTituloRelatorio(ExercicioAnoSessao.Sessao.UnidadeGestoraAtual.Value));
            parametros.Add("UG", ExercicioAnoSessao.Sessao.UnidadeGestoraAtual.Value + " - " + ExercicioAnoSessao.Sessao.UnidadeGestoraAtualNome);
            parametros.Add("DocumentoID", documentoId);
            Guid Hashcode = auditoriaDA.AuditaImpressao(this.UsuarioLogado.Nome, this.UsuarioLogado.GetFullName(),
                                                        this.UsuarioLogado.CPF,
                                                        er.CaminhoDoRelatorio,
                                                        parametros,
                                                        DateTime.Now); //Aqui é invocado o método que gera um código único para a impressão.

            parametros.Add("Hashcode", Hashcode);
            parametros.Add("FonteDeDados", documentoDA.Contexto.Database.Connection.ConnectionString);


            er.Parametros = parametros;
            return(er.Imprimir(true, "Documento", "Imprimir"));
        }