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); }
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); }
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")); }