示例#1
0
文件: Manifiesto.cs 项目: sabtvg/nabu
 public override void ejecutarConsenso(Documento doc)
 {
     doc.propuestas.Sort();
     doc.grupo.objetivo = (string)getValue("s.titulo", doc.propuestas[0]);
     doc.grupo.URLEstatuto = doc.URLPath;
     doc.addLog(tr("Manifiesto actualizado en el grupo"));
 }
示例#2
0
 /// <summary>
 /// Meotod para registrar los bancos en base de datos
 /// crm
 /// </summary>
 /// <param name="b"></param>
 /// <returns></returns>
 public int InsertDocumentos(Documento b)
 {
     try
         {
             bd.Documento.Add(b);
             bd.SaveChanges();
             return 1;
         }
         catch (DbUpdateException)
         {
             return 0;
         }
         catch (Exception)
         {
             throw;
         }
 }
示例#3
0
        private bool ExpandCluster(Documento doc)
        {
            var seeds = GetRegion(doc);
            if (seeds.Count < MinPts)
            {
                doc.ClusterID = Documento.Ruido;
                return false;
            }

            doc.ClusterID = ClusterID;
            seeds.RemoveAll(x => x.PosicionEnLista == doc.PosicionEnLista);

            while (seeds.Count > 0)
            {
                var seed = seeds[0];
                var seedNeighbourhood = GetRegion(seed);

                if (seedNeighbourhood.Count >= MinPts)
                {
                    foreach (var seedNeighbour in seedNeighbourhood)
                    {
                        if (seedNeighbour.ClusterID == Documento.Unclassified ||
                            seedNeighbour.ClusterID == Documento.Ruido)
                        {
                            if (seedNeighbour.ClusterID == Documento.Unclassified)
                            {
                                seeds.Add(seedNeighbour);
                            }
                            seedNeighbour.ClusterID = ClusterID;
                        }
                    }
                }
                seeds.RemoveAt(0);
            }

            return true;
        }
示例#4
0
        private SearchStatus IndexContent(Documento content)
        {
            try
            {
                try
                {
                    this.indexContentSearchEngineService.Index(content, content.Indexacao);
                    this.documentoRepositorio.AlterStatus(content.Id, SearchStatus.Indexed);
                }
                catch (Exception ex)
                {
                    Log.App.Error(ex);
                }
                Log.App.Info("Documento indexado com sucesso #" + content.Id);

                return SearchStatus.Indexed;
            }
            catch (Exception exception)
            {
                Log.App.Error("Erro ao indexar documento " + content.Id, exception);

                return SearchStatus.TryIndexAgain;
            }
        }
示例#5
0
文件: Accion.cs 项目: sabtvg/nabu
 public override void ejecutarConsenso(Documento doc)
 {
     //nada que hacer
 }
        public async Task <ActionResult <Documento> > Post([FromServices] DataContext context, [FromBody] Documento model)
        {
            if (ModelState.IsValid)
            {
                context.Documentos.Add(model);
                await context.SaveChangesAsync();

                return(model);
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
示例#7
0
        protected void Alterar(object sender, EventArgs e)
        {
            try
            {
                DocumentoDAL dDAL = new DocumentoDAL();
                Documento    d    = dDAL.CarregarDadosPorIdDocumento(Convert.ToInt32(Request.QueryString["idDoc"]));

                TipoDocumentoDAL tdDAL = new TipoDocumentoDAL();
                d.TipoDocumento = tdDAL.ObterDadosPorId(Convert.ToInt32(ddlTipoDocumento.SelectedValue));

                d.Descricao    = txtDescricao.Text;
                d.NomePortador = txtNomePortador.Text;
                d.RG           = txtRg.Text;
                d.NumeroINSS   = txtNumeroInss.Text;
                d.CPFCNPJ      = txtCpfCnpj.Text;

                if (txtVigencia.Text == "")
                {
                    d.Vigencia = 0;
                }
                else
                {
                    d.Vigencia = Convert.ToInt32(txtVigencia.Text);
                }

                if (txtVencimentoVigencia.Text == "")
                {
                    d.VencimentoVigencia = new DateTime(1900, 1, 1);
                }
                else
                {
                    d.VencimentoVigencia = Convert.ToDateTime(txtVencimentoVigencia.Text);
                }

                if (txtDataEmissao.Text == "")
                {
                    d.DataEmissao = new DateTime(1900, 1, 1);
                }
                else
                {
                    d.DataEmissao = Convert.ToDateTime(txtDataEmissao.Text);
                }

                if (txtDataAssinatura.Text == "")
                {
                    d.DataAssinatura = new DateTime(1900, 1, 1);
                }
                else
                {
                    d.DataAssinatura = Convert.ToDateTime(txtDataAssinatura.Text);
                }

                if (txtDataPagamentoRecebimento.Text == "")
                {
                    d.DataPagamentoRecebimento = new DateTime(1900, 1, 1);
                }
                else
                {
                    d.DataPagamentoRecebimento = Convert.ToDateTime(txtDataPagamentoRecebimento.Text);
                }

                d.NumeroParcelas       = txtNumeroParcelas.Text;
                d.ValorPrevistoParcela = txtValorPrevistoParcela.Text;

                if (txtDescarte.Text == "")
                {
                    d.Descarte = new DateTime(1900, 1, 1);
                }
                else
                {
                    d.Descarte = Convert.ToDateTime(txtDescarte.Text);
                }

                dDAL.Alterar(d);

                Response.Write("<script language='JavaScript'>alert('Documento alterado com sucesso');window.parent.location='ListarDocumentos.aspx';</script>");
            }
            catch (Exception)
            { throw; }
        }
示例#8
0
 public Documento ObtenerDocumento()
 {
     return(Documento.ObtenerSubdocumento(ObtenerParrafoInicial(), ObtenerPosicionInicial(), ObtenerParrafoFinal(), ObtenerPosicionFinal()));
 }
示例#9
0
        public long Inserir(String marca, String modelo, String km, String AnoFabricacao, bool vidro, bool trava, bool automatico, int quantidadePortas, bool direcao, bool ar, String cor, String combustivel, String tanque, long categoria, String placa, String renavam, String chassi, String mesDataLicenciamento, String anoDataLicenciamento, long fornecedor)
        {
            if (marca == "")
            {
                MessageBox.Show("Verifique o campo: marca");
            }
            else if (modelo == "")
            {
                MessageBox.Show("Verifique o campo: modelo");
            }
            else if (km == "")
            {
                MessageBox.Show("Verifique o campo: km");
            }
            else if (AnoFabricacao != "")
            {
                MessageBox.Show("Verifique o campo: AnoFabricacao");
            }
            else if (cor == "")
            {
                MessageBox.Show("Verifique o campo: cor");
            }
            else if (combustivel == "")
            {
                MessageBox.Show("Verifique o campo: combustivel");
            }
            else if (tanque == "")
            {
                MessageBox.Show("Verifique o campo: tanque");
            }
            else if (categoria == 0 || categoria == -1)
            {
                MessageBox.Show("Verifique o campo: categoria");
            }
            else if (placa == "")
            {
                MessageBox.Show("Verifique o campo: placa");
            }
            else if (renavam == "")
            {
                MessageBox.Show("Verifique o campo: renavam");
            }
            else if (chassi == "")
            {
                MessageBox.Show("Verifique o campo: chassi");
            }
            else if (mesDataLicenciamento == "")
            {
                MessageBox.Show("Verifique o campo: mesDataLicenciamento");
            }
            else if (anoDataLicenciamento == "")
            {
                MessageBox.Show("Verifique o campo: anoDataLicenciamento");
            }
            else if (fornecedor == 0 || fornecedor == -1)
            {
                MessageBox.Show("Verifique o campo: fornecedor");
            }
            else
            {
                long id_veiculo = -1;

                using (TransactionScope transaction = new TransactionScope())
                {
                    try
                    {
                        Veiculo              veiculo           = new Veiculo();
                        Documento            documento         = new Documento();
                        VeiculoTemFornecedor veiculoFornecedor = new VeiculoTemFornecedor();

                        //Veiculo
                        veiculo.Marca             = marca;
                        veiculo.Modelo            = modelo;
                        veiculo.KM                = km;
                        veiculo.AnoFabricacao     = AnoFabricacao;
                        veiculo.VidroEletrico     = vidro;
                        veiculo.TravaEletrica     = trava;
                        veiculo.Automatico        = automatico;
                        veiculo.QuantidadePortas  = quantidadePortas;
                        veiculo.DirecaoHidraulica = direcao;
                        veiculo.ArCondicionado    = ar;
                        veiculo.Cor               = cor;
                        veiculo.CodigoCategoria   = categoria;
                        veiculo.Combustivel       = combustivel;
                        veiculo.Tanque            = tanque;
                        veiculo.Status            = 1;

                        id_veiculo = veiculoDAO.Inserir(veiculo);

                        //Documento
                        documento.Placa                = placa;
                        documento.Renavam              = renavam;
                        documento.CodigoVeiculo        = id_veiculo;
                        documento.MesDataLicenciamento = mesDataLicenciamento;
                        documento.AnoDataLicenciamento = anoDataLicenciamento;
                        documento.Chassi               = chassi;
                        documento.Status               = 1;

                        long id_documento = new DocumentoDAO().Inserir(documento);

                        //VeiculoTemFornecedor
                        veiculoFornecedor.CodigoFornecedor = fornecedor;
                        veiculoFornecedor.CodigoVeiculo    = id_veiculo;
                        veiculoFornecedor.Status           = 1;

                        long idVeiculoTemFornecedor = new VeiculoTemFornecedorDAO().Inserir(veiculoFornecedor);

                        transaction.Complete();
                    }

                    catch (TransactionException)
                    {
                    }
                }
                return(id_veiculo);
            }

            return(-1);
        }
示例#10
0
        public int UpdateDocumentos(Documento i)
        {
            try
            {

                    var ctx = bd.Documento.First(inm => inm.Id == i.Id);
                    ctx.Nombre = i.Nombre;
                    bd.SaveChanges();

                return 1;
            }

            catch (Exception ex)
            {
                return 0;
                throw;
            }
        }
        public IComandoResultado Manipulador(ComandoCriarAssinaturaBoleto comando)
        {
            // Fail Fast Validate
            comando.Validar();
            if (comando.Invalid)
            {
                AddNotifications(comando);
                return(new ComandoResultado(false, "Não foi possível realizar sua assinatura", comando));
            }

            // Verificar se Documento já esta Cadastrado
            if (_alunoRepositorio.DocumentoExiste(comando.Documento))
            {
                AddNotification("Documento", "Este documento já está em uso!");
            }

            // Verificar se Email ja esta cadastrado
            if (_alunoRepositorio.EmailExiste(comando.Documento))
            {
                AddNotification("Email", "Este e-mail já está em uso!");
            }

            //  Gerar os VOs (Valor Objeto)
            var documento = new Documento(comando.Documento, eTipoDocumento.CPF);
            var email     = new Email(comando.Email);
            var nome      = new Nome(comando.PrimeiroNome, comando.Sobrenome);
            var endereco  = new Endereco(comando.Descricao, comando.Numero, comando.Bairro, comando.Cidade, comando.Estado, comando.Pais, comando.Cep);

            // Gerar Entidades
            var aluno      = new Aluno(nome, documento, email);
            var assinatura = new Assinatura(DateTime.Now.AddMonths(1));
            var pagamento  = new PagamentoBoleto(
                comando.CodigoBarras,
                comando.NossoNumero,
                comando.DataPagamento,
                comando.DataExpiracao,
                comando.ValorTotal,
                comando.ValorPago,
                comando.Pagador,
                new Documento(comando.PagadorDocumento, comando.PagadorTipoDocumento),
                endereco, // Endereco correto é do pagador (comando. Informacoes do pagador)
                email);

            // Relacionamentos
            assinatura.AdicionarPagamento(pagamento);
            aluno.AdicionarAssinatura(assinatura);

            // Aplicar Validações
            AddNotifications(nome, documento, email, endereco, aluno, assinatura, pagamento);

            // Checar Notificacoes
            if (Invalid)
            {
                return(new ComandoResultado(false, "Não foi possível realizar sua assinatura!", aluno));
            }

            // Salvar Informacoes
            _alunoRepositorio.CriarAssinatura(aluno);

            // Enviar Email de boas-vindas
            _emailServico.Enviar(aluno.Nome.ToString(), aluno.Email.Endereco, "Bem Vindo!", "Sua assinatura foi criada!");

            // Retornar informacoes
            return(new ComandoResultado(true, "Assinatura realizada com sucesso!", aluno));
        }
示例#12
0
 /// <summary>
 /// Constructor del Helper, que expondrá metodos utiles para la operatoria con los documentos/reportes.
 /// </summary>
 /// <param name="unDocumento"></param>
 public DocumentoHelper(Documento unDocumento)
 {
     UnReporte = unDocumento;
 }
示例#13
0
        /// <summary>
        /// Metodo que notifica vía Correo que un documento ya esta disponible para descarga con sello electónico.
        /// </summary>
        /// <returns></returns>
        private bool NotificarDocumentoDisponibleConSello(Documento objDocumento, string[] correos)
        {
            ServiceEmail serviceMail = new ServiceEmail();


            string path           = User.Pathnsf;
            string title          = "Documento sellado y disponible - " + objDocumento.nombre;
            string body           = string.Empty;
            string tipo_documento = string.Empty;

            switch (objDocumento.id_tipo_documento)
            {
            case 2:
                tipo_documento = "la HOE";
                break;

            case 1002:
                tipo_documento = "la HII";
                break;

            case 1004:
                tipo_documento = "la ayuda visual";
                break;

            case 1007:
                tipo_documento = "la HMTE";
                break;

            case 1015:
                tipo_documento = "la JES";
                break;

            case 1010:
                tipo_documento = "la HVA";
                break;

            case 1011:
                tipo_documento = "la MIE";
                break;

            default:
                break;
            }

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que " + tipo_documento + " con el número <b> " + objDocumento.nombre + "</b> versión <b> " + objDocumento.version.no_version + ".0" + " </b> ya se encuentra disponible en el sistema <b> Diseño del proceso </b> con el sello correspondiente. </font> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Adicionalmente informo que se actualizo la matríz.</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Número : <b>" + objDocumento.nombre + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Descripción : <b>" + objDocumento.descripcion + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Versión : <b>" + objDocumento.version.no_version + ".0" + "</b></font></li>";
            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor solo responda en caso de que el documento sustituya a algún otro.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Nombre + " " + User.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            bool respuesta = serviceMail.SendEmailLotusCustom(path, correos, title, body);

            return(respuesta);
        }
示例#14
0
        public void Execute(Documento documento, ImagemReconhecida imagemReconhecida, List <int> camposBatidosId = null)
        {
            if (imagemReconhecida == null)
            {
                return;
            }

            var valoresReconhecidos = imagemReconhecida.ValoresReconhecidos;

            if (valoresReconhecidos == null)
            {
                return;
            }

            var camposDoDocumento = this.campoRepositorio.ObterPorTipoDocumentoComMapeamentoOcr(documento.TipoDocumento.Id);

            foreach (var valorReconhecido in valoresReconhecidos)
            {
                if (camposDoDocumento == null)
                {
                    break;
                }

                if (camposDoDocumento.Count == 0)
                {
                    break;
                }

                if (string.IsNullOrEmpty(valorReconhecido.Value))
                {
                    continue;
                }

                var encontrouMapeamento = false;
                foreach (var campoDoDocumento in camposDoDocumento)
                {
                    if (campoDoDocumento
                        .EstaMapeadoPara(valorReconhecido.CampoTemplate, valorReconhecido.TemplateName) == false)
                    {
                        continue;
                    }

                    encontrouMapeamento = true;
                    Log.Application.DebugFormat("Campo {0} mapeado para campo {1} do template {2}",
                                                campoDoDocumento.Description,
                                                valorReconhecido.CampoTemplate,
                                                valorReconhecido.TemplateName);

                    var indexacao   = documento.Indexacao.FirstOrDefault(x => x.Campo == campoDoDocumento);
                    var deveInserir = false;

                    if (indexacao == null)
                    {
                        if (campoDoDocumento.PodeInserirPeloOcr && string.IsNullOrEmpty(valorReconhecido.Value) == false)
                        {
                            deveInserir = true;
                        }
                        else
                        {
                            continue;
                        }
                    }

                    if (deveInserir)
                    {
                        //// TODO: revisar -2
                        indexacao = new Indexacao()
                        {
                            Campo                 = campoDoDocumento,
                            Documento             = documento,
                            PrimeiroValor         = valorReconhecido.Value,
                            OcrComplementou       = true,
                            DataPrimeiraDigitacao = DateTime.Now,
                            UsuarioPrimeiroValor  = -2
                        };

                        documento.Indexacao.Add(indexacao);
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(indexacao.ValorFinal) == false || string.IsNullOrWhiteSpace(indexacao.ValorFinal) == false)
                        {
                            continue;
                        }

                        if (indexacao.BateCom(valorReconhecido.Value))
                        {
                            indexacao.PrimeiroValor = indexacao.SegundoValor;
                            indexacao.ValorFinal    = indexacao.SegundoValor;
                            indexacao.ValorUtilizadoParaValorFinal = ValorUtilizadoParaValorFinal.SegundoValor;
                            indexacao.OcrComplementou       = true;
                            indexacao.DataPrimeiraDigitacao = DateTime.Now;

                            this.gravaLogDocumentoServico.Executar(
                                LogDocumento.AcaoDocumentoOcr,
                                documento.Id,
                                string.Format("Campo [{0}] complementado pelo ocr. Valor:[{1}]", campoDoDocumento.Description, BatimentoFullText.LimitaString(indexacao.SegundoValor.Trim(), 99)));
                        }
                        else
                        {
                            indexacao.PrimeiroValor         = string.Empty;
                            indexacao.ValorFinal            = string.Empty;
                            indexacao.DataPrimeiraDigitacao = DateTime.Now;
                        }
                    }

                    this.indexacaoRepositorio.Salvar(indexacao);
                }

                if (encontrouMapeamento == false)
                {
                    Log.Application.DebugFormat("ALERTA: campo {0} do template {1} não está mapeado para nenhum campo",
                                                valorReconhecido.CampoTemplate,
                                                valorReconhecido.TemplateName);
                }
            }

            ////batimento especial para campos de data (validade e emissao)
            try
            {
                this.BatimentoDatasDoAtestado(documento, valoresReconhecidos, camposDoDocumento);
            }
            catch (Exception exception)
            {
                Log.Application.Error(string.Format("Erro ao processar batimento de data do Atestado de Matricula- Documento #{0} ", documento.Id), exception);
            }

            ////batimento com fullTExt
            try
            {
                this.BaterUsandoFullText(documento, imagemReconhecida.Palavras);
            }
            catch (Exception exception)
            {
                Log.Application.Error(string.Format("Erro ao processar batimento full text de Atestado de Matricula - Documento #{0} ", documento.Id), exception);
            }
        }
示例#15
0
        public ICommandResult Handle(AssinaturaPayPalCommand command)
        {
            //fail fast validations
            command.Validate();

            if (command.Invalid)
            {
                AddNotifications(command);
                return(new CommandResult(false, "Não foi possível realizar sua assinatura."));
            }

            //Verificar se documento ja esta cadastrado
            if (estudanteRepository.DocumentoExiste(command.Documento))
            {
                AddNotification("Documento", "Este CPF já está em uso");
            }

            //verificar se email ja esta cadastrado
            if (estudanteRepository.EmailExiste(command.Documento))
            {
                AddNotification("Email", "Este E-mail já está em uso");
            }

            //gerar os vos
            var nome      = new Nome(command.PrimeiroNome, command.UltimoNome);
            var documento = new Documento(command.Numero, EDocumentoTipo.CPF);
            var email     = new Email(command.Email);
            var endereco  = new Endereco(command.Rua, command.Numero, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP);

            //gerar as entidades
            var estudante  = new Estudante(nome, documento, email);
            var assinatura = new Assinatura(DateTime.Now.AddMonths(1));
            var pagamento  = new PayPal(
                command.CodigoTransacao,
                command.DataPagamento,
                command.DataExpiracao,
                command.Total,
                command.TotalPago,
                command.Pagador,
                new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo),
                endereco,
                email);

            //relacionamentos
            assinatura.AdicionarPagamento(pagamento);
            estudante.AdicionarAssinatura(assinatura);

            //agrupar as validações
            AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento);

            if (Invalid)
            {
                return(new CommandResult(false, "Não foi possível realizar a sua assinatura"));
            }

            //salvar as informações
            estudanteRepository.CriarAssinatura(estudante);

            //enviar email de boas vindas
            emailService.Send(estudante.Nome.ToString(), estudante.Email.EnderecoEmail, "Bem vindo ao serviço de assinatura", "Sua assinatura foi criada com sucesso.");

            //retornar as informações
            return(new CommandResult(true, "Assinatura realizada com sucesso."));
        }
示例#16
0
        public void BaterUsandoFullText(Documento documento, IList <PalavraReconhecida> palavras)
        {
            if (palavras == null)
            {
                return;
            }

            if (palavras.Count == 0)
            {
                return;
            }

            var listaLimpa = new List <dynamic>();

            foreach (var regiao in palavras)
            {
                var palavraAtual = Equivalencia.LimpaConteudoNome(regiao.Texto);
                if (string.IsNullOrEmpty(palavraAtual) == false)
                {
                    ////listaLimpa.Add(new dynamic()
                    ////{
                    ////    Texto = palavraAtual,
                    ////    Localizacao = regiao.Localizacao
                    ////});
                }
            }

            Log.Application.DebugFormat("Documento {0} - Palavras: {1} ", documento.Id, BatimentoFullText.ImprimirLista(listaLimpa));

            if (listaLimpa.Count == 0)
            {
                return;
            }

            var camposSemValor1 = this.indexacaoRepositorio.ObterComMapeamentoPorDocumento(documento);

            if (camposSemValor1 == null)
            {
                return;
            }

            if (camposSemValor1.Count == 0)
            {
                return;
            }

            var ultimoCampo = new Campo();

            foreach (var indexacao in camposSemValor1)
            {
                if (ultimoCampo.Id == indexacao.Campo.Id || indexacao.PrimeiroValor != null)
                {
                    continue;
                }

                ultimoCampo = indexacao.Campo;
                var deveSalvar = false;
                switch (indexacao.Campo.Id)
                {
                default:
                    if (indexacao.BateComFullText(listaLimpa))
                    {
                        deveSalvar = true;
                    }

                    break;
                }

                if (deveSalvar)
                {
                    indexacao.PrimeiroValor = indexacao.SegundoValor;
                    indexacao.ValorFinal    = indexacao.SegundoValor;
                    indexacao.ValorUtilizadoParaValorFinal = ValorUtilizadoParaValorFinal.SegundoValor;
                    indexacao.OcrComplementou       = true;
                    indexacao.DataPrimeiraDigitacao = DateTime.Now;

                    this.gravaLogDocumentoServico.Executar(
                        LogDocumento.AcaoDocumentoOcr,
                        documento.Id,
                        string.Format("Campo [{0}] complementado pelo ocr-FT. Valor:[{1}]", indexacao.Campo.Description, BatimentoFullText.LimitaString(indexacao.SegundoValor.Trim(), 99)));

                    this.indexacaoRepositorio.Salvar(indexacao);
                }
            }
        }
示例#17
0
        public List<Documento> ListDocumentos()
        {
            try
            {
                List<Documento> lisb = bd.Documento.ToList();
                //bd.compromisosxcuota.ToList();
                List<Documento> lisbcrm = new List<Documento>();
                if (lisb.Count.Equals(0))
                {
                    return lisbcrm;
                }
                else
                {
                    foreach (var item in lisb)
                    {
                        Documento entb = new Documento();
                        entb.Id = item.Id;
                        entb.Id_Actividad = item.Id_Actividad;
                        entb.Nombre = item.Nombre;
                        lisbcrm.Add(entb);
                    }
                    return lisbcrm;
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
示例#18
0
 public void Indexar(Documento content)
 {
     this.client.Index(content);
 }
示例#19
0
 public int UpdateDocumento(Documento i)
 {
     return cl.UpdateDocumentos(i);
 }
示例#20
0
        private bool liberar(Documento objDocumento, Model.ControlDocumentos.Version objVersion)
        {
            Console.WriteLine("Deja empiezo a liberar el documento...");
            System.Threading.Thread.Sleep(3000);
            Console.WriteLine("Que tiempos aquellos cuando tenias que registrar uno por uno las liberaciones!!!");
            System.Threading.Thread.Sleep(5000);
            Console.WriteLine("Como ha cambiado el tiempo verdad?, tan fácil que es ahora.");
            System.Threading.Thread.Sleep(4000);

            //Ejecutamos el método para obtener el id de la versión anterior
            int last_version = DataManagerControlDocumentos.GetID_LastVersion(objDocumento.id_documento, objVersion.id_version);

            //si el documento sólo tiene una versión, se modifica el estatus del documento y la versión, se cambia el estatus a liberado.
            if (last_version == 0)
            {
                //Estatus de documento liberado
                objDocumento.id_estatus = 5;

                //Ejecutamos el método para actualizar el estatus del documento.
                int update_documento = DataManagerControlDocumentos.Update_EstatusDocumento(objDocumento);

                if (update_documento != 0)
                {
                    objVersion.id_estatus_version = 1;

                    //Ejecutamos el método para guardar la versión. El resultado lo guardamos en una variable local.
                    int update_version = DataManagerControlDocumentos.UpdateVersion(objVersion, User, objDocumento.nombre);

                    if (update_version != 0)
                    {
                        string file = SaveFile(objDocumento.id_tipo_documento, objDocumento.nombre, objVersion.no_version, objVersion.id_version);

                        if (file == null)
                        {
                            // Llamamos el método para eliminar los registros de la tabla TR_USUARIO_NOTIFICACION_VERSION por ID_VERSION, una vez que el documento sea liberado
                            DataManagerControlDocumentos.EliminarRegistroVersion(objVersion.id_version);
                        }
                        else
                        {
                            Console.WriteLine("Error al copiar el documento al servidor\nidVersion: " + objVersion.id_version);
                            return(false);
                        }
                    }
                    else
                    {
                        Console.WriteLine("Error al actualizar version\nidVersion : " + objVersion.id_version);
                        objDocumento.id_estatus = 2;
                        update_documento        = DataManagerControlDocumentos.Update_EstatusDocumento(objDocumento);
                        return(false);
                    }
                }
                else
                {
                    Console.WriteLine("Error al actualizar el estátus del documento\nidDocumento : " + objDocumento.id_documento);
                    objDocumento.id_estatus = 2;
                    return(false);
                }
            }
            else
            {
                //si el documento tiene más de un versión, sólo se modifica el estatus de la versión a liberado
                //la versión anterior se modifica el estatus a obsoleto.
                int fecha_actualizacion = DataManagerControlDocumentos.UpdateFecha_actualizacion(objDocumento.id_documento);

                objVersion.id_estatus_version = 1;
                objVersion.no_copias          = 0;


                //Ejecutamos el método para modificar el estatus de la versión. El resultado lo guardamos en una variable local.
                int update_version = DataManagerControlDocumentos.UpdateVersion(objVersion, User, objDocumento.nombre);

                if (update_version != 0)
                {
                    //obetemos el id de la versión anterior
                    int last_id = DataManagerControlDocumentos.GetID_LastVersion(objDocumento.id_documento, objVersion.id_version);

                    //Creamos un objeto para la versión anterior
                    Model.ControlDocumentos.Version lastVersion = new Model.ControlDocumentos.Version();

                    //asigamos el id y el estatus obsoleto
                    lastVersion.id_version         = last_id;
                    lastVersion.id_estatus_version = 2;

                    //Se obtienen el número de versión de la version anterior
                    lastVersion.no_version = DataManagerControlDocumentos.GetNum_Version(last_id);

                    //Ejecutamos el método para actualizar el estatus de la versión(liberamos el documento).
                    int update = DataManagerControlDocumentos.Update_EstatusVersion(lastVersion, User, objDocumento.nombre);

                    //si se actualizó correctamente
                    if (update != 0)
                    {
                        string file = SaveFile(objDocumento.id_tipo_documento, objDocumento.nombre, objVersion.no_version, objVersion.id_version);


                        //Si los registros fueron guardados exitosamente el archivo que queda como obsoleto se pasa a la carpeta de respaldo y se elimina de la base de datos
                        _LiberarEspacioBD(last_id);

                        // Llamamos el método para eliminar los registros de la tabla TR_USUARIO_NOTIFICACION_VERSION por ID_VERSION, una vez que el documento sea liberado
                        DataManagerControlDocumentos.EliminarRegistroVersion(objVersion.id_version);
                    }
                    else
                    {
                        Console.WriteLine("Error al copiar el documento al servidor\nidVersion:" + objVersion.id_version);
                        return(false);
                    }
                }
                else
                {
                    Console.WriteLine("Error al actualizar version\nidVersion : " + objVersion.id_version);
                    return(false);
                }
            }

            Console.WriteLine("Listo, el documento ya esta liberado");
            System.Threading.Thread.Sleep(3000);
            Console.WriteLine("Vamos al último paso");
            System.Threading.Thread.Sleep(3000);
            return(true);
        }
        private async void BtnAprobarDocumento_ClickedAsync(object sender, EventArgs e)
        {
            bool displayFlag = false;

            if (rol.Equals("1003") || rol.Equals("1004"))
            {
                //Bundle bundle = new Bundle();
                RevisionDocumento docDatos = new RevisionDocumento
                {
                    usuarioId   = Int32.Parse(usuarioId),
                    documentoId = documentoSeleccionado.DocumentoId,
                    esRechazado = "No",
                    observacion = "",
                    perfil      = rol,
                    nombre      = documentoSeleccionado.NombreArchivo.ToString()
                };
                var documentosEnTramite = new AprobarDocSubirDocumento(docDatos as RevisionDocumento);

                //await rootPage.Navigation.PushAsync(documentosEnTramite);
                //await App.Current.MainPage .Navigation.PushAsync(documentosEnTramite);
                //App.Current.MainPage = new AprobarDocSubirDocumento(docDatos as object);

                await Navigation.PushAsync(documentosEnTramite);

                await Task.Delay(200);

                await PopupNavigation.Instance.PopAllAsync();
            }
            else
            {
                var answer = await DisplayAlert("Confirmar", "Seguro que desea aprobar documento ?", "Si", "No");

                if (!answer)
                {
                    return;
                }

                String IP_LEGAL = App.Current.Properties["IpPublicado"].ToString();
                String url      = IP_LEGAL + "/legal/RevisionDocumento/RevizarDocumentoJson";
                var    post     = new
                {
                    usuarioId       = usuarioId,
                    documentoId     = documentoSeleccionado.DocumentoId,
                    esRechazado     = "No",
                    observacion     = "",
                    perfil          = rol,
                    fileImagenOrPdf = "",
                    nombre          = "",
                    esImagen        = false,
                };
                var service = new RestClient <Documento>();
                documento = await service.GetRestServicieDataPostAsync(url, post);

                ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data);

                //await DisplayAlert("Documento: " + datum.DocumentoId, documento.mensaje, "OK");
                String message = documento.mensaje;

                //if (Device.OS == TargetPlatform.Android)
                //{
                //    DependencyService.Get<IMessage>().ShortAlert(message);
                //}
                //if (Device.OS == TargetPlatform.iOS)
                //{
                //    DependencyService.Get<IMessage>().ShortAlert(message);
                //}

                #region Utilizando la libreria popup
                Rg.Plugins.Popup.Pages.PopupPage popupPage = new Rg.Plugins.Popup.Pages.PopupPage();
                Label label = new Label();
                label.Text      = message;
                label.TextColor = Color.White;
                //label.BackgroundColor = Color.FromHex("#232323");
                label.VerticalTextAlignment = TextAlignment.Center;

                label.HeightRequest = 48;

                //label.Margin = new Thickness(16, 0, 0, 0);
                var scaleAnimation = new ScaleAnimation
                {
                    PositionIn  = MoveAnimationOptions.Bottom,
                    PositionOut = MoveAnimationOptions.Bottom,
                    ScaleIn     = 2,
                    ScaleOut    = 2,
                    //DurationIn = 400,
                    //DurationOut = 800,
                    EasingIn = Easing.Linear,
                    HasBackgroundAnimation = true,
                };

                popupPage.Animation = scaleAnimation;
                popupPage.Content   = new FlexLayout
                {
                    Direction       = FlexDirection.Column,
                    JustifyContent  = FlexJustify.End,
                    BackgroundColor = Color.Transparent,

                    Margin = 0,
                    //Padding = new Thickness(16, 0, 0, 0),

                    HeightRequest = 50,
                    WidthRequest  = 70,
                    Children      =
                    {
                        new StackLayout
                        {
                            BackgroundColor = Color.FromHex("#232323"),
                            Margin          = 0,
                            Padding         = new Thickness(16, 0),
                            Children        =
                            {
                                label
                            }
                        }
                    }
                };
                //popupPage.HeightRequest = 50;


                await PopupNavigation.Instance.PushAsync(popupPage);

                await Task.Delay(2000);

                await PopupNavigation.Instance.PopAllAsync();

                #endregion fin usando la liberia popup
            }
        }
示例#22
0
        private List<Documento> GetNewCenters(Dictionary<Documento, List<Documento>> centerAssignments)
        {
            var newCenters = new List<Documento>();

            foreach (var center in centerAssignments.Keys)
            {
                var total = new double[_lstDocumentos[0].Terminos.Length];
                var average = new double[_lstDocumentos[0].Terminos.Length];

                for(var i=0; i<_lstDocumentos[0].Terminos.Length; i++)
                {
                    foreach (var doc in centerAssignments[center])
                    {
                        total[i] += doc.Terminos[i];
                    }

                    average[i] = total[i]/total.Length;
                }

                var newCenter = new Documento {Terminos = average};
                newCenters.Add(newCenter);
            }
            return newCenters;
        }
示例#23
0
        private bool notificarLiberacion(Documento objDocumento)
        {
            Console.WriteLine("Vamos a empezar a notificar por correo, ya para terminar, que ya me quiero echar otro sueño!");
            System.Threading.Thread.Sleep(5000);
            Console.WriteLine("Vamos verificando la gente que el dueño de documento quiere que le notifiquemos.");
            System.Threading.Thread.Sleep(4000);

            //Declaramos una lista la cual almacenará todos los id's de los usuarios que se van a notificar.
            List <string> lUsuariosNotificar = new List <string>();

            //Asignamos por default los id´s del dueño del documento así como del usuario que aprueba el documento.
            lUsuariosNotificar.Add(objDocumento.version.id_usuario_autorizo);
            lUsuariosNotificar.Add(objDocumento.version.id_usuario);

            //Declaramos una los con los usuarios que seleccionó el dueño de documento para notifcarles.
            ObservableCollection <DO_USUARIO_NOTIFICACION_VERSION> ListaUsuariosCorreoCompleta = DataManagerControlDocumentos.GetAllUsuariosNotificacionVersion(objDocumento.version.id_version);

            //Llenamos la lista con los id de los usuarios
            foreach (var item in ListaUsuariosCorreoCompleta)
            {
                lUsuariosNotificar.Add(item.id_usuario);
            }

            //Declaramos una lista con los usuarios suscritos a los cambios de este documento.
            ObservableCollection <DO_UsuarioSuscrito> ListaUsuariosSuscritos = DataManagerControlDocumentos.Get_UserSuscripDoc(objDocumento.id_documento);

            //Llenamos la lista con los id de los usuarios
            foreach (var item in ListaUsuariosSuscritos)
            {
                lUsuariosNotificar.Add(item.id_usuariosuscrito);
            }

            //Declaramos el vector el cual guardará los correos de los usuarios.
            string[] correos = new string[lUsuariosNotificar.Count];

            int i = 0;

            //Iteramos la lista con los id´s de los usuarios para obtener el correo.
            foreach (var item in lUsuariosNotificar)
            {
                string correo = DataManagerControlDocumentos.GetCorreoUsuario(item);
                correos[i] = correo;
                i++;
            }

            //Eliminamos correos duplicados
            correos = Module.EliminarCorreosDuplicados(correos);

            Console.WriteLine("Ok, Ok, listo ya tengo la lista, deja empiezo a armar el correo...");
            System.Threading.Thread.Sleep(3500);


            //Verificamos si son documentos Procedimientos y Formatos
            if (objDocumento.id_tipo_documento == 1003 || objDocumento.id_tipo_documento == 1005 || objDocumento.id_tipo_documento == 1006 || objDocumento.id_tipo_documento == 1012 || objDocumento.id_tipo_documento == 1013 || objDocumento.id_tipo_documento == 1014 || objDocumento.id_tipo_documento == 1011)
            {
                //Ejecutamos el método para obtener el id de la versión anterior
                int last_version = DataManagerControlDocumentos.GetID_LastVersion(objDocumento.id_documento, objDocumento.version.id_version);

                NotificarNuevaVersion(objDocumento, correos, last_version == 0 ? true : false);
            }
            else
            {
                string confirmacionCorreo = string.Empty;

                if (NotificarDocumentoDisponibleConSello(objDocumento, correos))
                {
                    //confirmacionCorreo = StringResources.msgNotificacionCorreo;
                    confirmacionCorreo = "TODO: Mensaje de confirmación de correo";
                }
                else
                {
                    //confirmacionCorreo = StringResources.msgNotificacionCorreoFallida;
                    confirmacionCorreo = "TODO:Mensaje de error al enviar correo";
                }

                //await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgMatrizActualizada + "\n" + confirmacionCorreo);
            }

            Console.WriteLine("Todo Ok, a enviar ahora si el correo....");
            System.Threading.Thread.Sleep(3000);
            Console.WriteLine("El correo se envió perrón!!");
            System.Threading.Thread.Sleep(3000);
            return(true);
        }
        protected override async void OnAppearing()
        {
            String    IP_LEGAL  = App.Current.Properties["IpPublicado"].ToString();
            Documento documento = new Documento();

            //https://dzone.com/articles/mobile-alerts-in-xamarin
            if (estadoNom.Equals("POR APROBAR"))
            {
                String servicio = "";
                if (rol.Equals("1003") || rol.Equals("1004"))
                {
                    servicio = "DocumentoPorResponsableRevisionListarExternoJson";
                }
                else
                {
                    servicio = "DocumentoPorEspecialistaListarExternoJson";
                }

                //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp";
                String url     = IP_LEGAL + "/legal/Documento/" + servicio + "?estadoProcesoId=" + estadoId + "&usuarioId=" + usuarioId;
                var    service = new RestClient <Documento>();
                documento = await service.GetRestServicieDataAsync(url);

                ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data);
                DocumentosEnTramite_List.ItemsSource = docDatas;
            }
            else if (estadoNom.Equals("APROBADOS"))
            {
                var post = new
                {
                    empleadoId = empleadoId,
                    perfil     = rol
                };
                String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosAprobadosApp";
                //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp";
                var service = new RestClient <Documento>();
                documento = await service.GetRestServicieDataPostAsync(url, post);

                ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data);
                DocumentosEnTramite_List.ItemsSource = docDatas;
            }
            else if (estadoNom.Equals("RECHAZADOS"))
            {
                var post = new
                {
                    empleadoId = empleadoId,
                    perfil     = rol
                };
                String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosRechazadosApp";

                //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp";
                var service = new RestClient <Documento>();
                documento = await service.GetRestServicieDataPostAsync(url, post);

                ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data);
                DocumentosEnTramite_List.ItemsSource = docDatas;
            }
            else if (estadoNom.Equals("STATUS TRAMITE"))
            {
                var post = new
                {
                    empleadoId = empleadoId
                };
                String url     = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp";
                var    service = new RestClient <Documento>();
                documento = await service.GetRestServicieDataPostAsync(url, post);

                docDatas = new ObservableCollection <Documento.Datum>(documento.data);
                DocumentosEnTramite_List.ItemsSource = docDatas;
            }

            else
            {
                String servicio = "";
                if (rol.Equals("1003") || rol.Equals("1004"))
                {
                    servicio = "DocumentoPorResponsableRevisionListarExternoJson";
                }
                else
                {
                    servicio = "DocumentoPorEspecialistaListarExternoJson";
                }

                //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp";
                String url     = IP_LEGAL + "/legal/Documento/" + servicio + "?estadoProcesoId=" + estadoId + "&usuarioId=" + usuarioId;
                var    service = new RestClient <Documento>();

                documento = await service.GetRestServicieDataAsync(url);

                ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data);
                DocumentosEnTramite_List.ItemsSource = docDatas;
            }
            #region Listener click a un item de la lista
            if (counter == 0)
            {
                DocumentosEnTramite_List.ItemSelected += async(sender, e) =>
                {
                    if (e.SelectedItem != null)
                    {
                        //popupListView.IsVisible = true;
                        documentoSeleccionado = (Documento.Datum)e.SelectedItem;

                        //todo poup nuevo xmal
                        //var animationPopup = new PopupPageDoc(e.SelectedItem as Documento.Datum);
                        //fin todo poup nuevo xmal

                        Rg.Plugins.Popup.Pages.PopupPage animationPopup = new Rg.Plugins.Popup.Pages.PopupPage();

                        var scaleAnimation = new ScaleAnimation
                        {
                            PositionIn  = MoveAnimationOptions.Bottom,
                            PositionOut = MoveAnimationOptions.Bottom,
                            ScaleIn     = 1,
                            ScaleOut    = 1,
                            //DurationIn = 400,
                            //DurationOut = 800,
                            EasingIn = Easing.Linear,
                            //EasingOut = Easing.CubicOut,
                            HasBackgroundAnimation = true,
                        };

                        Label Status = new Label
                        {
                            Text              = "Status: " + documentoSeleccionado.Status,
                            FontSize          = 13,
                            HorizontalOptions = LayoutOptions.Center,
                            Margin            = 2,
                            FontAttributes    = FontAttributes.Bold
                        };
                        Label NombreArchivo = new Label
                        {
                            Text              = "Nemonico: " + documentoSeleccionado.NombreArchivo,
                            FontSize          = 14,
                            HorizontalOptions = LayoutOptions.Center,
                            Margin            = 2
                        };
                        Label Nemonico = new Label
                        {
                            Text              = documentoSeleccionado.Nemonico,
                            FontSize          = 14,
                            HorizontalOptions = LayoutOptions.Center,
                            Margin            = 2
                        };
                        Label SubTipoServicio = new Label
                        {
                            Text              = "Tipo Contrato: " + documentoSeleccionado.SubTipoServicio,
                            FontSize          = 14,
                            HorizontalOptions = LayoutOptions.Center,
                            Margin            = 2
                        };
                        Label Fecha = new Label
                        {
                            Text              = documentoSeleccionado.FechaRegistroString,
                            TextColor         = Color.Brown,
                            FontSize          = 13,
                            HorizontalOptions = LayoutOptions.Center,
                            Margin            = 2
                        };
                        Button btnAprobarDocumento = new Button
                        {
                            Text            = "APROBAR DOCUMENTO",
                            BackgroundColor = Color.DarkGoldenrod,
                            HeightRequest   = 35,
                            VerticalOptions = LayoutOptions.CenterAndExpand,
                            TextColor       = Color.White
                        };
                        btnAprobarDocumento.Clicked += BtnAprobarDocumento_ClickedAsync;
                        Button btnCancelarDocumento = new Button
                        {
                            Text            = "RECHAZAR DOCUMENTO",
                            BackgroundColor = Color.OrangeRed,
                            HeightRequest   = 35,
                            VerticalOptions = LayoutOptions.CenterAndExpand,
                            TextColor       = Color.White
                        };
                        btnCancelarDocumento.Clicked += BtnCancelarDocumento_Clicked;
                        if (!estadoNom.Equals("POR APROBAR"))
                        {
                            btnAprobarDocumento.IsVisible  = false;
                            btnCancelarDocumento.IsVisible = false;
                        }
                        animationPopup.Content = new StackLayout
                        {
                            VerticalOptions   = LayoutOptions.Center,
                            HorizontalOptions = LayoutOptions.Center,
                            Padding           = 0,
                            Margin            = 0,
                            Children          =
                            {
                                new Frame
                                {
                                    Padding       = 15,
                                    HeightRequest = 300,
                                    WidthRequest  = 270,
                                    Content       = new StackLayout
                                    {
                                        Children =
                                        {
                                            Status,              NombreArchivo, Nemonico, SubTipoServicio, Fecha,
                                            btnAprobarDocumento, btnCancelarDocumento
                                        }
                                    }
                                }
                            }
                        };
                        animationPopup.Animation = scaleAnimation;
                        //PopupNavigation.PushAsync(animationPopup);
                        await PopupNavigation.Instance.PushAsync(animationPopup);

                        DocumentosEnTramite_List.SelectedItem = null;
                    }
                };
                counter++;
            }
            #endregion fin Listener

            base.OnAppearing();
        }
示例#25
0
        /// <summary>
        /// Método que notifica vía correo el alta de un documento.
        /// </summary>
        /// <returns></returns>
        private bool NotificarNuevaVersion(Documento objDocumento, string[] correos, bool isFirstVersion)
        {
            ServiceEmail SO_Email = new ServiceEmail();

            string path           = User.Pathnsf;
            string title          = "Alta de documento - " + objDocumento.nombre;
            string body           = string.Empty;
            string tipo_documento = string.Empty;

            switch (objDocumento.id_tipo_documento)
            {
            case 1003:
            case 1005:
            case 1006:
                tipo_documento = "la instrucción de trabajo";
                break;

            case 1012:
            case 1013:
            case 1014:
                tipo_documento = "el formato";
                break;

            default:
                break;
            }

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que " + tipo_documento + " con el número <b> " + objDocumento.nombre + "</b> versión <b> " + objDocumento.version.no_version + ".0" + " </b> ya se encuentra disponible en el sistema </font> <a href=\"http://sealed/frames.htm\">frames</a> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Adicionalmente informo que se actualizo la matríz.</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Número : <b>" + objDocumento.nombre + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Descripción : <b>" + objDocumento.version.descripcion_v + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Versión : <b>" + objDocumento.version.no_version + ".0" + "</b></font></li>";
            //body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Área del Frames en donde se inserto : <b>" + AreaFrames + "</b></font></li>";
            body += "</ul>";
            if (isFirstVersion)
            {
                body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">NOTA: Si este documento sustituye a algún otro, favor de notificarme para realizar la baja correspondiente.</font> </p>";
            }
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor solo responda en caso de que el documento sustituya a algún otro.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Nombre + " " + User.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a> </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            //Ejecutamos el método para notificar por correo
            bool respuesta = SO_Email.SendEmailLotusCustom(path, correos, title, body);

            return(respuesta);
        }
示例#26
0
            public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var user = await this.userManager.FindByNameAsync(request.Username);

                if (user == null)
                {
                    throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { mensaje = "No existe el usuario ingresado." });
                }

                var existeOtroUsuario = await this.context.Users.Where(u => u.Email == request.Email && u.UserName != request.Username).AnyAsync();

                if (existeOtroUsuario)
                {
                    throw new ManejadorExcepcion(HttpStatusCode.InternalServerError, new { mensaje = "Ya existe ese mail en otro usuario" });
                }

                if (request.ImagenPerfil != null)
                {
                    var userIdGuid      = new Guid(user.Id);
                    var resultadoImagen = await this.context.Documento.Where(d => d.ObjetoReferencia == userIdGuid).FirstOrDefaultAsync();

                    if (resultadoImagen == null)
                    {
                        var imagen = new Documento
                        {
                            DocumentoId      = Guid.NewGuid(),
                            Contenido        = Convert.FromBase64String(request.ImagenPerfil.Data),
                            Nombre           = request.ImagenPerfil.Nombre,
                            Extension        = request.ImagenPerfil.Extension,
                            ObjetoReferencia = userIdGuid,
                            FechaCreacion    = DateTime.UtcNow
                        };

                        await this.context.Documento.AddAsync(imagen);
                    }
                    else
                    {
                        resultadoImagen.Contenido        = Convert.FromBase64String(request.ImagenPerfil.Data);
                        resultadoImagen.Nombre           = request.ImagenPerfil.Nombre;
                        resultadoImagen.Extension        = request.ImagenPerfil.Extension;
                        resultadoImagen.ObjetoReferencia = userIdGuid;
                    }

                    await this.context.SaveChangesAsync(); //???
                }

                user.NombreCompleto = request.NombreCompleto;
                user.PasswordHash   = this.passwordHasher.HashPassword(user, request.Password);
                user.Email          = request.Email;
                var resultado = await this.userManager.UpdateAsync(user);


                if (resultado.Succeeded)
                {
                    var imagenPerfil = await this.context.Documento.Where(x => x.ObjetoReferencia == new Guid(user.Id)).FirstOrDefaultAsync();

                    ImagenGeneral imagenUsuario = null;
                    if (imagenPerfil != null)
                    {
                        imagenUsuario = new ImagenGeneral
                        {
                            Data      = Convert.ToBase64String(imagenPerfil.Contenido),
                            Nombre    = imagenPerfil.Nombre,
                            Extension = imagenPerfil.Extension
                        };
                    }

                    var roles = await this.userManager.GetRolesAsync(user);

                    return(new UsuarioData
                    {
                        NombreCompleto = user.NombreCompleto,
                        Email = user.Email,
                        UserName = user.UserName,
                        Token = this.jwtGenerador.CrearToken(user, new List <string>(roles)),
                        ImagenPerfil = imagenUsuario
                    });
                }


                throw new Exception("Ocurrio un error al actualizar el usuario");
            }
示例#27
0
 public VentanaVerDocsSocioVentas(Documento documentoventa)
 {
     InitializeComponent();
     CargarDatgridDetallesVentas(documentoventa.Servicios);
 }
        private void BaixarPaginasParaProcessamentoDoRecognitionAbbyy(Documento documento)
        {
            var listaPaginas = this.paginaRepositorio.ObterPorDocumento(documento).Where(x => x.Status != PaginaStatus.StatusExcluida);

            if (listaPaginas.Any() == false)
            {
                throw new Exception(string.Format("Não há paginas para documento #{0}, Lote #{1}:", documento.Id, documento.Lote.Id));
            }

            var pathDestinoTempRaiz = Path.Combine(Contexto.PastaInboxRecognitionTemp, string.Format("LOTE_{0}_MDOC_{1}", documento.Lote.Id, documento.Id));

            foreach (var pagina in listaPaginas)
            {
                var nomeArquivo     = string.Format("{0:000000000}.{1}", pagina.Id, pagina.TipoArquivo.ToUpper());
                var pathDestinoTemp = Path.Combine(pathDestinoTempRaiz, nomeArquivo);
                try
                {
                    this.baixaArquivoFileTransferServico.BaixarArquivoNaPasta(pagina.Id, pagina.TipoArquivo, pathDestinoTemp, false);
                }
                catch (Exception exception)
                {
                    Log.Application.ErrorFormat("Arquivo não foi baixado do FT. Pagina #{0}. erro:{1}", pagina.Id, exception);
                    var mensagemErro = exception.Message;
                    if (exception.Message.Length > 200)
                    {
                        mensagemErro = exception.Message.Substring(0, 200);
                    }

                    this.gravaLogDaPaginaServico.Executar(
                        LogPagina.AcaoErroDownloadFileTransfer,
                        pagina.Id,
                        documento.Id,
                        string.Format("Erro FT durante download inbox OCR: {0}", mensagemErro));

                    throw;
                }
            }

            var pathDestino = Path.Combine(Contexto.PastaInboxRecognition, string.Format("LOTE_{0}_MDOC_{1}", documento.Lote.Id, documento.Id));
            //// copiar para path de destino ABBYY
            var listaArquivos = Directory.GetFiles(pathDestinoTempRaiz, "*.*", SearchOption.AllDirectories);

            Log.Application.InfoFormat("Copiando para pasta Inbox ABBYY. total de arquivos: {0}", listaArquivos.Length);

            foreach (string newPath in listaArquivos)
            {
                try
                {
                    Directories.CreateIfNotExist(pathDestino);
                    File.Copy(newPath, newPath.Replace(pathDestinoTempRaiz, pathDestino), true);
                }
                catch (Exception exception)
                {
                    var numeroDoc = Path.GetFileNameWithoutExtension(newPath);

                    var mensagemErro = exception.Message;
                    if (exception.Message.Length > 200)
                    {
                        mensagemErro = exception.Message.Substring(0, 200);
                    }

                    this.gravaLogDaPaginaServico.Executar(
                        LogPagina.AcaoErroCopiarParaAbbyy,
                        Convert.ToInt32(numeroDoc),
                        documento.Id,
                        string.Format("Erro ao copiar para ABBYY: {0}", mensagemErro));

                    throw;
                }
            }

            //// apagar pasta temp
            try
            {
                Directories.DeleteIfExist(pathDestinoTempRaiz);
            }
            catch (Exception exception)
            {
                Log.Application.ErrorFormat("Erro ao apagar pasta temp. Erro:{0}", exception);
            }
        }
            public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var usuario = await userManager.FindByNameAsync(request.UserName);

                if (usuario is null)
                {
                    throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { mensaje = "No se encontro el usuario" });
                }

                var existeEmail = await context.Users.Where(x => x.Email == request.Email && x.UserName != request.UserName).AnyAsync();

                if (existeEmail)
                {
                    throw new ManejadorExcepcion(HttpStatusCode.InternalServerError, new { mensaje = "este email pertenece a otro usuario" });
                }

                if (request.ImagenPerfil != null)
                {
                    var resultadoImagen = await context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync();

                    if (resultadoImagen is null)
                    {
                        var imagen = new Documento
                        {
                            Contenido        = Convert.FromBase64String(request.ImagenPerfil.Data),
                            Nombre           = request.ImagenPerfil.Nombre,
                            Extension        = request.ImagenPerfil.Extension,
                            ObjetoReferencia = new Guid(usuario.Id),
                            DocumentoId      = Guid.NewGuid(),
                            FechaCreacion    = DateTime.UtcNow
                        };
                        context.Documento.Add(imagen);
                    }
                    else
                    {
                        resultadoImagen.Contenido = Convert.FromBase64String(request.ImagenPerfil.Data);
                        resultadoImagen.Nombre    = request.ImagenPerfil.Nombre;
                        resultadoImagen.Extension = request.ImagenPerfil.Extension;
                    }
                }

                usuario.NombreCompleto = request.NombreCompleto;
                usuario.PasswordHash   = passwordHasher.HashPassword(usuario, request.Password);
                usuario.Email          = request.Email;

                var resultado = await userManager.UpdateAsync(usuario);

                var usuarioRoles = await userManager.GetRolesAsync(usuario);

                var imagenPerfil = await context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync();

                ImagenGeneral imagenCliente = null;

                if (imagenPerfil != null)
                {
                    imagenCliente = new ImagenGeneral
                    {
                        Data      = Convert.ToBase64String(imagenPerfil.Contenido),
                        Extension = imagenPerfil.Extension,
                        Nombre    = imagenPerfil.Nombre
                    };
                }

                if (resultado.Succeeded)
                {
                    return new UsuarioData
                           {
                               NombreCompleto = usuario.NombreCompleto,
                               UserName       = usuario.UserName,
                               Email          = usuario.Email,
                               Token          = jwtGenerador.CrearToken(usuario, usuarioRoles.ToList()),
                               ImagenPerfil   = imagenCliente
                           }
                }
                ;

                throw new Exception("No se pudo actualizar el usuario");
            }
        }
        public async System.Threading.Tasks.Task <ActionResult> Create(Finiquito model, HttpPostedFileBase[] files, string[] documento, int id_cliente_, int id_usuario_)
        {
            try
            {
                var     clie    = _db.Cliente.FirstOrDefault(x => x.id_cliente == id_cliente_);
                Novedad novedad = new Novedad();
                novedad.usuario_mod   = SesionLogin().id;
                novedad.id_cliente    = clie.id_cliente;
                novedad.fecha_mod     = DateTime.Now;
                novedad.tipo_nov      = 6;
                novedad.fecha_novedad = DateTime.Now;
                novedad.estado        = "P";
                novedad.comentario    = model.Novedad.comentario;
                model.Novedad         = novedad;
                model.id_usu          = id_usuario_;
                model.fecha_fin       = DateTime.Now;    //Debo ingresar una fecha
                model.causal          = "CAUSAFORTUITO"; //Debo ingresar una causa (Cambios a revisas post revision de nick y philip)
                var usu = _db.Usuario.FirstOrDefault(x => x.id == model.id_usu);
                _db.Novedad.Add(novedad);
                _db.SaveChanges();
                model.id_novedad = novedad.id_novedad;
                _db.Finiquito.Add(model);
                _db.SaveChanges();
                if (files[0] == null)
                {
                    return(JsonExito());
                }
                int i = 0;
                foreach (var item in files)// TODO
                {
                    if (item == null || documento[i] == "")
                    {
                        break;
                    }
                    else
                    {
                        Documento documento_ = new Documento();
                        documento_.Novedad              = novedad;
                        documento_.Cliente              = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente);
                        documento_.id_novedad           = model.id_novedad;
                        documento_.categoria            = documento[i];
                        documento_.id_usu               = SesionLogin().id;
                        documento_.Novedad.Tipo_novedad = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == novedad.tipo_nov);
                        try { helper.createFile(item, documento_); } catch (Exception e) { App_Start.ErrorService.LogError(e); }
                        i++;
                    }
                }
                int id_nov = model.id_novedad;

                //var casillas = (from nov in _db.Novedad join uc in _db.Usuario_Cliente on nov.id_cliente equals uc.id_cliente
                //                join u in _db.Usuario on uc.id_usu equals u.id where u.id_tipo_usu == 2 && nov.id_novedad == id_nov
                //                select u).ToList();

                var usuarios_payroll = (from u in _db.Usuario
                                        join uc in _db.Usuario_Cliente on u.id equals uc.id_usu
                                        where uc.id_cliente == novedad.id_cliente && u.id_tipo_usu == 2 && u.estado == 1
                                        select u).ToList();
                if (!usuarios_payroll.Any())
                {
                    throw new Exception(App_GlobalResources.Pay_Lenguaje.no_hay_contraparte);
                }

                List <Task> sendTask = new List <Task>();
                foreach (var item in usuarios_payroll)
                {
                    string mensaje = "Estimado(a) :" + item.Nom_usu + ",</br></br>Te informamos que en nuestro Payroll Portal, se ha generado una solicitud de finiquito con fecha de hoy " + DateTime.Now.ToShortDateString() + ", a continuación la informacion del colaborador, </br></br>Nombre completo: " + usu.Nom_usu + ".</ br > Rut: " + usu.rut + ".</ br > Empresa: " + clie.nom_emp + ".</br></br>Agradeceríamos que lo revisaras. </br></br>Saludos y gracias, </br></br></br></br>Este correo es informativo, favor no responder a esta dirección de correo, ya que no se encuentra habilitada para recibir mensajes. </br></br>";
                    string detalle = "</br></br> Dear Mr./ Ms. " + item.Nom_usu + ",</br></br>We inform you that in our Payroll Portal, A settlement request has been generated with today's date" + DateTime.Now.ToShortDateString() + ", below the information of the collaborator, </br></br>Full name:  " + usu.Nom_usu + ".</ br > Card Id: " + usu.rut + ".</ br > Company: " + clie.nom_emp + ".</br></br>We would appreciate it if you would review it. </br></br>Greetings and thank you, </br></br>This email is informative, please do not reply to this email address, as it´s not able to receive messages. </br></br>";
                    sendTask.Add(App_Start.Helper.SendEmail("*****@*****.**", item.email, "Solicitud de finiquito terminada / Completed settlement request", mensaje, detalle));
                    helper.registraEmail(item.id, "*****@*****.**", item.email, "Solicitud de finiquito terminada / Completed settlement request", mensaje + " " + detalle);
                }
                await Task.WhenAll(sendTask);

                return(JsonExito());
                //if (!helper.ValidaIngresoNovedad(id_cliente_))
                //{
                //    return JsonExitoMsg("Este registro se proceso pero conlleva un SNR ", "SNR");
                //}
                //else
                //{
                //    return JsonExito();
                //}
            }
            catch (Exception err)
            {
                return(JsonError(err.Message, err));
            }
        }
示例#31
0
 public string ObtenerTexto(IEscritor escritor)
 {
     return(Documento.ObtenerTexto(escritor, ObtenerParrafoInicial(), ObtenerPosicionInicial(), ObtenerParrafoFinal(), ObtenerPosicionFinal()));
 }
        public async System.Threading.Tasks.Task <ActionResult> finiquitarMasivo(int?[] listado_usuarios, HttpPostedFileBase[] files, int?id_cliente /*, string causal*/, string comentarios /*,DateTime fecha_fin*/)
        {
            try
            {
                if (listado_usuarios == null)
                {
                    throw new Exception("Debe seleccionar a un colaborador.");
                }

                Novedad novedad = new Novedad();
                novedad.id_cliente    = (int)id_cliente;
                novedad.fecha_mod     = DateTime.Now;
                novedad.tipo_nov      = 6;
                novedad.fecha_novedad = DateTime.Now;
                novedad.usuario_mod   = SesionLogin().id;
                novedad.estado        = "P";
                novedad.comentario    = comentarios;
                _db.Novedad.Add(novedad);
                _db.SaveChanges();
                Finiquito finiquito = new Finiquito();
                Documento docu      = new Documento();

                foreach (var usuario in listado_usuarios)// TODO
                {
                    finiquito.Novedad    = novedad;
                    finiquito.fecha_fin  = DateTime.Now;    //Debo ingresar una fecha
                    finiquito.causal     = "CAUSAFORTUITO"; //Debo ingresar una causa (Cambios a revisas post revision de nick y philip)
                    finiquito.id_novedad = novedad.id_novedad;
                    finiquito.id_usu     = (int)usuario;
                    _db.Finiquito.Add(finiquito);
                    _db.SaveChanges();
                }

                docu.Novedad              = novedad;
                docu.Cliente              = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente);
                docu.categoria            = "CAUSAFORTUITO";
                docu.id_novedad           = novedad.id_novedad;
                docu.id_usu               = SesionLogin().id;
                docu.estado_aprov         = "P";
                docu.id_cliente           = (int)id_cliente;
                docu.Novedad.Tipo_novedad = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == novedad.tipo_nov);
                var clien = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente);
                _db.SaveChanges();

                try { helper.createFile(files[0], docu); } catch (Exception e) { App_Start.ErrorService.LogError(e); }

                var usuarios_payroll = (from u in _db.Usuario
                                        join uc in _db.Usuario_Cliente on u.id equals uc.id_usu
                                        where uc.id_cliente == novedad.id_cliente && u.id_tipo_usu == 2 && u.estado == 1
                                        select u).ToList();
                if (!usuarios_payroll.Any())
                {
                    throw new Exception(App_GlobalResources.Pay_Lenguaje.no_hay_contraparte);
                }

                var list_usu = (from f in _db.Finiquito
                                join u in _db.Usuario on f.id_usu equals u.id
                                where f.id_novedad == novedad.id_novedad
                                select u).ToList();

                List <Task> sendTask = new List <Task>();
                foreach (var item in usuarios_payroll)
                {
                    var mensaje_esp = "";
                    //var mensaje_ing = "";
                    foreach (var f in list_usu)//Recorre todos lo finiquitos asociados a una novedad.
                    {
                        mensaje_esp = mensaje_esp + "</br></br>Nombre completo: " + f.Nom_usu + " " + " .</br> Rut: " + f.rut + ".";
                        //mensaje_ing = mensaje_ing + "</br></br>Full Name: " + f.Nom_usu + " " + " .</br> ID Card: " + f.rut + " .</br>";
                    }
                    //string detalle = "Dear" + item.Nom_usu + ",</br></br>Please be informed that " + SesionLogin().Nom_usu + "received information from " + clien.nom_emp + " regarding the following employment termination(s): " + mensaje_ing + "</br></br>Kind regards and thanks, </br></br>*Please note that this email is an automated notification, which is unable to receive replies. If you have any questions please contact your Payroll team.</br></br>-----------------------</br>";
                    string detalle = "";
                    string mensaje = "Estimado(a): " + item.Nom_usu + ",</br>Te informamos que con fecha " + novedad.fecha_novedad.ToLongDateString() + " " + SesionLogin().Nom_usu + " ha cargado información en el Portal Payroll correspondiente al siguiente finiquito: " + mensaje_esp + "</br></br>Favor no olvide considerar esta información para el proceso de remuneraciones para " + clien.nom_emp + "</br></br>Saludos y gracias, </br></br>Este correo es informativo, favor no responder a esta dirección de correo, ya que no se encuentra habilitada para recibir mensajes.</br>";
                    await Helper.SendEmail("*****@*****.**", item.email, clien.Nom_cor_emp + " | Información de Finiquitos", mensaje, detalle);

                    helper.registraEmail(item.id, "*****@*****.**", item.email, clien.Nom_cor_emp + " | Información de Finiquitos", mensaje + " " + detalle);
                    await Task.WhenAll(sendTask);
                }
                return(JsonExitoMsg("Registro cursado con éxito!", "Mensaje"));
            }
            catch (Exception e)
            {
                return(JsonError(e.Message, e));
            }
        }
示例#33
0
        public bool Atualizar(long codVeiculo, long codCategoria, long codFornecedor, String marca, String modelo, String km, String AnoFabricacao, bool vidro, bool trava, bool automatico, int quantidadePortas, bool direcao, bool ar, String cor, String combustivel, String tanque, long categoria, String placa, String renavam, String chassi, String mesDataLicenciamento, String anoDataLicenciamento)
        {
            if (codCategoria == -1 || codCategoria == 0)
            {
                MessageBox.Show("Verifique o campo: Categoria");
            }
            else if (codFornecedor == -1 || codFornecedor == 0)
            {
                MessageBox.Show("Verifique o campo: Fornecedor");
            }
            else if (marca == "")
            {
                MessageBox.Show("Verifique o campo: marca");
            }
            else if (modelo == "")
            {
                MessageBox.Show("Verifique o campo: modelo");
            }
            else if (km == "")
            {
                MessageBox.Show("Verifique o campo: KM");
            }
            else if (AnoFabricacao == "")
            {
                MessageBox.Show("Verifique o campo: Ano de Fabricação");
            }

            else if (cor == "")
            {
                MessageBox.Show("Verifique o campo: Cor");
            }

            else if (combustivel == "")
            {
                MessageBox.Show("Verifique o campo: combustível");
            }

            else if (tanque == "")
            {
                MessageBox.Show("Verifique o campo: tanque");
            }

            else if (placa == "")
            {
                MessageBox.Show("Verifique o campo: Placa");
            }

            else if (renavam == "")
            {
                MessageBox.Show("Verifique o campo: Renavam");
            }

            else if (chassi == "")
            {
                MessageBox.Show("Verifique o campo: Chassi");
            }

            else if (mesDataLicenciamento == "")
            {
                MessageBox.Show("Verifique o campo: Mês Licenciamento");
            }
            else if (anoDataLicenciamento == "")
            {
                MessageBox.Show("Verifique o campo: Ano Licenciamento");
            }
            else
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    try
                    {
                        Veiculo              veiculo           = new Veiculo();
                        Documento            documento         = new Documento();
                        VeiculoTemFornecedor veiculoFornecedor = new VeiculoTemFornecedor();

                        //Veiculo
                        veiculo.CodigoVeiculo     = codVeiculo;
                        veiculo.Marca             = marca;
                        veiculo.Modelo            = modelo;
                        veiculo.KM                = km;
                        veiculo.AnoFabricacao     = AnoFabricacao;
                        veiculo.VidroEletrico     = vidro;
                        veiculo.TravaEletrica     = trava;
                        veiculo.Automatico        = automatico;
                        veiculo.QuantidadePortas  = quantidadePortas;
                        veiculo.DirecaoHidraulica = direcao;
                        veiculo.ArCondicionado    = ar;
                        veiculo.Cor               = cor;
                        veiculo.CodigoCategoria   = categoria;
                        veiculo.Combustivel       = combustivel;
                        veiculo.Tanque            = tanque;
                        veiculo.Status            = 1;

                        //Documento
                        documento.Placa                = placa;
                        documento.Renavam              = renavam;
                        documento.CodigoVeiculo        = codVeiculo;
                        documento.MesDataLicenciamento = mesDataLicenciamento;
                        documento.AnoDataLicenciamento = anoDataLicenciamento;
                        documento.Chassi               = chassi;
                        documento.Status               = 1;
                        Documento documentoCod = new DocumentoDAO().Buscar(codVeiculo);
                        documento.CodigoDocumento = documentoCod.CodigoDocumento;

                        //VeiculoTemFornecedor
                        VeiculoTemFornecedor docCodigo = new VeiculoTemFornecedorDAO().Buscar(codVeiculo);
                        veiculoFornecedor.CodigoVeiculoTemFornecedor = docCodigo.CodigoVeiculoTemFornecedor;
                        veiculoFornecedor.CodigoFornecedor           = codFornecedor;
                        veiculoFornecedor.CodigoVeiculo = codVeiculo;
                        veiculoFornecedor.Status        = 1;

                        new VeiculoDAO().Atualizar(veiculo);
                        new DocumentoDAO().Atualizar(documento);
                        new VeiculoTemFornecedorDAO().Atualizar(veiculoFornecedor);

                        transaction.Complete();
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Houve um erro " + ex);
                        return(false);
                    }
                }
            }
            return(false);
        }
        public async System.Threading.Tasks.Task <ActionResult> ProcesaDocumentoPendiente(Finiquito model, HttpPostedFileBase[] files, int id_novedad)
        {
            try
            {
                var novedad   = _db.Novedad.FirstOrDefault(x => x.id_novedad == id_novedad);
                var finiquito = _db.Finiquito.Where(x => x.id_novedad == id_novedad);
                novedad.estado           = "P";
                novedad.fecha_mod        = DateTime.Now;
                novedad.usuario_mod      = SesionLogin().id;
                _db.Entry(novedad).State = System.Data.Entity.EntityState.Modified;
                _db.SaveChanges();
                var clien = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente);
                if (files[0] == null)
                {
                    throw new Exception("Debe Ingresar un documento");
                }
                else
                {
                    int i = 0;
                    foreach (var item in files)// TODO
                    {
                        Documento documento_ = new Documento();
                        documento_.Novedad              = novedad;
                        documento_.Cliente              = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente);
                        documento_.id_novedad           = id_novedad;
                        documento_.categoria            = finiquito.First().causal;
                        documento_.id_usu               = SesionLogin().id;
                        documento_.Novedad.Tipo_novedad = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == novedad.tipo_nov);
                        try { helper.createFile(item, documento_); } catch (Exception e) { App_Start.ErrorService.LogError(e); }
                        i++;
                    }
                    //return JsonExito();
                }

                var usuarios_payroll = (from u in _db.Usuario
                                        join uc in _db.Usuario_Cliente on u.id equals uc.id_usu
                                        where uc.id_cliente == novedad.id_cliente && u.id_tipo_usu == 2 && u.estado == 1
                                        select u).ToList();
                if (!usuarios_payroll.Any())
                {
                    throw new Exception(App_GlobalResources.Pay_Lenguaje.no_hay_contraparte);
                }

                var list_usu = (from f in _db.Finiquito
                                join u in _db.Usuario on f.id_usu equals u.id
                                where f.id_novedad == novedad.id_novedad
                                select u).ToList();

                List <Task> sendTask = new List <Task>();
                foreach (var item in usuarios_payroll)
                {
                    var mensaje_esp = "";
                    //var mensaje_ing = "";
                    foreach (var f in list_usu)//Recorre todos lo finiquitos asociados a una novedad.
                    {
                        mensaje_esp = mensaje_esp + "</br></br>Nombre completo: " + f.Nom_usu + " " + " .</br> Rut: " + f.rut + ".";
                        //mensaje_ing = mensaje_ing + "</br></br>Full Name: " + f.Nom_usu + " " + " .</br> ID Card: " + f.rut + " .</br>";
                    }
                    //string detalle = "Dear" + item.Nom_usu + ",</br></br>Please be informed that " + SesionLogin().Nom_usu + "received information from " + clien.nom_emp + " regarding the following employment termination(s): " + mensaje_ing + "</br></br>Kind regards and thanks, </br></br>*Please note that this email is an automated notification, which is unable to receive replies. If you have any questions please contact your Payroll team.</br></br>-----------------------</br>";
                    string detalle = "";
                    string mensaje = "Estimado(a): " + item.Nom_usu + ",</br>Te informamos que con fecha " + novedad.fecha_novedad.ToLongDateString() + " " + SesionLogin().Nom_usu + " ha cargado información en el Portal Payroll correspondiente al siguiente finiquito: " + mensaje_esp + "</br></br>Favor no olvide considerar esta información para el proceso de remuneraciones para " + clien.nom_emp + "</br></br>Saludos y gracias, </br></br>Este correo es informativo, favor no responder a esta dirección de correo, ya que no se encuentra habilitada para recibir mensajes.</br>";
                    await Helper.SendEmail("*****@*****.**", item.email, clien.Nom_cor_emp + " | Información de Finiquitos", mensaje, detalle);

                    helper.registraEmail(item.id, "*****@*****.**", item.email, clien.Nom_cor_emp + " | Información de Finiquitos", mensaje + " " + detalle);
                    await Task.WhenAll(sendTask);
                }
                return(JsonExito());
            }
            catch (Exception err)
            {
                return(JsonError(err.Message, err));
            }
        }
示例#35
0
 public void Transformar(Documento documento)
 {
     documento.Numero = "000.000.000-00";
 }
示例#36
0
        private Entrada getEntradaFormValues(bool EsCompartida = false)
        {
            Entrada o = new Entrada();

            try
            {
                List <Entrada_documento>  lstEntDoc  = JsonConvert.DeserializeObject <List <Entrada_documento> >(hf_entradaDocumento.Value);
                List <Entrada_compartida> lstEntComp = JsonConvert.DeserializeObject <List <Entrada_compartida> >(hf_arribo_compartido.Value);
                List <Entrada_transporte> lstEntTran = JsonConvert.DeserializeObject <List <Entrada_transporte> >(hf_entradaTransporte.Value);
                if (lstEntTran.Count == 0)
                {
                    throw new Exception("Es necesario agregar al menos un trasporte");
                }

                if (lstEntDoc == null)
                {
                    lstEntDoc = new List <Entrada_documento>();
                }

                if (lstEntComp == null)
                {
                    lstEntComp = new List <Entrada_compartida>();
                }

                int numero;

                //Usuario
                o.PUsuario = ((MstCasc)this.Master).getUsrLoged();

                //Bodega
                o.Id_bodega = ((MstCasc)this.Master).getUsrLoged().Id_bodega;
                numero      = 0;

                //Fecha
                o.Fecha = DateTime.Today;

                //Hora
                o.Hora = txt_hora_llegada.Text;

                //Cortina
                int.TryParse(ddlCortina.SelectedValue, out numero);
                o.Id_cortina = numero;
                numero       = 0;

                //Cliente
                o.Id_cliente = 1; //Avon 1
                numero       = 0;

                //Referencia
                o.Referencia = txt_referencia.Text;

                //Origen
                o.Origen = txt_origen.Text;

                //Mercancia
                o.Mercancia = txt_mercancia.Text;

                //Listado de transportes de la entrada
                o.PLstEntTrans = lstEntTran;

                //Sello
                o.Sello = txt_sello.Text;

                //Talon
                o.Talon = txt_talon.Text;

                //Custodia
                int.TryParse(ddlCustodia.SelectedValue, out numero);
                o.Id_custodia = numero;
                numero        = 0;

                //Tipo Carga
                int.TryParse(ddlTipoCarga.SelectedValue, out numero);
                o.Id_tipo_carga = numero;
                numero          = 0;

                //Operador de la custodia
                o.Operador = txt_operador.Text;

                //Numero de pallet
                int.TryParse(txt_no_pallet.Text, out numero);
                o.No_pallet = numero;
                numero      = 0;

                //Numero de bultos danados
                int.TryParse(txt_no_bulto_danado.Text, out numero);
                o.No_bulto_danado = numero;
                numero            = 0;

                //Numero de bultos abiertos
                int.TryParse(txt_no_bulto_abierto.Text, out numero);
                o.No_bulto_abierto = numero;
                numero             = 0;

                //Numero de bultos declarados
                int.TryParse(txt_no_bulto_declarado.Text, out numero);
                o.No_bulto_declarado = numero;
                numero = 0;

                //Numero de piezas declaradas
                int.TryParse(txt_no_pieza_declarada.Text, out numero);
                o.No_pieza_declarada = numero;
                numero = 0;

                //Numero de piezas recibidas
                int.TryParse(txt_no_pieza_recibida.Text, out numero);
                o.No_pieza_recibida = numero;
                numero = 0;

                //Numero de bultos recibidos
                int.TryParse(txt_no_bulto_recibido.Text, out numero);
                o.No_bulto_recibido = numero;
                numero = 0;

                //Hora de descarga
                o.Hora_descarga = txt_hora_descarga.Text;

                //Listado de documentos en la entrada
                o.PLstEntDoc = lstEntDoc;

                DocumentoMng oDocMng = new DocumentoMng();
                foreach (Entrada_documento itemED in o.PLstEntDoc)
                {
                    Documento oDoc = new Documento();
                    oDoc.Id             = itemED.Id_documento;
                    oDocMng.O_Documento = oDoc;
                    oDocMng.selById();
                    itemED.PDocumento = oDoc;
                }

                //Listado de pedimentos compartidos
                foreach (Entrada_compartida itemEC in lstEntComp)
                {
                    itemEC.Id_usuario = o.PUsuario.Id;
                }

                o.PLstEntComp = lstEntComp;
                //foreach (ListItem liPC in lst_pedimentos_consolidados.Items)
                //{
                //    Entrada_compartida oEC = new Entrada_compartida();
                //    oEC.Referencia = liPC.Value;
                //    oEC.Id_usuario = o.PUsuario.Id;
                //    o.PLstEntComp.Add(oEC);
                //}

                //Vigilante
                o.Vigilante = txt_vigilante.Text.Trim();

                //Observaciones
                o.Observaciones = txt_observaciones.Text.Trim();

                //Bodega
                Bodega oB = new Bodega();
                oB.Id = ((MstCasc)this.Master).getUsrLoged().Id_bodega;
                BodegaMng oBMng = new BodegaMng();
                oBMng.O_Bodega = oB;
                oBMng.selById();
                o.PBodega = oB;

                //Cortina
                Cortina oCor = new Cortina();
                oCor.Id        = o.Id_cortina;
                oCor.Nombre    = ddlCortina.SelectedItem.Text;
                oCor.Id_bodega = o.Id_bodega;
                o.PCortina     = oCor;

                //Cliente
                o.PCliente = CatalogCtrl.Cliente_GetById(o.Id_cliente);

                //Custodia
                Custodia oCdia = new Custodia();
                oCdia.Id     = o.Id_custodia;
                oCdia.Nombre = ddlCustodia.SelectedItem.Text;
                o.PCustodia  = oCdia;

                //Es consolidada
                o.EsConsolidada = lstEntComp.Count > 0;

                //Es parcial
                o.Es_unica = true;
                if (rb_parcial.Checked)
                {
                    Entrada_parcial oEP = new Entrada_parcial();
                    oEP.Referencia = o.Referencia;
                    oEP.Es_ultima  = chk_ultima.Checked;
                    oEP.Id_usuario = o.PUsuario.Id;
                    o.PEntPar      = oEP;
                    o.Es_unica     = false;
                }

                //tipo carga
                Tipo_carga oTipoCarga = new Tipo_carga();
                oTipoCarga.Id     = o.Id_tipo_carga;
                oTipoCarga.Nombre = ddlTipoCarga.SelectedItem.Text;
                o.PTipoCarga      = oTipoCarga;
            }
            catch
            {
                throw;
            }

            return(o);
        }
示例#37
0
        public List<Documento> PesquisarDocumentoTipo(Guid idUsuario, Guid idItemGenerico, int idPagina, Guid idTipoDocumento)
        {
            List<Documento> listaDocumentos = new List<Documento>();
            Documento documentoMotivo = new Documento();
            IEnumerable lista = null;
            IEnumerable listaTipo = null;

            using (var conexao = new SqlConnection(strConexao))
            {
                try
                {
                    var sql = @"SELECT D.idDocumento, D.idUsuario, D.idTipoDocumento, D.caminhoDocumento, D.isAtivo, D.nomeDocumento, D.idItemGenerico, D.dataRecusa, D.idDocumentoMotivo
                            FROM [dbo].[AL_DOCUMENTO] D, [dbo].[AL_DOCUMENTO_TIPO] T
                            WHERE D.idTipoDocumento = T.idTipoDocumento
                            AND D.idUsuario = @Id 
                            AND D.idItemGenerico = @IdItemGenerico 
                            AND D.idTipoDocumento = @IdTipoDocumento
                            AND D.idPagina = @IdPagina
                            AND D.isAtivo = 1
                            ";

                    lista = conexao.Query<Documento>(sql, new { Id = idUsuario, IdItemGenerico = idItemGenerico, IdPagina = idPagina, IdTipoDocumento = idTipoDocumento });

                    //foreach utilizado para reconhecer se o documento tem um Motivo de Recusa(idDocumentoMotivo)
                    foreach (Documento usuarioDocumento in lista)
                    {
                        documentoMotivo = usuarioDocumento;
                    }

                    //Se ele tiver um motivo, ele vai buscar qual é a descrição do motivo informado pelo operador
                    if (!documentoMotivo.idDocumentoMotivo.Equals(new Guid("00000000-0000-0000-0000-000000000000")))
                    {
                        var sqlM = @"SELECT descricaoTipoDocumento
                            FROM [dbo].[AL_DOCUMENTO_MOTIVO]
                            WHERE idDocumentoMotivo = @IdDocumentoMotivo
                            ";

                        listaTipo = conexao.Query<Documento>(sqlM, new { IdDocumentoMotivo = documentoMotivo.idDocumentoMotivo });

                    }
                    //Adiciona a descrição no objeto e adiciona na lista de retorno
                    if (listaTipo != null)
                    {

                        foreach (Documento usuarioDocumento in listaTipo)
                        {
                            foreach (Documento Documento in lista)
                            {
                                Documento.DescricaoTipoDocumento = usuarioDocumento.DescricaoTipoDocumento;
                                listaDocumentos.Add(Documento);
                            }
                        }
                    }
                    else
                    {
                        foreach (Documento usuarioDocumento in lista)
                        {
                            listaDocumentos.Add(usuarioDocumento);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
            return listaDocumentos;
        }
示例#38
0
        public string GetData(int nroFactura, int idCliente, int nroAtencion, string urlPdfFactura)
        {
            logFacturas.Info("Se recibe factura con siguietnes datos:Factura por Relacion:" + nroFactura + "  IdCliente:" + idCliente + " nroAtencion:" + nroAtencion + " urlPdf:" + urlPdfFactura);
            try
            {
                Int32     _idContrato      = 0;
                Decimal   _Valtotal        = 0;
                Decimal   _ValDescuento    = 0;
                Decimal   _ValDescuentoT   = 0;
                Decimal   _ValPagos        = 0;
                Decimal   _ValImpuesto     = 0;
                Decimal   _ValCobrar       = 0;
                DateTime  _FecFactura      = DateTime.Now;
                Decimal   _valPos          = 0;
                Decimal   _valNoPos        = 0;
                Int32     _IdUsuarioR      = 0;
                Int32     _idTercero       = 0;
                string    _usrNombre       = string.Empty;
                string    _usrNumDocumento = string.Empty;
                Byte      _usrIdTipoDoc    = 0;
                string    _numDocCliente   = string.Empty;
                Byte      _tipoDocCliente  = 0;
                string    _razonSocial     = string.Empty;
                string    _repLegal        = string.Empty;
                string    _RegimenFiscal   = string.Empty;
                Int16     _idNaturaleza    = 0;
                int       concepto         = 0;
                FormaPago formaPagoTmp     = new FormaPago();

                documentoRoot documentoF2   = new documentoRoot();
                Documento     facturaEnviar = new Documento();
                facturaEnviar.identificadorTransaccion = "D7F719C2 - 75F4 - 4F06 - B7CB - F583FC28DBEE";
                facturaEnviar.URLPDF                      = urlPdfFactura;
                facturaEnviar.NITFacturador               = Properties.Settings.Default.NitHusi;
                facturaEnviar.prefijo                     = Properties.Settings.Default.Prefijo;
                facturaEnviar.numeroDocumento             = nroFactura.ToString();
                facturaEnviar.tipoDocumento               = 1;
                facturaEnviar.subTipoDocumento            = "01";
                facturaEnviar.tipoOperacion               = "10";
                facturaEnviar.generaRepresentacionGrafica = false;
                using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.DBConexion))
                {
                    conn.Open();
                    string     qryFacturaEnc = @"SELECT fact.idContrato,Valtotal,ValDescuento,ValDescuentoT,ValPagos,ValImpuesto,ValCobrar,FecFactura,valPos,valNoPos,fact.IdUsuarioR,
usr.nom_usua,usr.NumDocumento,usr.IdTipoDoc,ter.NumDocumento,ter.IdTipoDoc,ter.NomTercero,ter.CodTercero,con.NomRepComercial,ter.IdTercero,ter.idRegimen,ter.IdNaturaleza    
FROM facFactura fact
INNER JOIN ASI_USUA usr ON fact.IdUsuarioR = usr.IdUsuario
INNER JOIN conContrato con ON fact.IdContrato=con.IdContrato
INNER JOIN genTercero ter ON con.IdTercero=ter.IdTercero
WHERE IdFactura =  @nroFactura";
                    SqlCommand cmdFacturaEnc = new SqlCommand(qryFacturaEnc, conn);
                    cmdFacturaEnc.Parameters.Add("@nroFactura", SqlDbType.Int).Value = nroFactura;
                    SqlDataReader rdFacturaEnc = cmdFacturaEnc.ExecuteReader();
                    if (rdFacturaEnc.HasRows)
                    {
                        rdFacturaEnc.Read();
                        _idContrato    = rdFacturaEnc.GetInt32(0);
                        _Valtotal      = Math.Round(rdFacturaEnc.GetDecimal(1), 0);
                        _ValDescuento  = Math.Round(rdFacturaEnc.GetDecimal(2), 0);
                        _ValDescuentoT = Math.Round(rdFacturaEnc.GetDecimal(3), 0);
                        _ValPagos      = Math.Round(rdFacturaEnc.GetDecimal(4), 0);
                        _ValImpuesto   = Math.Round(rdFacturaEnc.GetDecimal(5), 0);
                        _ValCobrar     = Math.Round(rdFacturaEnc.GetDecimal(6), 0);
                        _FecFactura    = rdFacturaEnc.GetDateTime(7);
                        if (rdFacturaEnc.IsDBNull(8))
                        {
                            _valPos = 0;
                        }
                        else
                        {
                            _valPos = Math.Round(rdFacturaEnc.GetDecimal(8), 0);
                        }
                        if (rdFacturaEnc.IsDBNull(9))
                        {
                            _valNoPos = 0;
                        }
                        else
                        {
                            _valNoPos = Math.Round(rdFacturaEnc.GetDecimal(9), 0);
                        }
                        _IdUsuarioR      = rdFacturaEnc.GetInt32(10);
                        _usrNombre       = rdFacturaEnc.GetString(11);
                        _usrNumDocumento = rdFacturaEnc.GetString(12);
                        _usrIdTipoDoc    = rdFacturaEnc.GetByte(13);
                        _numDocCliente   = rdFacturaEnc.GetString(14);
                        _tipoDocCliente  = rdFacturaEnc.GetByte(15);
                        _razonSocial     = rdFacturaEnc.GetString(16);
                        _repLegal        = rdFacturaEnc.GetString(18);
                        _idTercero       = rdFacturaEnc.GetInt32(19);
                        _RegimenFiscal   = rdFacturaEnc.GetString(20);
                        _idNaturaleza    = rdFacturaEnc.GetInt16(21);
                    }
                    if (_ValPagos > 0)
                    {
                        string     Consultapagos    = "SELECT IdConcepto FROM facFacAtenConcepto WHERE IdFactura=@idFactura";
                        SqlCommand cmdConsultaPagos = new SqlCommand(Consultapagos, conn);
                        cmdConsultaPagos.Parameters.Add("@idfactura", SqlDbType.Int).Value = nroFactura;
                        concepto = int.Parse(cmdConsultaPagos.ExecuteScalar().ToString());
                    }
                }
                string formatoWrk = formatosFecha.formatofecha(_FecFactura);
                facturaEnviar.fechaEmision = formatoWrk.Split('T')[0];
                facturaEnviar.horaEmision  = formatoWrk.Split('T')[1];
                facturaEnviar.moneda       = "COP";
                formaPagoTmp.tipoPago      = 1;
                formaPagoTmp.codigoMedio   = "10";
                facturaEnviar.formaPago    = formaPagoTmp;

                List <DetallesItem> detalleProductos = new List <DetallesItem>();
                //****************** CLIENTE
                //  Variables Inicializacion
                string _direccionCliente    = string.Empty;
                string _telefonoCliente     = string.Empty;
                string _municipioCliente    = string.Empty;
                string _departamento        = string.Empty;
                int    _localizacionCliente = 0;
                string _correoCliente       = string.Empty;
                #region MyRegion
                //****
                //eFactura facturaEnviar = new eFactura();
                //AdditionalInformation iteminfAdicionalEnc = new AdditionalInformation();
                //List<AdditionalInformation> InformacionAdicionalEn = new List<AdditionalInformation>();
                //if (concepto == 1 && concepto > 0)
                //{
                //    InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "2", Value = _ValPagos.ToString() });
                //    InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "3", Value = "0" });
                //}
                //else
                //{
                //    InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "2", Value = "0" });
                //    InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "3", Value = _ValPagos.ToString() });
                //}

                //Data objData = new Data
                //{
                //    UrlPdf = urlPdfFactura
                //};
                //OriginalRequest peticion = new OriginalRequest
                //{
                //    //Currency = _monedaFactura,
                //    EventName = "FAC-SYNC",
                //    DocumentType = "Invoice",
                //    BroadCastDate = DateTime.Now.ToString("yyyy-MM-dd"),
                //    BroadCastTime = DateTime.Now.ToString("HH:mm:ss"),
                //    IdMotivo = "1",
                //    BillType = "1",
                //    InvoiceId = nroFactura.ToString(),
                //    Prefix = Properties.Settings.Default.Prefijo,
                //    IdBusiness = "860015536",
                //    AdditionalInformation = InformacionAdicionalEn
                //};

                //peticion.DocumentType = "01";
                //TODO:Agregar todos los campos adicionales

                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "3", Value = "Codigo Habilitacion HUSI" });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "4", Value = "0" });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "5", Value = 0.ToString() });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "6", Value = nroAtencion.ToString() });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "7", Value = "2018-09-16" });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "8", Value = "2018-09-23" });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "9", Value = "0" });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "10", Value = "0" });
                //InformacionAdicionalEn.Add(new AdditionalInformation() { Position = "11", Value = "false" });


                ////  SellerSupplierParty datosHUSI = new SellerSupplierParty();
                //AccountingCustomerParty Cliente = new AccountingCustomerParty();
                //Address objDireccionHusi = new Address();
                //Address1 objDireccionCliente = new Address1();
                //TaxTotal ivaFactura = new TaxTotal();
                //TaxTotal ipoconsumoFactura = new TaxTotal();
                //TaxTotal icaFactura = new TaxTotal();
                //List<TaxTotal> impuestosFactura = new List<TaxTotal>();
                //LegalMonetaryTotal subtotalesFactura = new LegalMonetaryTotal();

                //LineExtensionAmount lineaExtCant = new LineExtensionAmount();
                //TaxExclusiveAmount totalImpuesto = new TaxExclusiveAmount();
                //PayableAmount totalPagar = new PayableAmount();

                //Contract contrato = new Contract();
                //Party datosHospital = new Party();
                //Party1 datosCliente = new Party1();
                //PhysicalLocation ubicacionFisicaHusi = new PhysicalLocation();
                //PhysicalLocation1 ubicacionFisicaCliente = new PhysicalLocation1();
                //PartyTaxScheme RegimenImpuesto = new PartyTaxScheme();
                //PartyTaxScheme RegimenCliente = new PartyTaxScheme();
                //PartyIdentification idenHusi = new PartyIdentification();
                //PartyIdentification idenCliente = new PartyIdentification();
                //Person repLegalHusi = new Person();
                //Person1 repLegalCliente = new Person1();
                ////********** Definicion Elementos del Detalle de Factura
                //List<DocumentLine> detalleProductos = new List<DocumentLine>();
                //SubDetalle subDetProducto = new SubDetalle();
                //TaxAmount taxIVA = new TaxAmount();
                //TaxAmount taxCONSUMO = new TaxAmount();
                //TaxAmount taxICA = new TaxAmount();
                //TaxableAmount camposAdicionalesICA = new TaxableAmount();
                ////********** Fin Definicion de Detalle de Factura
                //contrato.ID = _idContrato.ToString();
                //contrato.IssueDate = _FecFactura.ToString("yyyy-MM-dd");
                //contrato.ContractType = "1";

                //// datosHUSI.Contract = contrato;
                ////**********
                ////   datosHUSI.AdditionalAccountID = "1";
                //datosHospital.Name = "Hospital Universitario San Ignacio";
                //idenHusi.ID = "860015536";
                //idenHusi.SchemeID = "31";
                //datosHospital.PartyIdentification = idenHusi;


                //objDireccionHusi.Line = "Kra 7 No. 40-62";
                //objDireccionHusi.CityName = "Bogota D.C";
                //objDireccionHusi.CountryCode = "57";
                //objDireccionHusi.Department = "Cundinamarca";

                //ubicacionFisicaHusi.Address = objDireccionHusi;
                //datosHospital.PhysicalLocation = ubicacionFisicaHusi;

                //repLegalHusi.FirstName = "JULIO";
                //repLegalHusi.MiddleName = "CESAR";
                //repLegalHusi.FamilyName = "CASTELLANOS RAMIREZ";

                //datosHospital.Person = repLegalHusi;

                //RegimenImpuesto.TaxLevelCode = "2";
                //datosHospital.PartyTaxScheme = RegimenImpuesto;

                ////  datosHUSI.Party = datosHospital;

                ////****************** CLIENTE
                ////  Variables Inicializacion
                //string _direccionCliente = string.Empty;
                //string _telefonoCliente = string.Empty;
                //string _municipioCliente = string.Empty;
                //string _departamento = string.Empty;
                //int _localizacionCliente = 0;
                //string _correoCliente = string.Empty;
                ////****
                #endregion
                using (SqlConnection connx = new SqlConnection(Properties.Settings.Default.DBConexion))
                {
                    connx.Open();
                    string     qryDatosCliente1 = @"SELECT IdLocalizaTipo,DesLocalizacion,B.nom_dipo,A.IdLugar,RIGHT(B.cod_dipo,5) FROM genTerceroLocaliza A
LEFT JOIN GEN_DIVI_POLI B ON A.IdLugar=B.IdLugar
WHERE IdTercero=@idTercero and IdLocalizaTipo IN (2,3)
ORDER BY IdLocalizaTipo";
                    SqlCommand cmdDatosCliente1 = new SqlCommand(qryDatosCliente1, connx);
                    cmdDatosCliente1.Parameters.Add("@idTercero", SqlDbType.Int).Value = _idTercero;
                    SqlDataReader rdDatosCliente1 = cmdDatosCliente1.ExecuteReader();
                    if (rdDatosCliente1.HasRows)
                    {
                        while (rdDatosCliente1.Read())
                        {
                            if (rdDatosCliente1.GetInt32(0) == 2)
                            {
                                _direccionCliente    = rdDatosCliente1.GetString(1);
                                _municipioCliente    = rdDatosCliente1.GetString(4);
                                _localizacionCliente = rdDatosCliente1.GetInt32(3);
                            }
                            else if (rdDatosCliente1.GetInt32(0) == 3)
                            {
                                _telefonoCliente = rdDatosCliente1.GetString(1);
                                if (_telefonoCliente.Length > 10)
                                {
                                    _telefonoCliente = _telefonoCliente.Substring(0, 10);
                                }
                            }
                        }
                    }

                    string     qryDatosCliente2 = @"SELECT COD_DEPTO,COD_MPIO,DPTO,NOM_MPIO FROM GEN_DIVI_POLI A
                    INNER JOIN HUSI_Divipola HB ON a.num_ptel=COD_DEPTO
                    WHERE a.IdLugar=@idLugar";
                    SqlCommand cmdDatosCliente2 = new SqlCommand(qryDatosCliente2, connx);
                    cmdDatosCliente2.Parameters.Add("@idLugar", SqlDbType.Int).Value = _localizacionCliente;
                    SqlDataReader rdDatosCliente2 = cmdDatosCliente2.ExecuteReader();
                    if (rdDatosCliente2.HasRows)
                    {
                        rdDatosCliente2.Read();
                        _departamento = rdDatosCliente2.GetString(2);
                    }

                    string     qryDatosCliente3 = @"SELECT A.Correo FROM concontratocorreo A
INNER JOIN facFactura B ON A.IdContrato=B.IdContrato
WHERE A.indhabilitado=1 AND B.idFactura=@idFactura
UNION ALL
SELECT A.Deslocalizacion As Correo FROM gentercerolocaliza A
INNER JOIN conContrato C ON C.IdTercero=A.IdTercero
INNER JOIN  facFactura D ON D.IdContrato=C.IdContrato
LEFT JOIN concontratocorreo B ON  B.indhabilitado=1 and B.idcontrato=D.IdContrato  
WHERE B.idcontrato is null and A.IdLocalizaTipo=1 and A.indhabilitado=1 and D.IdFactura=@idFactura";
                    SqlCommand cmdDatosCliente3 = new SqlCommand(qryDatosCliente3, connx);
                    cmdDatosCliente3.Parameters.Add("@idFactura", SqlDbType.Int).Value = nroFactura;
                    SqlDataReader rdDatosCliente3 = cmdDatosCliente3.ExecuteReader();
                    if (rdDatosCliente3.HasRows)
                    {
                        rdDatosCliente3.Read();
                        _correoCliente = rdDatosCliente3.GetString(0);
                    }
                    else
                    {
                        _correoCliente = "*****@*****.**";
                    }
                }

                List <NotificacionesItem> notificaciones = new List <NotificacionesItem>();
                NotificacionesItem        notificaItem   = new NotificacionesItem();
                notificaItem.tipo = 1;
                List <string> valorNotificacion = new List <string>();
                valorNotificacion.Add(_correoCliente.Trim());
                notificaItem.valor = valorNotificacion;
                notificaciones.Add(notificaItem);
                facturaEnviar.notificaciones = notificaciones;

                Adquiriente adquirienteTmp = new Adquiriente();
                adquirienteTmp.identificacion = _numDocCliente;
                if (_tipoDocCliente == 1)//TODO: validar la Homologacion para este campo
                {
                    adquirienteTmp.tipoIdentificacion = 31;
                }
                else if (_tipoDocCliente == 2)
                {
                    adquirienteTmp.tipoIdentificacion = 13;
                }
                adquirienteTmp.codigoInterno  = _idTercero.ToString();
                adquirienteTmp.razonSocial    = _razonSocial;
                adquirienteTmp.nombreSucursal = _razonSocial;
                adquirienteTmp.correo         = _correoCliente.Trim().Split(';')[0];
                adquirienteTmp.telefono       = _telefonoCliente;

                if (_RegimenFiscal.Equals("C"))
                {
                    adquirienteTmp.tipoRegimen = "48";
                }
                else
                {
                    adquirienteTmp.tipoRegimen = "49";
                }
                //TODO: Aqui insertar lo que se defina de Responsabilidades  RUT documentoF2.adquiriente.responsabilidadesRUT
                if (_idNaturaleza == 3)
                {
                    adquirienteTmp.tipoPersona = "1";
                }
                else if (_idNaturaleza == 4)
                {
                    adquirienteTmp.tipoPersona = "2";
                }
                else
                {
                    adquirienteTmp.tipoPersona = "0";
                }
                List <string> responsanbilidadesR = new List <string>();
                using (SqlConnection conexion01 = new SqlConnection(Properties.Settings.Default.DBConexion))
                {
                    conexion01.Open();
                    SqlCommand sqlValidaDet = new SqlCommand("spTerceroResponsabilidadRut", conexion01);
                    sqlValidaDet.CommandType = CommandType.StoredProcedure;
                    sqlValidaDet.Parameters.Add("@idtercero", SqlDbType.Int).Value = _idTercero;
                    SqlDataReader rdValidaDet = sqlValidaDet.ExecuteReader();
                    if (rdValidaDet.HasRows)
                    {
                        rdValidaDet.Read();
                        responsanbilidadesR.Add(rdValidaDet.GetString(0));
                    }
                    else
                    {
                        responsanbilidadesR.Add("R-99-PN");
                    }
                }

                adquirienteTmp.responsabilidadesRUT = responsanbilidadesR;
                Ubicacion ubicacionCliente = new Ubicacion();
                ubicacionCliente.pais            = "CO";
                ubicacionCliente.codigoMunicipio = _municipioCliente;
                ubicacionCliente.direccion       = _direccionCliente;
                adquirienteTmp.ubicacion         = ubicacionCliente;
                documentoF2.adquiriente          = adquirienteTmp;

                #region MyRegion
                //TODO:Definir Los pagos por Copago y Cuota Moderadora, si se envian como Anticipos y Abonos
                //TODO:Definir si aplica para algun caso. Cargos y Descuentos

                //List<TributosItem> tributosTMP = new List<TributosItem>();
                //List<DetalleTributos> tributosDetalle = new List<DetalleTributos>();
                //DetalleTributos detalleTributos = new DetalleTributos() // Un Objeto por cada Tipo de Iva
                //{
                //    valorImporte = 0,
                //    valorBase = 0,
                //    porcentaje = 0
                //};
                //tributosDetalle.Add(detalleTributos);
                //TributosItem itemTributo = new TributosItem()
                //{
                //    id = "01", //Total de Iva
                //    nombre = "Iva",
                //    esImpuesto = true,
                //    valorImporteTotal = 0,
                //    detalles = tributosDetalle // DEtalle de los Ivas
                //};
                //tributosTMP.Add(itemTributo);
                //documentoF2.tributos = tributosTMP;
                #endregion
                ///<summary>
                ///Inicio de Totales de la Factura
                /// </summary>
                double TotalGravadoIva = 0;
                double TotalGravadoIca = 0;
                #region MyRegion
                //Totales totalesTmp = new Totales()
                //{
                //    valorBruto = double.Parse(_Valtotal.ToString()),
                //    valorAnticipos = double.Parse(_ValPagos.ToString()),
                //    valorTotalSinImpuestos = double.Parse(_Valtotal.ToString()),
                //    valorTotalConImpuestos = double.Parse(_Valtotal.ToString()) + double.Parse(_ValImpuesto.ToString()),
                //    valorNeto = double.Parse(_ValCobrar.ToString())
                //};
                //documentoF2.totales = totalesTmp;
                #endregion

                List <AnticiposItem> anticiposWrk = new List <AnticiposItem>();
                AnticiposItem        anticipoWrk  = new AnticiposItem();
                anticipoWrk.comprobante   = "22";
                anticipoWrk.valorAnticipo = double.Parse(_ValPagos.ToString());
                anticiposWrk.Add(anticipoWrk);
                documentoF2.anticipos = anticiposWrk;

                //************************************************************ Detalle de Factura
                using (SqlConnection conexion01 = new SqlConnection(Properties.Settings.Default.DBConexion))
                {
                    string qryFactura = "SELECT IdFactura,NumFactura,IdDestino,IdTransaccion,IdPlan,IdContrato,ValTotal,ValDescuento,ValDescuentoT,ValPagos,ValImpuesto,ValCobrar,IndNotaCred,IndTipoFactura,CodEnti,CodEsor,FecFactura,Ruta,IdCausal,IdUsuarioR,IndHabilitado,IdNoFacturado,valPos,valNoPos FROM  facFactura WHERE idFactura=@idFactura AND idDestino=@idAtencion";
                    conexion01.Open();
                    SqlCommand cmdFactura = new SqlCommand(qryFactura, conexion01);
                    cmdFactura.Parameters.Add("@idFactura", SqlDbType.Int).Value  = nroFactura;
                    cmdFactura.Parameters.Add("@idAtencion", SqlDbType.Int).Value = nroAtencion;
                    SqlDataReader rdFactura = cmdFactura.ExecuteReader();
                    if (rdFactura.HasRows)
                    {
                        rdFactura.Read();
                        string     strDetalleFac = @"SELECT UNI.Cod_Servicio,UNI.Des_Servicio,UNI.Cantidad,UNI.Vlr_Unitario_Serv,UNI.Vlr_Total_Serv,UNI.idProducto,UNI.CodProducto,UNI.nomproducto,O.idOrden FROM (
SELECT upper(isnull(J.CodProMan,CASE ISNULL(f.REGCUM,'0') WHEN '0' THEN P.CodProducto ELSE F.REGCUM END )) as Cod_Servicio,
upper(( isnull(J.NomPRoman,P.NomProducto)) ) as Des_Servicio,SUM(f.Cantidad) as Cantidad, f.ValTotal as Vlr_Unitario_Serv,
SUM(isnull(AD.ValTotal,round(F.Cantidad*F.ValTotal,0))) as Vlr_Total_Serv, p.idProducto,p.CodProducto,p.nomproducto
FROM facfactura a
INNER JOIN  concontrato b on a.idcontrato=b.idcontrato
INNER JOIN  facfacturadet f on f.idfactura=a.idfactura
LEFT JOIN facFacturaDetAjuDec AD ON AD.IdFactura = F.IdFactura and AD.IdProducto = F.IdProducto and AD.IdMovimiento = F.IdMovimiento
INNER JOIN  proproducto p on p.idproducto=f.idproducto AND p.IdProductoTipo not IN (8,12)
INNER JOIN  facmovimiento g on   g.idmovimiento=f.idmovimiento
INNER JOIN  admatencion c on g.iddestino=c.idatencion
INNER JOIN  admcliente d on d.idcliente=c.idcliente
INNER JOIN  gentipodoc e on e.idtipodoc=d.idtipodoc
LEFT JOIN admatencioncontrato h on h.idatencion=g.iddestino and a.idcontrato=h.idcontrato and a.idplan=h.idplan and h.indhabilitado=1
LEFT JOIN contarifa i on i.idtarifa=b.idtarifa
LEFT JOIN conManualAltDet J ON J.IdProducto = F.IdProducto AND J.IndHabilitado = 1 AND J.IdManual = i.IdManual
WHERE a.IndTipoFactura='RAC' AND  a.idfactura=@idFactura
GROUP BY
upper(isnull(J.CodProMan,CASE ISNULL(f.REGCUM,'0') WHEN '0' THEN P.CodProducto ELSE F.REGCUM END )),upper(( isnull(J.NomPRoman,P.NomProducto))),f.ValTotal,
p.idProducto,p.CodProducto,p.nomproducto
) as UNI
INNER JOIN facFacturaDetOrden O on O.idFactura=@idFactura AND UNI.idProducto=O.idProducto
ORDER BY o.Idorden";
                        SqlCommand cmdDetalleFac = new SqlCommand(strDetalleFac, conexion01);
                        cmdDetalleFac.Parameters.Add("@idFactura", SqlDbType.Int).Value = rdFactura.GetInt32(0);
                        SqlDataReader rdDetalleFac = cmdDetalleFac.ExecuteReader();
                        if (rdDetalleFac.HasRows)
                        {
                            Int16 nroLinea = 1;
                            while (rdDetalleFac.Read())
                            {
                                try
                                {
                                    List <TibutosDetalle> listaTributos = new List <TibutosDetalle>();
                                    DetallesItem          lineaProducto = new DetallesItem();
                                    lineaProducto.tipoDetalle = 1; // Linea Normal
                                    string codigoProducto = rdDetalleFac.GetString(0);
                                    lineaProducto.valorCodigoInterno = codigoProducto;
                                    #region MyRegion
                                    //if (rdDetalleFac.GetInt16(18) == 5 || rdDetalleFac.GetInt16(18) == 6)
                                    //{
                                    //    lineaProducto.codigoEstandar = "999";
                                    //}
                                    //else
                                    //{
                                    //    lineaProducto.codigoEstandar = "999";
                                    //}
                                    #endregion
                                    lineaProducto.codigoEstandar      = "999";
                                    lineaProducto.valorCodigoEstandar = codigoProducto;
                                    lineaProducto.descripcion         = rdDetalleFac.GetString(1);
                                    lineaProducto.unidades            = double.Parse(rdDetalleFac.GetDouble(2).ToString());
                                    lineaProducto.unidadMedida        = "94";// rdDetalleFac.GetString(19);
                                    lineaProducto.valorUnitarioBruto  = double.Parse(rdDetalleFac.GetDouble(3).ToString());
                                    lineaProducto.valorBruto          = double.Parse(rdDetalleFac.GetDouble(4).ToString());
                                    lineaProducto.valorBrutoMoneda    = "COP";

                                    TibutosDetalle tributosWRKIva = new TibutosDetalle();
                                    tributosWRKIva.id                      = "01";
                                    tributosWRKIva.nombre                  = "Iva";
                                    tributosWRKIva.esImpuesto              = true;
                                    tributosWRKIva.porcentaje              = 0;
                                    tributosWRKIva.valorBase               = double.Parse(rdDetalleFac.GetDouble(4).ToString());
                                    tributosWRKIva.valorImporte            = rdDetalleFac.GetDouble(4) * 0;
                                    TotalGravadoIva                        = TotalGravadoIva + rdDetalleFac.GetDouble(4);
                                    tributosWRKIva.tributoFijoUnidades     = 0;
                                    tributosWRKIva.tributoFijoValorImporte = 0;
                                    listaTributos.Add(tributosWRKIva);

                                    #region MyRegion
                                    //TibutosDetalle tributosWRKIca = new TibutosDetalle();
                                    //tributosWRKIca.id = "02";
                                    //tributosWRKIca.nombre = "ICA";
                                    //tributosWRKIca.esImpuesto = true;
                                    //tributosWRKIca.porcentaje = 0;
                                    //tributosWRKIca.valorBase = double.Parse(rdDetalleFac.GetDouble(4).ToString());
                                    //tributosWRKIca.valorImporte = rdDetalleFac.GetDouble(4) * 0;
                                    //TotalGravadoIca = TotalGravadoIca+ rdDetalleFac.GetDouble(4);
                                    //tributosWRKIca.tributoFijoUnidades = 0;
                                    //tributosWRKIca.tributoFijoValorImporte = 0;

                                    //listaTributos.Add(tributosWRKIca);
                                    #endregion
                                    lineaProducto.tributos = listaTributos;
                                    detalleProductos.Add(lineaProducto);
                                    nroLinea++;
                                }
                                catch (Exception sqlExp)
                                {
                                    string error = sqlExp.Message + "   " + sqlExp.StackTrace;
                                    throw;
                                }
                            }
                        }
                        else // Si No  hay Detalle de Productos
                        {
                            logFacturas.Info("No se encontro Detalle de productos para la factura. " + strDetalleFac);
                        }
                    }
                    else // No se encuentra Informacion de la Factura y Atencion
                    {
                        logFacturas.Info("No se encontro Informacion nde Factura y Atencion." + qryFactura);
                    }
                }
                documentoF2.detalles = detalleProductos;
                List <TributosItem>    tributosTMP     = new List <TributosItem>();
                List <DetalleTributos> tributosDetalle = new List <DetalleTributos>();
                DetalleTributos        detalleTributos = new DetalleTributos() // Un Objeto por cada Tipo de Iva
                {
                    valorImporte = 0,
                    valorBase    = TotalGravadoIva,
                    porcentaje   = 0
                };
                tributosDetalle.Add(detalleTributos);
                TributosItem itemTributo = new TributosItem()
                {
                    id                = "01", //Total de Iva
                    nombre            = "Iva",
                    esImpuesto        = true,
                    valorImporteTotal = 0,
                    detalles          = tributosDetalle // DEtalle de los Ivas
                };
                tributosTMP.Add(itemTributo);
                documentoF2.tributos = tributosTMP;
                Totales totalesTmp = new Totales()
                {
                    valorBruto             = double.Parse(_Valtotal.ToString()),
                    valorAnticipos         = double.Parse(_ValPagos.ToString()),
                    valorTotalSinImpuestos = TotalGravadoIva + TotalGravadoIca,
                    valorTotalConImpuestos = double.Parse(_Valtotal.ToString()) + double.Parse(_ValImpuesto.ToString()),
                    valorNeto = double.Parse(_ValCobrar.ToString())
                };
                documentoF2.totales = totalesTmp;
                logFacturas.Info("Numero de Productos procesados, para JSon:" + detalleProductos.Count);
                ////************************************** Adicionar elementos a la Factura **********************************

                try
                {
                    string urlConsumo = Properties.Settings.Default.urlFacturaElectronica;// + Properties.Settings.Default.recursoFacturaE;
                    logFacturas.Info("URL de Request:" + urlConsumo);
                    HttpWebRequest request = WebRequest.Create(urlConsumo) as HttpWebRequest;
                    //request.Timeout = 60 * 1000;
                    documentoF2.documento = facturaEnviar;
                    string facturaJson = JsonConvert.SerializeObject(documentoF2);
                    logFacturas.Info("Json de la Factura:" + facturaJson);
                    request.Method      = "POST";
                    request.ContentType = "application/json";
                    //string Usuario = "administrador";
                    //string Clave = "Transfiriendo@2016";
                    string Usuario      = Properties.Settings.Default.usuario;
                    string Clave        = Properties.Settings.Default.clave;
                    string credenciales = Convert.ToBase64String(Encoding.ASCII.GetBytes(Usuario + ":" + Clave));
                    request.Headers.Add("Authorization", "Basic " + credenciales);

                    Byte[] data = Encoding.UTF8.GetBytes(facturaJson);

                    Stream st = request.GetRequestStream();
                    st.Write(data, 0, data.Length);
                    st.Close();

                    int loop1, loop2;
                    NameValueCollection valores;
                    valores = request.Headers;

                    // Pone todos los nombres en un Arreglo
                    string[] arr1 = valores.AllKeys;
                    for (loop1 = 0; loop1 < arr1.Length; loop1++)
                    {
                        logFacturas.Info("Key: " + arr1[loop1] + "<br>");
                        // Todos los valores
                        string[] arr2 = valores.GetValues(arr1[loop1]);
                        for (loop2 = 0; loop2 < arr2.Length; loop2++)
                        {
                            logFacturas.Info("Value " + loop2 + ": " + arr2[loop2]);
                        }
                    }
                    HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                    StreamReader    sr       = new StreamReader(response.GetResponseStream());
                    string          strsb    = sr.ReadToEnd();
                    logFacturas.Info("Respuesta:" + strsb);
                    string valorRpta = "00";
                    RespuestaTransfiriendo respuesta = JsonConvert.DeserializeObject <RespuestaTransfiriendo>(strsb);
                    if (respuesta.esExitoso)
                    {
                        logFacturas.Info($"PDF:{respuesta.resultado.URLPDF}");
                        logFacturas.Info($"XML:{respuesta.resultado.URLXML}");
                        logFacturas.Info($"UUID:{ respuesta.resultado.UUID}");
                        logFacturas.Info($"QR:{respuesta.resultado.QR}");
                        using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.DBConexion))
                        {
                            conn.Open();
                            string     strActualiza = @"UPDATE dbo.facFacturaTempWEBService SET identificador=@identificador WHERE IdFactura=@nrofactura";
                            SqlCommand cmdActualiza = new SqlCommand(strActualiza, conn);
                            cmdActualiza.Parameters.Add("@identificador", SqlDbType.VarChar).Value = respuesta.resultado.UUID;
                            cmdActualiza.Parameters.Add("@nrofactura", SqlDbType.Int).Value        = nroFactura;
                            if (cmdActualiza.ExecuteNonQuery() > 0)
                            {
                                logFacturas.Info("Factura Actualizada con UUID en facFacturaTempWEBService");
                                using (WebClient webClient = new WebClient())
                                {
                                    try
                                    {
                                        string carpetaDescarga = Properties.Settings.Default.urlDescargaPdfFACT + DateTime.Now.Year + @"\" + respuesta.resultado.UUID + ".pdf";
                                        logFacturas.Info("Carpeta de Descarga:" + carpetaDescarga);
                                        webClient.DownloadFile(respuesta.resultado.URLPDF, carpetaDescarga);
                                        //System.Threading.Thread.Sleep(1000);
                                        logFacturas.Info($"Descarga de PDF Factura...Terminada");
                                        carpetaDescarga = Properties.Settings.Default.urlDescargaPdfFACT + DateTime.Now.Year + @"\" + respuesta.resultado.UUID + ".XML";
                                        webClient.DownloadFile(respuesta.resultado.URLXML, carpetaDescarga);
                                        //System.Threading.Thread.Sleep(1000);
                                        logFacturas.Info($"Descarga de XML...Terminada");
                                        using (SqlConnection conn3 = new SqlConnection(Properties.Settings.Default.DBConexion))
                                        {
                                            conn3.Open();
                                            string     qryActualizaTempWEBService = @"UPDATE dbo.facFacturaTempWEBService SET CodCUFE=@cufe,cadenaQR=@cadenaQR WHERE identificador=@identificador";
                                            SqlCommand cmdActualizaTempWEBService = new SqlCommand(qryActualizaTempWEBService, conn);
                                            cmdActualizaTempWEBService.Parameters.Add("@cufe", SqlDbType.VarChar).Value          = respuesta.resultado.UUID;
                                            cmdActualizaTempWEBService.Parameters.Add("@cadenaQR", SqlDbType.NVarChar).Value     = respuesta.resultado.QR;
                                            cmdActualizaTempWEBService.Parameters.Add("@identificador", SqlDbType.VarChar).Value = respuesta.resultado.UUID;
                                            if (cmdActualizaTempWEBService.ExecuteNonQuery() > 0)
                                            {
                                                logFacturas.Info("Descarga Existosa de Archivos de la Factura con Identificadotr:" + respuesta.resultado.UUID + " Destino:" + carpetaDescarga);
                                                if (!(respuesta.advertencias is null))
                                                {
                                                    string     qryAdvertencia         = @"INSERT INTO dbo.facFacturaTempWSAdvertencias(IdFactura,CodAdvertencia,FecRegistro,DescripcionAdv) 
VALUES(@IdFactura, @CodAdvertencia, @FecRegistro, @DescripcionAdv)";
                                                    SqlCommand cmdInsertarAdvertencia = new SqlCommand(qryAdvertencia, conn);
                                                    cmdInsertarAdvertencia.Parameters.Add("@IdFactura", SqlDbType.Int);
                                                    cmdInsertarAdvertencia.Parameters.Add("@CodAdvertencia", SqlDbType.VarChar);
                                                    cmdInsertarAdvertencia.Parameters.Add("@DescripcionAdv", SqlDbType.NVarChar);
                                                    cmdInsertarAdvertencia.Parameters.Add("@FecRegistro", SqlDbType.DateTime);

                                                    foreach (AdvertenciasItem itemAdv in respuesta.advertencias)
                                                    {
                                                        cmdInsertarAdvertencia.Parameters["@IdFactura"].Value      = nroFactura;
                                                        cmdInsertarAdvertencia.Parameters["@CodAdvertencia"].Value = itemAdv.codigo;
                                                        //cmdInsertarAdvertencia.Parameters["@consecutivo"].Value = consecutivo;
                                                        cmdInsertarAdvertencia.Parameters["@FecRegistro"].Value    = DateTime.Now;
                                                        cmdInsertarAdvertencia.Parameters["@DescripcionAdv"].Value = itemAdv.mensaje;
                                                        if (cmdInsertarAdvertencia.ExecuteNonQuery() > 0)
                                                        {
                                                            logFacturas.Info($"Se Inserta Detalle de Advertencias: Codigo Advertencia{itemAdv.codigo} Mensaje Advertencia:{itemAdv.mensaje}");
                                                            valorRpta = nroFactura.ToString();
                                                        }
                                                        else
                                                        {
                                                            logFacturas.Info($"No es Posible Insertar Detalle de Advertencias: Codigo Advertencia{itemAdv.codigo} Mensaje Advertencia:{itemAdv.mensaje} Estado del Proceso de la Factura:{respuesta.esExitoso}");
                                                            valorRpta = nroFactura.ToString();
                                                        }
                                                    }
                                                }
                                                valorRpta = nroFactura.ToString();
                                            }
                                            else
                                            {
                                                logFacturas.Info($"No fue Posible Realizar la Descarga de Archivos de la Factura con Identificadotr:{respuesta.resultado.UUID} Estado Proceso de Factura:{respuesta.esExitoso}");
                                            }
                                        }
                                    }
                                    catch (NotSupportedException nSuppExp)
                                    {
                                        logFacturas.Info("Se ha presentado una NotSupportedException durante la descarga de los objetos de la Factura:" + nSuppExp.Message + "     " + nSuppExp.InnerException.Message);
                                        valorRpta = "9X";
                                    }
                                    catch (ArgumentNullException argNull)
                                    {
                                        logFacturas.Info("Se ha presentado una ArgumentNullException durante la descarga de los objetos de la Factura:" + argNull.Message + "     " + argNull.InnerException.Message);
                                        valorRpta = "9X";
                                    }
                                    catch (WebException webEx1)
                                    {
                                        logFacturas.Info("Se ha presentado una Falla durante la descarga de los objetos de la factura:" + webEx1.Message + "     " + webEx1.InnerException.Message);
                                        logFacturas.Warn($"Pila de Mensajes:::::{webEx1.StackTrace}");
                                        valorRpta = "93";
                                    }
                                    catch (Exception exx)
                                    {
                                        logFacturas.Info("No fue posible descargar los archivos.PDF, XML y QR  !!! Causa:" + exx.Message);
                                        valorRpta = "98";
                                    }
                                }
                            }
                            else
                            {
                                logFacturas.Info("!!!   No fue posible Actualizar la Factura en la Tabla: facFacturaTempWEBService   !!!");
                            }
                        }
                    }
                    else
                    {
                        using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.DBConexion))
                        {
                            conn.Open();
                            string     qryInsertaError  = @"INSERT INTO facFacturaTempWEBServiceError (IdFactura,CodError,DescripcionError,FecRegistro) 
VALUES(@IdFactura, @CodError, @DescripcionError, @FecRegistro)";
                            SqlCommand cmdInsertarError = new SqlCommand(qryInsertaError, conn);
                            cmdInsertarError.Parameters.Add("@IdFactura", SqlDbType.Int).Value             = nroFactura;
                            cmdInsertarError.Parameters.Add("@CodError", SqlDbType.VarChar).Value          = respuesta.codigo;
                            cmdInsertarError.Parameters.Add("@DescripcionError", SqlDbType.NVarChar).Value = respuesta.mensaje;
                            cmdInsertarError.Parameters.Add("@FecRegistro", SqlDbType.DateTime).Value      = DateTime.Parse(respuesta.fecha);
                            if (cmdInsertarError.ExecuteNonQuery() > 0)
                            {
                                valorRpta = nroFactura.ToString();
                                string     qryDetErr = @"INSERT INTO facFacturaTempWSErrorDetalle (IdFactura,CodError,consecutivo,FecRegistro,DescripcionError) 
VALUES(@IdFactura, @CodError, @consecutivo, @FecRegistro, @DescripcionError)";
                                SqlCommand cmdDetErr = new SqlCommand(qryDetErr, conn);
                                cmdDetErr.Parameters.Add("@IdFactura", SqlDbType.Int);
                                cmdDetErr.Parameters.Add("@CodError", SqlDbType.VarChar);
                                cmdDetErr.Parameters.Add("@consecutivo", SqlDbType.Int);
                                cmdDetErr.Parameters.Add("@FecRegistro", SqlDbType.DateTime);
                                cmdDetErr.Parameters.Add("@DescripcionError", SqlDbType.NVarChar);
                                List <ErroresItem> listaErrores = new List <ErroresItem>();
                                int consecutivo = 1;
                                foreach (ErroresItem itemErr in respuesta.errores)
                                {
                                    cmdDetErr.Parameters["@IdFactura"].Value        = nroFactura;
                                    cmdDetErr.Parameters["@CodError"].Value         = itemErr.codigo;
                                    cmdDetErr.Parameters["@consecutivo"].Value      = consecutivo;
                                    cmdDetErr.Parameters["@FecRegistro"].Value      = DateTime.Parse(respuesta.fecha);
                                    cmdDetErr.Parameters["@DescripcionError"].Value = itemErr.mensaje;
                                    if (cmdDetErr.ExecuteNonQuery() > 0)
                                    {
                                        logFacturas.Info($"Se Inserta Detalle de Errores:codigo{itemErr.codigo} Mensaje:{itemErr.mensaje}");
                                    }
                                    else
                                    {
                                        logFacturas.Info($"No es Posible Insertar Detalle de Errores: Codigo{itemErr.codigo} Mensaje:{itemErr.mensaje}");
                                    }
                                }
                            }
                            else
                            {
                                valorRpta = "99";
                            }
                        }
                    }

                    return(valorRpta);
                }
                catch (Exception e)
                {
                    logFacturas.Warn("Se ha presentado una excepcion:" + e.Message + " Pila de LLamdos:" + e.StackTrace);
                    return("98");
                }
            }
            catch (Exception exp)
            {
                logFacturas.Warn("Se ha presentado una Excepcion:" + exp.Message + "Pila de LLamadas:" + exp.StackTrace);
                return("99");
            }
        }
示例#39
0
 public int InsertDocumentos(Documento b)
 {
     return cl.InsertDocumentos(b);
 }
示例#40
0
 public static void Agregar(Documento documento)
 {
     capaDatos.Agregar(documento);
 }
示例#41
0
 public static void Editar(Documento documento)
 {
     capaDatos.Editar(documento);
 }
示例#42
0
        private bool notificarRechazo(Documento objDocumento, string comentario)
        {
            Console.WriteLine("Vamos a empezar a notificar por correo, ya para terminar, que ya me quiero echar otro sueño!");
            System.Threading.Thread.Sleep(3000);

            //Declaramos una lista la cual almacenará todos los id's de los usuarios que se van a notificar.
            List <string> lUsuariosNotificar = new List <string>();

            lUsuariosNotificar.Add(objDocumento.version.id_usuario);

            string[] correos         = new string[lUsuariosNotificar.Count];
            Usuario  usuarioAutorizo = DataManager.GetUsuario(objDocumento.version.id_usuario_autorizo);

            int i = 0;

            //Iteramos la lista con los id´s de los usuarios para obtener el correo.
            foreach (var item in lUsuariosNotificar)
            {
                string correo = DataManagerControlDocumentos.GetCorreoUsuario(item);
                correos[i] = correo;
                i++;
            }

            ServiceEmail SO_Email = new ServiceEmail();
            string       path     = User.Pathnsf;
            string       title    = "Control de Documentos --> Documento rechazado: " + objDocumento.nombre;
            string       body     = string.Empty;

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que el documento " + objDocumento.nombre + " fué rechazado por " + usuarioAutorizo.Nombre + " " + usuarioAutorizo.ApellidoPaterno + " </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">El motivo de rechazo se muestra en el siguiente texto:</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\"><b>" + comentario + "</b></font></li>";
            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Para corregir el documento, por favor ingrese a la plataforma y en la sección de pendientes por corregir, usted podrá sustituir el documento e iniciar de nuevo el proceso de alta.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Nombre + " " + User.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a> </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            //Ejecutamos el método para notificar por correo
            bool respuesta = SO_Email.SendEmailLotusCustom(path, correos, title, body);

            return(respuesta);

            Console.WriteLine("El correo se envió perron!!");
            System.Threading.Thread.Sleep(3000);
            return(true);
        }
示例#43
0
        static void Main(string[] args)
        {
            string s;
            RssManager lector = new RssManager();

               // Console.WriteLine("Periódico La Verdad");
               // LinkedList<RssFeedItem> lista = lector.ReadFeed("http://www.laverdad.es/murcia/portada.xml");

            Console.WriteLine("Periódico El País");
            LinkedList<RssFeedItem> lista = lector.ReadFeed("http://ep00.epimg.net/rss/elpais/portada.xml");

            Console.WriteLine("----------------------------------------------------------");

            Comun parser = new Comun();

            using (StreamWriter writer = new StreamWriter("C:/Users/USUARIO/Desktop/prueba1.txt", false, Encoding.Default))
            {

                s = parser.Parseado(lista.First().Link, "cuerpo_noticia");

                Console.WriteLine("DIRECCION " + lista.First().Link);
                Console.WriteLine("TEXTO DE LA NOTICIA: ", Encoding.UTF8.GetString(s));

                writer.Write(s);
                writer.Close();
            }

            ///////

            Documento tf = new Documento("C:/Users/USUARIO/Desktop/prueba1.txt");
            string word;
            //			Double[] corpusdata;
            //			String[] bwords;
            string[] tokens;

            tokens = lista.First().Title.Split(':', ';', ' ', '\"', '\'', ',', '.', '[', ']', '{', '}', '(', ')', '!', '?', '/');
            foreach (string t in tokens)
            {
                word = t.ToLower();
                word.Trim();
                if (tf.isStopWord(word)) continue;
                tf.getTitleWords().AddLast(word);
            }
            Console.WriteLine("----------------------------------------------------------");

            //////////////// Muestra las palabras con mayor TF //////////////////////

            Console.WriteLine("PALABRAS IMPORTANTES");
            Console.WriteLine("------------------------------------------");
            string[] bwords = tf.bestWordList(5);
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(bwords[i]);
            }
            Console.WriteLine("\n");

            ////////////////////////////

            tf.obtenerFrases("C:/Users/USUARIO/Desktop/prueba1.txt");

            tf.Porcentaje(60);
            Console.WriteLine("\n");

            Console.WriteLine("----RESUMEN DE LA NOTICIA----: " + lista.First().Title + "\n");
            Console.WriteLine("Tamaño del resumen antes de procesar: " + tf.getMostradas().Count + "\n");

            foreach (string punto in tf.getMostradas())
            {
                Console.WriteLine(punto + ".");
            }
            Console.WriteLine("\n");

            tf.postProcesado();

            Console.WriteLine("Tamaño del resumen despues de procesar: " + tf.getMostradas().Count + "\n");

            foreach (string punto1 in tf.getMostradas())
            {
                Console.WriteLine(punto1 + ".");
            }
            Console.WriteLine("\n");

            Console.WriteLine("Tamaño Total de la noticia ---> " + tf.getAllSentences().Count);

            // borrar el fichero de salida del que se toma la noticia

            //FileOutputStream fso = new FileOutputStream("C:/Users/USUARIO/Desktop/prueba1.txt");
            //fso.close();

            // borrar el fichero de salida del resumen antes de escribir nuevo resumen

            //FileOutputStream fso1 = new FileOutputStream("C:/Users/USUARIO/Desktop/prueba2.txt");
            //fso1.close();

            // escribir el resumen en el fichero

            using (StreamWriter resumen = new StreamWriter("C:/Users/USUARIO/Desktop/prueba2.txt", false, Encoding.Default))
            {
                foreach (string linea in tf.getMostradas())
                {
                    resumen.Write(linea + ".");
                }
                resumen.Close();
            }
        }
示例#44
0
 private List<Documento> GetRegion(Documento documento)
 {
     var vecinos = new List<Documento>();
     foreach (var doc in LstDocumentos)
     {
         var similitud = _laMatrixDeSimilitud.Get(doc.PosicionEnLista, documento.PosicionEnLista);
         if (similitud <= Eps) vecinos.Add(doc);
     }
     return vecinos;
 }