public string InserirEmpenhoCancelamento(EmpenhoCancelamento objModel, IEnumerable <IMes> mes, string chave, string senha)
 {
     return(_prodesp.InserirEmpenhoCancelamento(chave, senha, objModel, mes,
                                                _fonte.Fetch(new Fonte {
         Id = objModel.FonteId
     }).FirstOrDefault()));
 }
        private void TransmitirProdesp(EmpenhoCancelamento objModel, int resource)
        {
            var key = new ChaveCicsmo();

            try
            {
                key = _chave.ObterChave();
                var mes = _mes.Buscar(new EmpenhoCancelamentoMes {
                    Id = objModel.Id
                }).Cast <IMes>().ToList();

                objModel.NumeroEmpenhoProdesp = _prodesp.InserirEmpenhoCancelamento(
                    objModel, mes, key.Chave, key.Senha).Replace(" ", "");
                objModel.TransmitidoProdesp     = true;
                objModel.StatusProdesp          = "S";
                objModel.DataTransmitidoProdesp = DateTime.Now;
                objModel.MensagemServicoProdesp = null;

                Salvar(objModel, null, null, resource, (int)EnumAcao.Transmitir);
            }
            catch (Exception ex)
            {
                objModel.StatusProdesp          = "E";
                objModel.MensagemServicoProdesp = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, resource);
            }
            finally { _chave.LiberarChave(key.Codigo); }
        }
 public IEnumerable <EmpenhoCancelamento> FetchForGrid(EmpenhoCancelamento entity)
 {
     return(DataHelper.List <EmpenhoCancelamento>("PR_EMPENHO_CANCELAMENTO_CONSULTAR_GRID",
                                                  new SqlParameter("@nr_empenhoProdesp", entity.NumeroEmpenhoProdesp),
                                                  new SqlParameter("@nr_empenhoSiafem", entity.NumeroEmpenhoSiafem),
                                                  new SqlParameter("@nr_empenhoSiafisico", entity.NumeroEmpenhoSiafisico),
                                                  new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra),
                                                  new SqlParameter("@nr_processo", entity.NumeroProcesso),
                                                  new SqlParameter("@nr_ano_exercicio", entity.NumeroAnoExercicio),
                                                  new SqlParameter("@tb_empenho_cancelamento_tipo_id_empenho_cancelamento_tipo", entity.EmpenhoCancelamentoTipoId),
                                                  new SqlParameter("@tb_regional_id_regional", entity.RegionalId),
                                                  new SqlParameter("@tb_programa_id_programa", entity.ProgramaId),
                                                  new SqlParameter("@tb_estrutura_id_estrutura", entity.NaturezaId),
                                                  new SqlParameter("@tb_fonte_id_fonte", entity.FonteId),
                                                  new SqlParameter("@ds_status_prodesp", entity.StatusProdesp),
                                                  new SqlParameter("@ds_status_siafem", entity.StatusSiafemSiafisico),
                                                  new SqlParameter("@ds_status_siafisico", entity.StatusSiafemSiafisico),
                                                  new SqlParameter("@nr_contrato", entity.NumeroContrato),
                                                  new SqlParameter("@tb_licitacao_id_licitacao", entity.LicitacaoId),
                                                  new SqlParameter("@nr_cnpj_cpf_ug_credor", entity.NumeroCNPJCPFUGCredor),
                                                  new SqlParameter("@cd_gestao_credor", entity.CodigoGestaoCredor),
                                                  new SqlParameter("@cd_credor_organizacao", entity.CodigoCredorOrganizacao),
                                                  new SqlParameter("@nr_cnpj_cpf_fornecedor", entity.NumeroCNPJCPFFornecedor),
                                                  new SqlParameter("@dt_cadastramento_de", entity.DataCadastramentoDe.ValidateDBNull()),
                                                  new SqlParameter("@dt_cadastramento_ate", entity.DataCadastramentoAte.ValidateDBNull())
                                                  ));
 }
        private void TransmitirSiafem(EmpenhoCancelamento objModel, Usuario usuario, int resource)
        {
            try
            {
                var ug = _regional.Buscar(new Regional {
                    Id = Convert.ToInt32(usuario.RegionalId)
                }).FirstOrDefault()?.Uge;
                var months = _mes.Buscar(new EmpenhoCancelamentoMes {
                    Id = objModel.Id
                }).Cast <IMes>();
                var items = _item.Buscar(new EmpenhoCancelamentoItem {
                    EmpenhoId = objModel.Id
                }).Cast <IEmpenhoItem>();

                objModel.NumeroEmpenhoSiafem = _siafem.InserirEmpenhoCancelamentoSiafem(usuario.CPF, Decrypt(usuario.SenhaSiafem), ref objModel, months, ug);


                _siafem.InserirEmpenhoCancelamentoSiafem(usuario.CPF, Decrypt(usuario.SenhaSiafem), ref objModel, items, ug);

                objModel.TransmitidoSiafem       = true;
                objModel.StatusSiafemSiafisico   = "S";
                objModel.DataTransmitidoSiafem   = DateTime.Now;
                objModel.MensagemSiafemSiafisico = null;

                Salvar(objModel, null, null, resource, (int)EnumAcao.Transmitir);
            }
            catch (Exception ex)
            {
                objModel.StatusSiafemSiafisico   = "E";
                objModel.MensagemSiafemSiafisico = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, resource);
            }
        }
        public string InserirEmpenhoCancelamento(string key, string password, EmpenhoCancelamento entity, IEnumerable <IMes> months, Fonte source)
        {
            try
            {
                var result = DataHelperProdespEmpenho.Procedure_AnulacaoEmpenho(
                    key, password, entity, months, source)
                             ?? new ProdespEmpenho.Procedure_AnulacaoEmpenhoRecordType[] { };

                var resultItem = result.FirstOrDefault();

                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Session["terminal"] = resultItem?.outTerminal;
                }

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

                return(resultItem?.outNumAnulacaoEmp);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
        public EmpenhoCancelamento BuscarAssinaturas(EmpenhoCancelamento objModel)
        {
            const string sql = "PR_EMPENHO_CANCELAMENTO_CONSULTAR_ASSINATURA";

            return(DataHelper.Get <EmpenhoCancelamento>(sql,
                                                        new SqlParameter("@tb_regional_id_regional", objModel.RegionalId)));
        }
        public AcaoEfetuada Excluir(EmpenhoCancelamento objModel, int resource, short action)
        {
            try
            {
                _repository.Remove(objModel.Id);

                return(resource > 0
                    ? LogSucesso(action, resource, $"Cancelamento do Empenho : Codigo {objModel.Id}")
                    : AcaoEfetuada.Sucesso);
            }
            catch (Exception ex) { throw SaveLog(ex, (short?)action, resource); }
        }
 private void InserirEmpenhoCancelamentoSiafisico(EmpenhoCancelamento objModel, Usuario usuario, EmpenhoCancelamentoItem item, string ug, int resource)
 {
     try
     {
         item.StatusSiafisicoItem = "E";
         item.SequenciaItem       = _siafem.InserirEmpenhoCancelamentoSiafisico(usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, item, ug);
         item.StatusSiafisicoItem = "S";
     }
     finally
     {
         _item.Salvar(item, resource, (int)EnumAcao.Transmitir);
     }
 }
        public int Salvar(EmpenhoCancelamento objModel, IEnumerable <EmpenhoCancelamentoMes> months, IEnumerable <EmpenhoCancelamentoItem> items, int resource, short action)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 1: OBJMODEL = " + objModel.Id + " - MONTHS = " + months + " - ITEMS = " + items + " - ACTION = " + action));
            try
            {
                if (objModel.Id == 0)
                {
                    objModel.DataCadastramento = DateTime.Now;
                    objModel.Id = _repository.Add(objModel);
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 2"));
                }
                else
                {
                    _repository.Edit(objModel);
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 3"));
                }

                if (items != null && items.Any())
                {
                    ((List <EmpenhoCancelamentoItem>)items).ForEach(f => f.EmpenhoId = objModel.Id);
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 4"));
                }

                _item.Salvar(objModel.Id, items, resource, action);

                if (months != null && months.Any(a => a.ValorMes > 0))
                {
                    ((List <EmpenhoCancelamentoMes>)months).ForEach(x => x.Id = objModel.Id);
                    _mes.Salvar(months, resource, action);
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 5"));
                }

                var arg = $@"
                    Nº do empenho Prodesp {objModel.NumeroEmpenhoProdesp}
                  , Nº do empenho SIAFEM {objModel.NumeroEmpenhoSiafem}
                  , Nº do empenho SIAFISICO {objModel.NumeroEmpenhoSiafisico}.";

                if (resource > 0)
                {
                    LogSucesso(action, resource, arg);
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 6"));
                }

                return(objModel.Id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, resource);
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - SALVAR - 7: EX = " + ex));
            }
        }
Exemplo n.º 10
0
 public DadoCancelamentoViewModel CreateInstance(EmpenhoCancelamento objModel, IEnumerable <EmpenhoCancelamentoTipo> tipos)
 {
     return(new DadoCancelamentoViewModel()
     {
         EmpenhoCancelamentoTipoId = objModel.EmpenhoCancelamentoTipoId.ToString(),
         EmpenhoCancelamentoTipoListItems = tipos.Where(x => x.Siafem)
                                            .Select(s => new SelectListItem
         {
             Text = s.Descricao,
             Value = s.Id.ToString(),
             Selected = s.Id == objModel.EmpenhoCancelamentoTipoId
         })
     });
 }
        private void TransmitirSiafisico(EmpenhoCancelamento objModel, Usuario usuario, int resource)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIRSIAFISICO - 1: OBJMODEL = " + objModel + " - USUARIO = " + usuario + " - RESOURCE = " + resource));
            try
            {
                var ug = _regional.Buscar(new Regional {
                    Id = Convert.ToInt32(usuario.RegionalId)
                }).First().Uge;
                var months = _mes.Buscar(new EmpenhoCancelamentoMes {
                    Id = objModel.Id
                }).Cast <IMes>();
                var items = _item.Buscar(new EmpenhoCancelamentoItem {
                    EmpenhoId = objModel.Id
                });

                if (objModel.StatusSiafisicoCT != "S")
                {
                    objModel.StatusSiafisicoCT         = "E";
                    objModel.EmpenhoCancelamentoTipoId = 8;
                    objModel.NumeroCT          = _siafem.InserirEmpenhoCancelamentoSiafisico(usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, months, ug);
                    objModel.StatusSiafisicoCT = "S";
                }

                foreach (var empenhoItem in items)
                {
                    if (empenhoItem.StatusSiafisicoItem == "N" || empenhoItem.StatusSiafisicoItem == "E")
                    {
                        InserirEmpenhoCancelamentoSiafisico(objModel, usuario, empenhoItem, ug, resource);
                    }
                }

                objModel.EmpenhoCancelamentoTipoId = 9;
                objModel.NumeroEmpenhoSiafisico    = _siafem.ContablizarEmpenhoCancelamento(usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, months, ug);

                objModel.TransmitidoSiafisico     = true;
                objModel.StatusSiafemSiafisico    = "S";
                objModel.DataTransmitidoSiafisico = DateTime.Now;
                objModel.MensagemSiafemSiafisico  = null;
            }
            catch (Exception ex)
            {
                objModel.StatusSiafemSiafisico   = "E";
                objModel.MensagemSiafemSiafisico = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, resource);
            }
            finally
            {
                Salvar(objModel, null, null, resource, (int)EnumAcao.Transmitir);
            }
        }
Exemplo n.º 12
0
 private IEnumerable <EmpenhoCancelamentoMes> CreateInsatanceEmpenhoMes(EmpenhoCancelamento objModel)
 {
     return(new List <EmpenhoCancelamentoMes>
     {
         new EmpenhoCancelamentoMes {
             ValorMes = 123M, Id = objModel.Id, Descricao = "01"
         },
         new EmpenhoCancelamentoMes {
             ValorMes = 2852345M, Id = objModel.Id, Descricao = "04"
         },
         new EmpenhoCancelamentoMes {
             ValorMes = 3425M, Id = objModel.Id, Descricao = "07"
         },
         new EmpenhoCancelamentoMes {
             ValorMes = 412345M, Id = objModel.Id, Descricao = "10"
         }
     });
 }
Exemplo n.º 13
0
 private IEnumerable <EmpenhoCancelamentoItem> CreateInsatanceEmpenhoItem(EmpenhoCancelamento objModel)
 {
     return(new List <EmpenhoCancelamentoItem>
     {
         new EmpenhoCancelamentoItem {
             ValorUnitario = 123, EmpenhoId = objModel.Id
         },
         new EmpenhoCancelamentoItem {
             ValorUnitario = 2852345, EmpenhoId = objModel.Id
         },
         new EmpenhoCancelamentoItem {
             ValorUnitario = 3425, EmpenhoId = objModel.Id
         },
         new EmpenhoCancelamentoItem {
             ValorUnitario = 412345, EmpenhoId = objModel.Id
         }
     });
 }
Exemplo n.º 14
0
        public JsonResult Transmitir(ModelSalvar objSave)
        {
            var objModel = new EmpenhoCancelamento();

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

                _modelId = SalvarService(objSave, (int)_funcId);

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

                objModel = App.EmpenhoCancelamentoService.Buscar(
                    new EmpenhoCancelamento {
                    Id = _modelId
                }).FirstOrDefault();

                return(Json(new { Status = "Sucesso", Codigo = objModel.Id, objModel }));
            }
            catch (Exception ex)
            {
                objModel = App.EmpenhoCancelamentoService.Buscar(
                    new EmpenhoCancelamento {
                    Id = _modelId
                }).FirstOrDefault();

                var status = "Falha";

                if (objModel.StatusProdesp.Equals("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 void Transmissao(Usuario usuario, EmpenhoCancelamento objModel, int resource)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMISSAO - 1: OBJMODEL = " + objModel.Id + " - USUARIO = " + usuario + " - RESOURCE = " + resource));
            var key = new ChaveCicsmo();

            try
            {
                if (objModel.TransmitirSiafem && !objModel.TransmitidoSiafem)
                {
                    TransmitirSiafem(objModel, usuario, resource);
                }

                if (objModel.TransmitirSiafisico && !objModel.TransmitidoSiafisico)
                {
                    TransmitirSiafisico(objModel, usuario, resource);
                }

                if (objModel.TransmitirProdesp && !objModel.TransmitidoProdesp)
                {
                    TransmitirProdesp(objModel, resource);
                }

                if ((objModel.TransmitidoSiafisico || objModel.TransmitidoSiafem) && objModel.TransmitidoProdesp)
                {
                    key = _chave.ObterChave();
                    objModel.StatusDocumento = _prodesp.InserirDoc(objModel, key.Chave, key.Senha, "04");
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMISSAO - 2"));
                }
            }
            catch (Exception ex)
            {
                throw;
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMISSAO - 3: EX = " + ex));
            }
            finally
            {
                _chave.LiberarChave(key.Codigo);
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMISSAO - 4"));
            }
        }
 public IEnumerable <EmpenhoCancelamento> BuscarGrid(EmpenhoCancelamento objModel)
 {
     return(_repository.FetchForGrid(objModel));
 }
Exemplo n.º 17
0
 private void CreateInstance()
 {
     _model = CreateInstanceEmpenho();
     _mes   = CreateInsatanceEmpenhoMes(_model);
     _item  = CreateInsatanceEmpenhoItem(_model);
 }
        private DtoError Retransmissao(Usuario usuario, EmpenhoCancelamento objModel, int resource)
        {
            var error = new DtoError();
            var key   = new ChaveCicsmo();

            try
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 1: OBJMODEL = " + objModel.Id + " - USUARIO = " + usuario + " - RESOURCE = " + resource));
                try
                {
                    if (objModel.TransmitirSiafem && !objModel.TransmitidoSiafem)
                    {
                        TransmitirSiafem(objModel, usuario, resource);
                        Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 2"));
                    }
                }
                catch (Exception ex)
                {
                    error.Siafem = ex.Message;
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 3: EX = " + ex));
                }

                try
                {
                    if (objModel.TransmitirSiafisico && !objModel.TransmitidoSiafisico)
                    {
                        TransmitirSiafisico(objModel, usuario, resource);
                        Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 4"));
                    }
                }
                catch (Exception ex)
                {
                    error.Siafem = ex.Message;
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 5: EX = " + ex));
                }

                try
                {
                    if (string.IsNullOrWhiteSpace(error.Siafem) && objModel.TransmitirProdesp && !objModel.TransmitidoProdesp)
                    {
                        TransmitirProdesp(objModel, resource);
                        Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 6"));
                    }
                }
                catch (Exception ex)
                {
                    error.Prodesp = ex.Message;
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 7: EX = " + ex));
                }

                if ((objModel.TransmitidoSiafisico || objModel.TransmitidoSiafem) && objModel.TransmitidoProdesp)
                {
                    key = _chave.ObterChave();
                    objModel.StatusDocumento = _prodesp.InserirDoc(objModel, key.Chave, key.Senha, "04");
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 8"));
                }
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, resource);
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 9: EX = " + ex));
            }
            finally
            {
                _chave.LiberarChave(key.Codigo);
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - RETRANSMISSAO - 10"));
            }

            return(error);
        }
        public int Add(EmpenhoCancelamento entity)
        {
            const string sql = "PR_EMPENHO_CANCELAMENTO_INCLUIR";

            return(DataHelper.Get <int>(sql,
                                        new SqlParameter("@tb_empenho_cancelamento_tipo_id_empenho_cancelamento_tipo", entity.EmpenhoCancelamentoTipoId),
                                        new SqlParameter("@tb_regional_id_regional", entity.RegionalId),
                                        new SqlParameter("@tb_programa_id_programa", entity.ProgramaId),
                                        new SqlParameter("@tb_estrutura_id_estrutura", entity.NaturezaId),
                                        new SqlParameter("@nr_natureza_ne", entity.CodigoNaturezaNe),
                                        new SqlParameter("@tb_fonte_id_fonte", entity.FonteId),
                                        new SqlParameter("@tb_licitacao_id_licitacao", entity.LicitacaoId),
                                        new SqlParameter("@tb_modalidade_id_modalidade", entity.ModalidadeId),
                                        new SqlParameter("@tb_aquisicao_tipo_id_aquisicao_tipo", entity.TipoAquisicaoId),
                                        new SqlParameter("@tb_origem_material_id_origem_material", entity.OrigemMaterialId),
                                        new SqlParameter("@tb_destino_cd_destino", entity.DestinoId),
                                        new SqlParameter("@cd_fonte_siafisico", entity.CodigoFonteSiafisico),
                                        new SqlParameter("@cd_empenho", entity.CodigoEmpenho),
                                        new SqlParameter("@cd_empenho_original", entity.CodigoEmpenhoOriginal),
                                        new SqlParameter("@nr_ano_exercicio", entity.NumeroAnoExercicio),
                                        new SqlParameter("@nr_processo", entity.NumeroProcesso),
                                        new SqlParameter("@nr_processo_ne", entity.NumeroProcessoNE),
                                        new SqlParameter("@nr_processo_siafisico", entity.NumeroProcessoSiafisico),
                                        new SqlParameter("@nr_contrato", entity.NumeroContrato),
                                        new SqlParameter("@nr_ct", entity.NumeroCT),
                                        new SqlParameter("@nr_ct_original", entity.NumeroOriginalCT),
                                        new SqlParameter("@nr_empenhoProdesp", entity.NumeroEmpenhoProdesp),
                                        new SqlParameter("@nr_empenhoSiafem", entity.NumeroEmpenhoSiafem),
                                        new SqlParameter("@nr_empenhoSiafisico", entity.NumeroEmpenhoSiafisico),
                                        new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra),
                                        new SqlParameter("@dt_cadastramento", entity.DataCadastramento.ValidateDBNull()),
                                        new SqlParameter("@nr_cnpj_cpf_ug_credor", entity.NumeroCNPJCPFUGCredor),
                                        new SqlParameter("@cd_gestao_credor", entity.CodigoGestaoCredor),
                                        new SqlParameter("@cd_credor_organizacao", entity.CodigoCredorOrganizacao),
                                        new SqlParameter("@nr_cnpj_cpf_fornecedor", entity.NumeroCNPJCPFFornecedor),
                                        new SqlParameter("@cd_unidade_gestora", entity.CodigoUnidadeGestora),
                                        new SqlParameter("@cd_gestao", entity.CodigoGestao),
                                        new SqlParameter("@cd_evento", entity.CodigoEvento),
                                        new SqlParameter("@dt_emissao", entity.DataEmissao.ValidateDBNull()),
                                        new SqlParameter("@cd_unidade_gestora_fornecedora", entity.CodigoUnidadeGestoraFornecedora),
                                        new SqlParameter("@cd_gestao_fornecedora", entity.CodigoGestaoFornecedora),
                                        new SqlParameter("@cd_uo", entity.CodigoUO),
                                        new SqlParameter("@nr_natureza_item", entity.CodigoNaturezaItem),
                                        new SqlParameter("@cd_municipio", entity.CodigoMunicipio),
                                        new SqlParameter("@ds_local_entrega_siafem", entity.DescricaoLocalEntregaSiafem),
                                        new SqlParameter("@ds_acordo", entity.DescricaoAcordo),
                                        new SqlParameter("@ds_autorizado_supra_folha", entity.DescricaoAutorizadoSupraFolha),
                                        new SqlParameter("@cd_especificacao_despesa", entity.CodigoEspecificacaoDespesa),
                                        new SqlParameter("@ds_especificacao_despesa", entity.DescricaoEspecificacaoDespesa),
                                        new SqlParameter("@cd_autorizado_assinatura", entity.CodigoAutorizadoAssinatura),
                                        new SqlParameter("@cd_autorizado_grupo", entity.CodigoAutorizadoGrupo),
                                        new SqlParameter("@cd_autorizado_orgao", entity.CodigoAutorizadoOrgao),
                                        new SqlParameter("@nm_autorizado_assinatura", entity.NomeAutorizadoAssinatura),
                                        new SqlParameter("@ds_autorizado_cargo", entity.DescricaoAutorizadoCargo),
                                        new SqlParameter("@cd_examinado_assinatura", entity.CodigoExaminadoAssinatura),
                                        new SqlParameter("@cd_examinado_grupo", entity.CodigoExaminadoGrupo),
                                        new SqlParameter("@cd_examinado_orgao", entity.CodigoExaminadoOrgao),
                                        new SqlParameter("@nm_examinado_assinatura", entity.NomeExaminadoAssinatura),
                                        new SqlParameter("@ds_examinado_cargo", entity.DescricaoExaminadoCargo),
                                        new SqlParameter("@cd_responsavel_assinatura", entity.CodigoResponsavelAssinatura),
                                        new SqlParameter("@cd_responsavel_grupo", entity.CodigoResponsavelGrupo),
                                        new SqlParameter("@cd_responsavel_orgao", entity.CodigoResponsavelOrgao),
                                        new SqlParameter("@nm_responsavel_assinatura", entity.NomeResponsavelAssinatura),
                                        new SqlParameter("@ds_responsavel_cargo", entity.DescricaoResponsavelCargo),
                                        new SqlParameter("@bl_transmitir_prodesp", entity.TransmitirProdesp),
                                        new SqlParameter("@fg_transmitido_prodesp", entity.TransmitidoProdesp),
                                        new SqlParameter("@dt_transmitido_prodesp", entity.DataTransmitidoProdesp.ValidateDBNull()),
                                        new SqlParameter("@bl_transmitir_siafem", entity.TransmitirSiafem),
                                        new SqlParameter("@fg_transmitido_siafem", entity.TransmitidoSiafem),
                                        new SqlParameter("@dt_transmitido_siafem", entity.DataTransmitidoSiafem.ValidateDBNull()),
                                        new SqlParameter("@bl_transmitir_siafisico", entity.TransmitirSiafisico),
                                        new SqlParameter("@fg_transmitido_siafisico", entity.TransmitidoSiafisico),
                                        new SqlParameter("@dt_transmitido_siafisico", entity.DataTransmitidoSiafisico.ValidateDBNull()),
                                        new SqlParameter("@ds_status_prodesp", entity.StatusProdesp),
                                        new SqlParameter("@ds_status_siafem", entity.StatusSiafemSiafisico),
                                        new SqlParameter("@ds_status_siafisico", entity.StatusSiafemSiafisico),
                                        new SqlParameter("@ds_status_documento", entity.StatusDocumento),
                                        new SqlParameter("@bl_cadastro_completo", entity.CadastroCompleto),
                                        new SqlParameter("@ds_msgRetornoTransmissaoProdesp", entity.MensagemServicoProdesp),
                                        new SqlParameter("@ds_msgRetornoTransmissaoSiafisico", entity.MensagemServicoSiafisico),
                                        new SqlParameter("@ds_msgRetornoTransmissaoSiafem", entity.MensagemSiafemSiafisico)));
        }
        private static Procedure_AnulacaoEmpenhoFiltersType CreateAnulacaoFilterType(string key, string password, EmpenhoCancelamento entity, IEnumerable <IMes> months, Fonte source)
        {
            var descriptions = new List <string>(entity.DescricaoEspecificacaoDespesa?.Split(';') ?? new string[] { });

            return(new Procedure_AnulacaoEmpenhoFiltersType
            {
                //  inImpressora =
                inOperador = key,
                inChave = password,

                inNumProcesso = entity?.NumeroProcesso,
                inOrigemRecurso = source.Codigo.Substring(1, 2),
                inDestinoRecurso = entity.DestinoId,

                inEmpenho = entity?.CodigoEmpenho,
                inQuota1 = months?.Where(x => B1.Contains(x.Descricao)).Sum(y => y.ValorMes).ToString(),
                inQuota2 = months?.Where(x => B2.Contains(x.Descricao)).Sum(y => y.ValorMes).ToString(),
                inQuota3 = months?.Where(x => B3.Contains(x.Descricao)).Sum(y => y.ValorMes).ToString(),
                inQuota4 = months?.Where(x => B4.Contains(x.Descricao)).Sum(y => y.ValorMes).ToString(),

                inTotal = months?.Sum(x => x.ValorMes).ToString(),

                inAutFLS = entity?.DescricaoAutorizadoSupraFolha,
                inCodEspecificaDesp = entity.CodigoEspecificacaoDespesa,
                inEspecificaDesp_01 = descriptions.Count > 0 ? descriptions[0] : null,
                inEspecificaDesp_02 = descriptions.Count > 1 ? descriptions[1] : null,
                inEspecificaDesp_03 = descriptions.Count > 2 ? descriptions[2] : null,
                inEspecificaDesp_04 = descriptions.Count > 3 ? descriptions[3] : null,
                inEspecificaDesp_05 = descriptions.Count > 4 ? descriptions[4] : null,
                inEspecificaDesp_06 = descriptions.Count > 5 ? descriptions[5] : null,
                inEspecificaDesp_07 = descriptions.Count > 6 ? descriptions[6] : null,
                inEspecificaDesp_08 = descriptions.Count > 7 ? descriptions[7] : null,
                inEspecificaDesp_09 = descriptions.Count > 8 ? descriptions[8] : null,

                inCodAssinAutorizacao = entity?.CodigoAutorizadoAssinatura.ToString(),
                inGrupoAssinAutorizacao = entity?.CodigoAutorizadoGrupo.ToString(),
                inOrgaoAssinAutorizacao = entity?.CodigoAutorizadoOrgao,

                inCodAssinExaminado = entity?.CodigoExaminadoAssinatura.ToString(),
                inGrupoAssinExaminado = entity?.CodigoExaminadoGrupo.ToString(),
                inOrgaoAssinExaminado = entity?.CodigoExaminadoOrgao,

                inCodAssinRespons = entity?.CodigoResponsavelAssinatura.ToString(),
                inGrupoAssinRespons = entity?.CodigoResponsavelGrupo.ToString(),
                InOrgaoAssinRespons = entity?.CodigoResponsavelOrgao,
                inImprimir = "A"
            });
        }
 public static Procedure_AnulacaoEmpenhoRecordType[] Procedure_AnulacaoEmpenho(string key, string password, EmpenhoCancelamento entity, IEnumerable <IMes> months, Fonte source)
 {
     return(new WSProdespEmprenho().Procedure_AnulacaoEmpenho(CreateAnulacaoFilterType(key, password, entity, months, source),
                                                              new ModelVariablesType(),
                                                              new EnvironmentVariablesType()));
 }
 public EmpenhoCancelamento BuscarAssinaturas(EmpenhoCancelamento objModel)
 {
     return(_repository.BuscarAssinaturas(objModel));
 }
        public string Transmitir(IEnumerable <int> ids, Usuario usuario, int resource)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 1: IDS = " + ids + " - USUARIO = " + usuario + " - RESOURCE = " + resource));
            var empenhos = new List <EmpenhoCancelamento>();
            var result   = default(string);

            foreach (var empenhoId in ids)
            {
                var empenho = new EmpenhoCancelamento();
                try
                {
                    empenho = Buscar(new EmpenhoCancelamento {
                        Id = empenhoId
                    }).FirstOrDefault() ?? new EmpenhoCancelamento();
                    if (AppConfig.WsUrl != "siafemProd")
                    {
                        usuario.CPF         = empenho.TransmitirSiafem ? AppConfig.WsSiafemUser : AppConfig.WsSiafisicoUser;
                        usuario.SenhaSiafem = Encrypt(AppConfig.WsPassword);
                        Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 2"));
                    }

                    var dtoErro = Retransmissao(usuario, empenho, resource);

                    if (empenho.TransmitirProdesp && (empenho.TransmitirSiafem || empenho.TransmitirSiafisico))
                    {
                        if (empenho.StatusProdesp == "E" && empenho.StatusSiafemSiafisico == "S")
                        {
                            result += $";Erro {dtoErro.Prodesp}";
                            result += $" para transmissão Cancelamento de Empenho N° SIAFEM/SIAFISICO {empenho.NumeroEmpenhoSiafem}{empenho.NumeroEmpenhoSiafisico}";
                            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 3"));
                        }
                        else if ((empenho.StatusSiafemSiafisico == "E") && empenho.StatusProdesp == "S")
                        {
                            result += $";Erro {dtoErro.Siafem} para transmissão Cancelamento de Empenho N° Prodesp {empenho.NumeroEmpenhoProdesp}";
                            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 4"));
                        }

                        empenhos.Add(empenho);

                        if ((empenho.StatusSiafemSiafisico == "S") && empenho.StatusProdesp == "S")
                        {
                            Salvar(empenho, null, null, resource, (int)EnumAcao.Transmitir);
                            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 5"));
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw SaveLog(ex, (short?)EnumAcao.Transmitir, resource);
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 6: EX = " + ex));
                }
                finally
                {
                    if (empenho.TransmitidoProdesp)
                    {
                        SetCurrentTerminal(string.Empty);
                        Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 7: EMPTY = " + string.Empty));
                    }
                }
            }

            var empenhosErros =
                empenhos.Where(x => ((x.StatusProdesp == "E" || x.StatusProdesp == null) && (x.StatusSiafemSiafisico == "E")) ||
                               (x.StatusProdesp == "E" && (x.StatusSiafemSiafisico == "N")) ||
                               (x.StatusProdesp == "N" && (x.StatusSiafemSiafisico == "E"))).ToList();

            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 8"));

            if (empenhosErros.Count > 0)
            {
                if (empenhos.Count == 1)
                {
                    result += empenhos.FirstOrDefault()?.MensagemSiafemSiafisico + Environment.NewLine + " | " + empenhos.FirstOrDefault()?.MensagemServicoProdesp;
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 9"));
                }
                else
                {
                    result += Environment.NewLine + "; / Alguns Cancelamentos de Empenho não puderam ser transmitidos";
                    Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 10"));
                }
                Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("ERROR EMPENHO CANCELAMENTO - TRANSMITIR 2 - 11"));
            }

            return(result);
        }
 public IEnumerable <EmpenhoCancelamento> Fetch(EmpenhoCancelamento entity)
 {
     return(DataHelper.List <EmpenhoCancelamento>("PR_EMPENHO_CANCELAMENTO_CONSULTAR",
                                                  new SqlParameter("@id_empenho_cancelamento", entity.Id)
                                                  ));
 }
 protected DadoCancelamentoViewModel InitializeDadoCancelamentoViewModel(EmpenhoCancelamento objModel)
 {
     return(new DadoCancelamentoViewModel().CreateInstance(objModel, EmpenhoCancelamentoTipoServiceList));
 }