public object ConsultarSubEmpenhoApoio(string chave, string senha, SubempenhoCancelamento entity)
        {
            try
            {
                var result = DataHelperProdespLiquidacaoDespesa.Procedure_AnulacaoSubEmpenhoApoio(
                    chave, senha, entity)
                             ?? new Procedure_AnulacaoSubEmpenhoApoioRecordType[] { };

                var resultItem = result.FirstOrDefault();


                if (!string.IsNullOrEmpty(resultItem?.outErro))
                {
                    throw new Exception($"Prodesp - {resultItem?.outErro}");
                }


                return(resultItem);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
        private void TransmitirProdesp(SubempenhoCancelamento entity, int recursoId)
        {
            var cicsmo = new ChaveCicsmo();

            try
            {
                cicsmo = _chave.ObterChave(recursoId);

                var result = _prodesp.InserirAnulacaoSubEmpenho(entity, cicsmo.Chave, cicsmo.Senha);

                _chave.LiberarChave(cicsmo.Codigo);

                entity.NumeroProdesp          = result.Replace(" ", "");
                entity.TransmitidoProdesp     = true;
                entity.StatusProdesp          = "S";
                entity.DataTransmitidoProdesp = DateTime.Now;
                entity.MensagemProdesp        = null;
                //entity.Itens = null;

                SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir, true);
            }
            catch (Exception ex)
            {
                _chave.LiberarChave(cicsmo.Codigo);
                entity.StatusProdesp   = "E";
                entity.MensagemProdesp = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
        }
        private void TransmitirSiafisico(SubempenhoCancelamento entity, Usuario user, int recursoId)
        {
            try
            {
                var ug = _regional.Buscar(new Regional {
                    Id = (int)user.RegionalId
                }).First().Uge;

                var numeroNl = _siafem.InserirSubempenhoCancelamentoSiafisico(user.CPF, Decrypt(user.SenhaSiafem), ug, entity);

                entity.NumeroSiafemSiafisico          = numeroNl;
                entity.TransmitidoSiafisico           = true;
                entity.StatusSiafemSiafisico          = "S";
                entity.DataTransmitidoSiafemSiafisico = DateTime.Now;
                entity.MensagemSiafemSiafisico        = null;

                base.CalcularValoresNl(entity, user, ug);

                if (entity.Itens.Count() > 0)
                {
                    entity.ValorAnular = entity.Valor;
                }

                SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir, true);
            }
            catch (Exception ex)
            {
                entity.StatusSiafemSiafisico   = "E";
                entity.MensagemSiafemSiafisico = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
        }
        private void TransmitirSiafem(SubempenhoCancelamento entity, Usuario user, int recursoId)
        {
            try
            {
                var result = default(string);
                var ug     = _regional.Buscar(new Regional {
                    Id = (int)user.RegionalId
                }).First().Uge;

                result = _siafem.InserirSubempenhoSiafem(user.CPF, Decrypt(user.SenhaSiafem), ug, entity);

                entity.NumeroSiafemSiafisico          = result;
                entity.TransmitidoSiafem              = true;
                entity.StatusSiafemSiafisico          = "S";
                entity.DataTransmitidoSiafemSiafisico = DateTime.Now;
                entity.MensagemSiafemSiafisico        = null;

                base.SomarEventos(entity);

                SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir, true);
            }
            catch (Exception ex)
            {
                entity.StatusSiafemSiafisico   = "E";
                entity.MensagemSiafemSiafisico = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
        }
Esempio n. 5
0
 public SubempenhoCancelamentoTest()
 {
     _usuario = new Usuario {
         Codigo = 1, CPF = AppConfig.WsSiafemUser, SenhaSiafem = AppConfig.WsPassword, RegionalId = 1
     };
     _entity = CriarNovaEntidade();
 }
Esempio n. 6
0
        public void TesteEditarUmEventoDoSubempenhoNoRepositorio()
        {
            SalvarEntidadeNoRepositorio();

            var entity = _entity;

            _entity = null;

            BuscarUmSubempenhoNoRepositorio(entity);

            var evento = _entity.Eventos.FirstOrDefault(f => f.NumeroEvento.Equals("510600")) as SubempenhoCancelamentoEvento;

            evento.ValorUnitario = 120;

            AlterarUmEventoDaEntidadeNoRepositorio(evento);

            evento = null;

            BuscarUmSubempenhoNoRepositorio(_entity);

            var selectedEvent = _entity.Eventos.FirstOrDefault(f => f.NumeroEvento.Equals("510600"));

            RemoverEntidadeDoRepositorio(_entity);

            Assert.AreEqual(120, selectedEvent.ValorUnitario);
        }
Esempio n. 7
0
        public void TesteEditarUmaNotaDoSubempenhoNoRepositorio()
        {
            SalvarEntidadeNoRepositorio();

            var entity = _entity;

            _entity = null;

            BuscarUmSubempenhoNoRepositorio(entity);

            var nota = _entity.Notas.FirstOrDefault(f => f.CodigoNotaFiscal.Equals("nada consta")) as SubempenhoCancelamentoNota;

            nota.CodigoNotaFiscal = "1620";

            AlterarUmaNotaDaEntidadeNoRepositorio(nota);

            nota = null;

            BuscarUmSubempenhoNoRepositorio(_entity);

            var selectedInvoice = _entity.Notas.FirstOrDefault(f => f.CodigoNotaFiscal.Equals("1620"));

            RemoverEntidadeDoRepositorio(_entity);

            Assert.AreEqual("1620", selectedInvoice.CodigoNotaFiscal);
        }
Esempio n. 8
0
        public void TesteEditarUmItemDoSubempenhoNoRepositorio()
        {
            SalvarEntidadeNoRepositorio();

            var entity = _entity;

            _entity = null;

            BuscarUmSubempenhoNoRepositorio(entity);

            var item = _entity.Itens.FirstOrDefault(f => f.CodigoItemServico.Equals("000008")) as SubempenhoCancelamentoItem;

            item.QuantidadeMaterialServico = 12M;

            AlterarUmItemDaEntidadeNoRepositorio(item);

            item = null;

            BuscarUmSubempenhoNoRepositorio(_entity);

            var selectedItem = _entity.Itens.FirstOrDefault(f => f.CodigoItemServico.Equals("000008"));

            RemoverEntidadeDoRepositorio(_entity);

            Assert.AreEqual(12M, selectedItem.QuantidadeMaterialServico);
        }
        public string InserirSubEmpenhoCancelamento(string chave, string senha, SubempenhoCancelamento entity)
        {
            try
            {
                var result = DataHelperProdespLiquidacaoDespesa.Procedure_AnulacaoSubEmpenho(
                    chave, senha, entity)
                             ?? new ProdespLiquidacaoDespesa.Procedure_AnulacaoSubEmpenhoRecordType[] { };

                var resultItem = result.FirstOrDefault();

                HttpContext.Current.Session["terminal"] = resultItem?.outTerminal;

                if (!string.IsNullOrEmpty(resultItem?.outErro))
                {
                    throw new Exception($"Prodesp - {resultItem?.outErro}");
                }

                return(resultItem?.outNumeroAnulacao);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
        private Error Retransmissao(Usuario user, SubempenhoCancelamento entity, int recursoId)
        {
            var error  = new Error();
            var cicsmo = new ChaveCicsmo();

            try
            {
                try
                { if (!entity.TransmitidoProdesp)
                  {
                      TransmitirProdesp(entity, recursoId);
                  }
                }
                catch (Exception ex)
                { error.Prodesp = ex.Message; }

                try
                { if (entity.TransmitirSiafem && !entity.TransmitidoSiafem)
                  {
                      TransmitirSiafem(entity, user, recursoId);
                  }
                }
                catch (Exception ex)
                { error.SiafemSiafisico = ex.Message; }

                try
                { if (entity.TransmitirSiafisico && !entity.TransmitidoSiafisico)
                  {
                      TransmitirSiafisico(entity, user, recursoId);
                  }
                }
                catch (Exception ex)
                { error.SiafemSiafisico = ex.Message; }

                if ((entity.TransmitidoSiafisico || entity.TransmitidoSiafem) && entity.TransmitidoProdesp)
                {
                    cicsmo = _chave.ObterChave(recursoId);
                    entity.StatusDocumento = _prodesp.InserirDoc(entity, cicsmo.Chave, cicsmo.Senha, "06");
                    _chave.LiberarChave(cicsmo.Codigo);
                }

                return(error);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);
            }
        }
Esempio n. 11
0
        public ActionResult Save(SubempenhoCancelamento entity)
        {
            try
            {
                var id = SalvarService(entity, Convert.ToInt32(_funcId));

                return(Json(new { Status = "Sucesso", Id = id }));
            }
            catch (Exception ex)
            {
                return(Json(new { Status = "Falha", Msg = ex.Message }));
            }
        }
Esempio n. 12
0
        public void TesteSelecionarOsEventosDoSubempenhoNoRepositorio()
        {
            SalvarEntidadeNoRepositorio();

            var entity = _entity;

            _entity = null;

            BuscarUmSubempenhoNoRepositorio(entity);

            RemoverEntidadeDoRepositorio(_entity);

            Assert.IsNotNull(_entity.Eventos);
        }
Esempio n. 13
0
        public object ConsultarAnulacaoApoio(SubempenhoCancelamento cancelamento)
        {
            var chave = new ChaveCicsmo();

            try
            {
                chave = _chave.ObterChave();
                return(_prodespLiquidacaoDespesaService.AnularSubEmpenhoApoio(cancelamento, chave.Chave, chave.Senha));
            }
            finally
            {
                _chave.LiberarChave(chave.Codigo);
            }
        }
Esempio n. 14
0
        public void TesteEditarUmSubempenhoNoRepositorio()
        {
            SalvarEntidadeNoRepositorio();

            var entity = _entity;

            _entity = null;

            entity.DescricaoEspecificacaoDespesa8 = "UPDATE TEST OK";

            AlterarEntidadeNoRepositorio(entity);

            BuscarUmSubempenhoNoRepositorio(entity);

            RemoverEntidadeDoRepositorio(_entity);

            Assert.AreEqual("UPDATE TEST OK", _entity.DescricaoEspecificacaoDespesa8);
        }
Esempio n. 15
0
 public IEnumerable <SubempenhoCancelamento> BuscarGrid(SubempenhoCancelamento entity, DateTime since, DateTime until)
 {
     return(DataHelper.List <SubempenhoCancelamento>("PR_SUBEMPENHO_CANCELAMENTO_CONSULTAR_GRID",
                                                     new SqlParameter("@nr_prodesp", entity.NumeroProdesp),
                                                     new SqlParameter("@nr_siafem_siafisico", entity.NumeroSiafemSiafisico),
                                                     new SqlParameter("@nr_subempenho_prodesp", entity.NumeroOriginalProdesp),
                                                     new SqlParameter("@nr_despesa_processo", entity.NumeroProcesso),
                                                     new SqlParameter("@tb_cenario_id_cenario", entity.CenarioSiafemSiafisico),
                                                     new SqlParameter("@cd_transmissao_status_siafem_siafisico", entity.StatusSiafemSiafisico),
                                                     new SqlParameter("@cd_transmissao_status_siafisico", entity.StatusSiafemSiafisico),
                                                     new SqlParameter("@cd_transmissao_status_prodesp", entity.StatusProdesp),
                                                     new SqlParameter("dt_cadastramento_de", since.ValidateDBNull()),
                                                     new SqlParameter("dt_cadastramento_ate", until.ValidateDBNull()),
                                                     new SqlParameter("@nr_cnpj_cpf_credor", entity.NumeroCNPJCPFCredor),
                                                     new SqlParameter("@cd_gestao_credor", entity.CodigoGestaoCredor),
                                                     new SqlParameter("@nr_contrato", entity.NumeroContrato),
                                                     new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra)
                                                     ));
 }
        public AcaoEfetuada Excluir(SubempenhoCancelamento entity, int recursoId, short action)
        {
            try
            {
                //a procedure se encarrega de excluir os itens, eventos e notas fiscais deste subemepnho
                _repository.Remove(entity.Id);

                if (recursoId > 0)
                {
                    return(LogSucesso(action, recursoId, $"Subempenho : Codigo {entity.Id}"));
                }

                return(AcaoEfetuada.Sucesso);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, actionId: action, functionalityId: recursoId);
            }
        }
        private void Transmissao(Usuario user, SubempenhoCancelamento entity, int recursoId)
        {
            var cicsmo         = new ChaveCicsmo();
            var itensOriginais = entity.Itens;

            try
            {
                entity.Itens = this.VerificarItensParaTransmitir(entity);
                this.EliminarItensZerados(entity);

                if (entity.TransmitirSiafem && !entity.TransmitidoSiafem)
                {
                    TransmitirSiafem(entity, user, recursoId);
                }

                if (entity.TransmitirSiafisico && !entity.TransmitidoSiafisico)
                {
                    TransmitirSiafisico(entity, user, recursoId);
                }

                if (entity.TransmitirProdesp && !entity.TransmitidoProdesp)
                {
                    TransmitirProdesp(entity, recursoId);
                }

                if ((entity.TransmitidoSiafem || entity.TransmitidoSiafisico) && entity.TransmitidoProdesp)
                {
                    cicsmo = _chave.ObterChave(recursoId);
                    entity.StatusDocumento = _prodesp.InserirDoc(entity, cicsmo.Chave, cicsmo.Senha, "06");
                    _chave.LiberarChave(cicsmo.Codigo);
                }
            }
            catch (Exception ex)
            {
                entity.Itens = itensOriginais;
                throw ex;
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);
            }
        }
        private IEnumerable <LiquidacaoDespesaNota> SalvarOuAlterarNotas(SubempenhoCancelamento entity, int recursoId, short action)
        {
            var salvos = _notas.Buscar(new LiquidacaoDespesaNota {
                SubempenhoId = entity.Id
            });
            var deleta = salvos?.Where(w => entity.Notas.All(a => a.Id != w.Id));

            _notas.Excluir(deleta, recursoId, action);

            var notas = new List <LiquidacaoDespesaNota>();

            foreach (LiquidacaoDespesaNota nota in entity.Notas)
            {
                nota.SubempenhoId = entity.Id;
                nota.Id           = _notas.SalvarOuAlterar(nota, recursoId, action);
                notas.Add(nota);
            }

            return(notas);
        }
Esempio n. 19
0
        public JsonResult Transmitir(SubempenhoCancelamento entity)
        {
            var objModel = new SubempenhoCancelamento();

            try
            {
                var usuario = App.AutenticacaoService.GetUsuarioLogado();

                if (entity.ValorAnular != 0)
                {
                    entity.Valor = entity.ValorAnular;
                }

                _modelId = SalvarService(entity, 0);

                App.SubempenhoCancelamentoService.Transmitir(_modelId, usuario, (int)_funcId);

                objModel = App.SubempenhoCancelamentoService.Selecionar(_modelId);

                return(Json(new { Status = "Sucesso", Codigo = objModel.Id, objModel }));
            }
            catch (Exception ex)
            {
                objModel = App.SubempenhoCancelamentoService.Selecionar(_modelId);
                var status = "Falha";

                if (objModel.StatusProdesp == "E" && objModel.TransmitirProdesp)
                {
                    status = "Falha Prodesp";
                }

                if (objModel.StatusProdesp == "S" && !objModel.StatusDocumento &&
                    (objModel.StatusSiafemSiafisico == "S"))
                {
                    status = "Falha Doc";
                }

                return(Json(new { Status = status, Msg = ex.Message, Codigo = objModel.Id, objModel }));
            }
        }
        private IEnumerable <LiquidacaoDespesaItem> SalvarOuAlterarItens(SubempenhoCancelamento entity, int recursoId, short action, bool salvamentoAposTransmitir)
        {
            var salvos = _itens.Buscar(new SubempenhoCancelamentoItem {
                SubempenhoId = entity.Id
            });
            var deleta = salvos?.Where(w => entity.Itens.All(a => a.Id != w.Id));

            _itens.Excluir(deleta, recursoId, action);

            var itens = new List <LiquidacaoDespesaItem>();

            foreach (LiquidacaoDespesaItem item in entity.Itens)
            {
                item.SubempenhoId = entity.Id;
                item.QuantidadeMaterialServico = salvamentoAposTransmitir ? item.QuantidadeMaterialServico : item.QuantidadeLiquidar;
                item.CodigoItemServico         = item.CodigoItemServico.FormatarCodigoItem();
                item.Id = _itens.SalvarOuAlterar(item, recursoId, action);
                itens.Add(item);
            }

            return(itens);
        }
        private IEnumerable <LiquidacaoDespesaEvento> SalvarOuAlterarEventos(SubempenhoCancelamento entity, int recursoId, short action)
        {
            var salvos = _eventos.Buscar(new LiquidacaoDespesaEvento {
                SubempenhoId = entity.Id
            });
            var deleta = salvos?.Where(w => entity.Eventos.All(a => a.Id != w.Id));

            if (deleta.Any())
            {
                _eventos.Excluir(deleta, recursoId, action);
            }

            var eventos = new List <LiquidacaoDespesaEvento>();

            foreach (LiquidacaoDespesaEvento evento in entity.Eventos)
            {
                evento.SubempenhoId = entity.Id;
                evento.Id           = _eventos.SalvarOuAlterar(evento, recursoId, action);
                eventos.Add(evento);
            }

            return(eventos);
        }
        public int SalvarOuAlterar(SubempenhoCancelamento entity, int recursoId, short action, bool salvamentoAposTransmitir)
        {
            try
            {
                entity.RegionalId = Convert.ToInt16(entity.RegionalId > 0 ? entity.RegionalId : 16);

                entity.Id = _repository.Save(entity);

                if (entity.Eventos != null)
                {
                    entity.Eventos = SalvarOuAlterarEventos(entity, recursoId, action);
                }

                if (entity.Itens != null)
                {
                    entity.Itens = SalvarOuAlterarItens(entity, recursoId, action, salvamentoAposTransmitir);
                }

                if (entity.Notas != null)
                {
                    entity.Notas = SalvarOuAlterarNotas(entity, recursoId, action);
                }

                if (recursoId > 0)
                {
                    LogSucesso(action, recursoId, $@"
                    Nº do cancelamento do subempenho Prodesp {entity.NumeroProdesp}, 
                    Nº do cancelamento do subempenho SIAFEM/SIAFISICO {entity.NumeroSiafemSiafisico}.");
                }

                return(entity.Id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, recursoId);
            }
        }
Esempio n. 23
0
        private int SalvarService(SubempenhoCancelamento entity, int funcionalidade)
        {
            var acao = entity.Id > 0 ? EnumAcao.Alterar : EnumAcao.Inserir;

            return(App.SubempenhoCancelamentoService.SalvarOuAlterar(entity, funcionalidade, Convert.ToInt16(acao)));
        }
 public int SalvarOuAlterar(SubempenhoCancelamento entity, int recursoId, short action)
 {
     return(SalvarOuAlterar(entity, recursoId, action, false));
 }
 public object AnularSubEmpenhoApoio(SubempenhoCancelamento objModel, string chave, string senha)
 {
     return(_prodesp.ConsultarSubEmpenhoApoio(chave, senha, objModel));
 }
Esempio n. 26
0
        private static Procedure_AnulacaoSubEmpenhoFiltersType CreateSubEmpenhoCancelamentoFilterType(string key, string password, SubempenhoCancelamento entity)
        {
            var filter = new Procedure_AnulacaoSubEmpenhoFiltersType();

            filter.inChave    = password;
            filter.inOperador = key;

            filter.inAutFls         = entity.DescricaoAutorizadoSupraFolha;
            filter.inCodAssinAUTO   = entity.CodigoAutorizadoAssinatura;
            filter.inGrupoAssinAUTO = entity.CodigoAutorizadoGrupo.ToString();
            filter.inOrgaoAssinAUTO = entity.CodigoAutorizadoOrgao;
            filter.inCodAssinEXAM   = entity.CodigoExaminadoAssinatura;
            filter.inGrupoAssinEXAM = entity.CodigoExaminadoGrupo.ToString();
            filter.inOrgaoAssinEXAM = entity.CodigoExaminadoOrgao;
            filter.inCodAssinRESP   = entity.CodigoResponsavelAssinatura;
            filter.inGrupoAssinRESP = entity.CodigoResponsavelGrupo.ToString();
            filter.inOrgaoAssinRESP = entity.CodigoResponsavelOrgao;

            if (entity.CenarioProdesp == "SubEmpenho")
            {
                filter.inEspecificacaoDesp = entity.CodigoEspecificacaoDespesa;
            }

            filter.inEspecificacaoDesp_01 = entity.DescricaoEspecificacaoDespesa1;
            filter.inEspecificacaoDesp_02 = entity.DescricaoEspecificacaoDespesa2;
            filter.inEspecificacaoDesp_03 = entity.DescricaoEspecificacaoDespesa3;

            if (entity.CenarioProdesp == "SubEmpenho")
            {
                filter.inEspecificacaoDesp_04 = entity.DescricaoEspecificacaoDespesa4;
                filter.inEspecificacaoDesp_05 = entity.DescricaoEspecificacaoDespesa5;
                filter.inEspecificacaoDesp_06 = entity.DescricaoEspecificacaoDespesa6;
                filter.inEspecificacaoDesp_07 = entity.DescricaoEspecificacaoDespesa7;
                filter.inEspecificacaoDesp_08 = entity.DescricaoEspecificacaoDespesa8;
            }

            filter.inNumProcesso      = entity.NumeroProcesso;
            filter.inNumeroSubEmpenho = entity.NumeroSubempenhoProdesp;
            filter.inValorAnular      = entity.ValorAnular.ToString("D2");
            filter.inImprimir         = "A";
            return(filter);
        }
Esempio n. 27
0
 public static Procedure_AnulacaoSubEmpenhoApoioRecordType[] Procedure_AnulacaoSubEmpenhoApoio(string key, string password, SubempenhoCancelamento entity)
 {
     return(new WSLiquidacaoDespesa().Procedure_AnulacaoSubEmpenhoApoio(AnulacaoSubEmpenhoApoioFilterType(key, password, entity), new ModelVariablesType(), new EnvironmentVariablesType()));
 }
Esempio n. 28
0
        private static Procedure_AnulacaoSubEmpenhoApoioFiltersType AnulacaoSubEmpenhoApoioFilterType(string key, string password, SubempenhoCancelamento entity)
        {
            var filter = new Procedure_AnulacaoSubEmpenhoApoioFiltersType();

            filter.inChave            = password;
            filter.inOperador         = key;
            filter.inNumeroSubEmpenho = entity.NumeroOriginalProdesp;
            filter.inValorAnular      = entity.Valor.ToString();

            return(filter);
        }
 public SubempenhoCancelamento Assinaturas(SubempenhoCancelamento entity)
 {
     return(_repository.GetLastSignatures(entity));
 }
 public IEnumerable <SubempenhoCancelamento> BuscarGrid(SubempenhoCancelamento entity, DateTime de, DateTime ate)
 {
     return(_repository.BuscarGrid(entity, de, ate));
 }