private void TransmitirSiafisico(Empenho objModel, Usuario usuario, int resource) { try { var ug = _regional.Buscar(new Regional { Id = Convert.ToInt32(usuario.RegionalId) }).FirstOrDefault()?.Uge; var months = _mes.Buscar(new EmpenhoMes { Id = objModel.Id }).Cast <IMes>().ToList(); var items = _item.Buscar(new EmpenhoItem { EmpenhoId = objModel.Id }).ToList(); if ((objModel.StatusSiafisicoCT != "S" || string.IsNullOrEmpty(objModel.StatusSiafisicoCT)) && string.IsNullOrEmpty(objModel.NumeroCT)) { objModel.StatusSiafisicoCT = "E"; EnumAcaoSiaf acaoSiaf = EnumAcaoSiaf.Alterar; if (string.IsNullOrEmpty(objModel.NumeroCT)) { //objModel.NumeroCT = _siafem.InserirEmpenhoSiafisico(usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, months, items, ug); acaoSiaf = EnumAcaoSiaf.Inserir; } else { //objModel.NumeroCT = _siafem.InserirEmpenhoSiafisicoAlteracao(usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, months, ug); acaoSiaf = EnumAcaoSiaf.Alterar; } var senha = Decrypt(usuario.SenhaSiafem); objModel.NumeroCT = base.TransmitirEmpenho(objModel, usuario, ug, months, items, acaoSiaf, senha); objModel.StatusSiafisicoCT = "S"; base.TransmitirItens(EnumTipoServicoFazenda.Siafisico, objModel, items, usuario, ug, resource); } objModel.NumeroEmpenhoSiafisico = _siafem.ContablizarEmpenho(usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, 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); } }
private void TransmitirItem(EnumTipoServicoFazenda servico, EnumAcaoSiaf acao, TEmpenho objModel, Usuario usuario, TItem item, string ug, int resource) { try { item.StatusSiafisicoItem = "E"; item.SequenciaItem = _siafem.TransmitirEmpenhoItem(servico, acao, usuario.CPF, Decrypt(usuario.SenhaSiafem), objModel, item, ug); item.StatusSiafisicoItem = "S"; } finally { _item.Salvar(item, resource, (int)EnumAcao.Transmitir); } }
protected string TransmitirEmpenho(TEmpenho objModel, Usuario usuario, string ug, List <IMes> months, IEnumerable <TItem> items, EnumAcaoSiaf acaoSiaf, string senha) { var numeroCT = _siafem.TransmitirEmpenho(EnumTipoServicoFazenda.Siafisico, acaoSiaf, usuario.CPF, senha, objModel, months, items, ug); return(numeroCT); }
public static SFCODOC GerarSiafisicoCtDescricao(Documento document, EnumAcaoSiaf acao, EnumTipoOperacaoEmpenho operacaoEmpenho) { var siafdoc = new SFCODOC(); string mensagem = string.Empty; var qtdConvertida = document.EmpenhoItem.QuantidadeMaterialServico.ConverterQuantidade(); string vlrDesc; string vlrInt; //if (document.EmpenhoItem.ValorUnitario.ToString().Length < 3) //{ // vlrDesc = int.Parse(document.EmpenhoItem.ValorUnitario.ToString()).ToString("D2"); // vlrInt = "0"; //} //else //{ // vlrDesc = document.EmpenhoItem.ValorUnitario.ToString().Substring(document.EmpenhoItem.ValorUnitario.ToString().Length - 2, 2); // vlrInt = document.EmpenhoItem.ValorUnitario.ToString().Substring(0, document.EmpenhoItem.ValorUnitario.ToString().Length - 2); //} var arrVlr = document.EmpenhoItem.ValorUnitario.ToString(new CultureInfo("pt-BR")).Split(','); vlrInt = arrVlr[0] ?? "0"; vlrDesc = arrVlr.Length == 1 ? "0" : arrVlr[1] ?? "0"; string numeroCt = string.Empty; string ug = string.Empty; string gestao = string.Empty; int dist = 0; string valorUnitario = string.Empty; switch (operacaoEmpenho) { case EnumTipoOperacaoEmpenho.Cancelamento: numeroCt = document.EmpenhoCancelamento.NumeroCT ?? string.Empty; ug = document.EmpenhoCancelamento.CodigoUnidadeGestora; gestao = document.EmpenhoCancelamento.CodigoGestao; dist = 70; break; case EnumTipoOperacaoEmpenho.Reforco: case EnumTipoOperacaoEmpenho.Empenho: default: numeroCt = document.Empenho.NumeroCT ?? string.Empty; ug = document.Empenho.CodigoUnidadeGestora; gestao = document.Empenho.CodigoGestao; dist = 50; break; } var doc = new documento { UG = ug, Gestao = gestao, NumeroCT = numeroCt, Item = document.EmpenhoItem.CodigoItemServico, Quantidade = qtdConvertida.Key, QuantidadeDec = qtdConvertida.Value, JustificativaPreco1 = acao == EnumAcaoSiaf.Alterar ? document.EmpenhoItem.DescricaoJustificativaPreco : ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[0], JustificativaPreco2 = acao == EnumAcaoSiaf.Alterar ? document.EmpenhoItem.DescricaoJustificativaPreco : ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[1], }; switch (acao) { case EnumAcaoSiaf.Alterar: doc.Seq = document.EmpenhoItem.SequenciaItem.ToString(); doc.ConfirmaPreco = "S"; doc.JustificativaItemNao = document.EmpenhoItem.DescricaoItemSiafem; doc.UnidadeFornecimento = document.EmpenhoItem.CodigoUnidadeFornecimentoItem; doc.ValorParteInteira = vlrInt.Replace(",", ""); doc.ValorParteDecimal = vlrDesc; siafdoc.SiafisicoDocAltDescCT = new SiafisicoDocAltDescCT(); siafdoc.cdMsg = "SFCODocAltDescCT"; siafdoc.SiafisicoDocAltDescCT.documento = doc; break; case EnumAcaoSiaf.Inserir: default: doc.UnidadeForn = document.EmpenhoItem.CodigoUnidadeFornecimentoItem; doc.ValorUnitario = vlrInt.Replace(",", ""); doc.ValorUnitarioDec = vlrDesc; doc.Validademinimadoprodutonaentregade50porcento = "x"; doc.Validademinimadoprodutonaentregade60porcento = " "; doc.Validademinimadoprodutonaentregade75porcento = " "; doc.Validademinimadoprodutonaentregade80porcento = " "; doc.Validademinimadoprodutonaentregavideedital = " "; doc.Validademinimadoprodutonaentregaconformelegislacaovigentemedicamentomanipulado = " "; doc.JustificativaValorLancado1 = ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[0]; doc.JustificativaValorLancado2 = ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[1]; siafdoc.SiafisicoDocDescCT = new SiafisicoDocDescCT(); siafdoc.cdMsg = "SFCOCTDESC001"; siafdoc.SiafisicoDocDescCT.documento = doc; break; } return(siafdoc); }