Ejemplo n.º 1
0
        private int filtrarFacturas()
        {
            bool     cbFechaMarcada = checkBoxFecha.Checked;
            DateTime fini           = dtPickerDesde.Value.Date.AddHours(0).AddMinutes(0).AddSeconds(0);
            DateTime ffin           = dtPickerHasta.Value.Date.AddHours(23).AddMinutes(59).AddSeconds(59);

            if (!checkBoxPacientes_numero_pf.Checked && !checkBoxFecha.Checked && !checkBoxEstado.Checked && !checkBoxPacientes_nombre_cliente.Checked && !checkBoxPacientes_referencia.Checked && !checkBoxPacientes_sopnumbe.Checked)
            {
                cbFechaMarcada = true;
                fini           = fechaIni;
                ffin           = fechaFin;
            }

            listaDeFacturas = mainController.getFacturas(
                checkBoxPacientes_numero_pf.Checked,
                textBoxPacientes_numero_pf_desde.Text,
                textBoxPacientes_numero_pf_hasta.Text,
                cbFechaMarcada,
                fini,
                ffin,
                checkBoxEstado.Checked,
                cmbBEstado.SelectedItem.ToString(),
                checkBoxPacientes_nombre_cliente.Checked,
                textBoxPacientes_nombre_cliente.Text,
                checkBoxPacientes_referencia.Checked,
                textBoxPacientes_referencia.Text,
                checkBoxPacientes_sopnumbe.Checked,
                textBoxPacientes_sopnumbe_desde.Text,
                textBoxPacientes_sopnumbe_hasta.Text
                );
            bindingSource1.DataSource       = listaDeFacturas;
            dgvFacturas.AutoGenerateColumns = false;
            dgvFacturas.DataSource          = bindingSource1;
            dgvFacturas.AutoResizeColumns();
            //dgvFacturas.RowHeadersVisible = false;
            dgvFacturas.Refresh();

            //Restituir las filas marcadas usando la lista de docs no seleccionados
            InicializaCheckBoxDelGrid(dgvFacturas, idxChkBox, LDocsNoSeleccionados);

            return(listaDeFacturas.Count);
        }
Ejemplo n.º 2
0
        public void ProcesaActualizacionDeNumeroFiscalE(List <NFSe> listaFacturasNfse, string carpetaOrigen, string nombreArchivo, MainDB bdGP)
        {
            string rutaYNombreArchivo = string.Empty;
            int    numRegistros       = listaFacturasNfse.Count();

            try
            {
                String msj     = String.Empty;
                int    errores = 0;
                int    i       = 0;
                OnProgreso(1, "INICIANDO ACTUALIZACION DE NFS-e...");

                foreach (NFSe nfselectronica in listaFacturasNfse)
                {
                    rutaYNombreArchivo = Path.Combine(carpetaOrigen.Trim(), nombreArchivo);
                    msj = String.Empty;
                    var docVenta = bdGP.getFacturas(
                        false, string.Empty, string.Empty,
                        false, DateTime.Today, DateTime.Today,
                        false, string.Empty,
                        false, string.Empty,
                        false, string.Empty,
                        true, nfselectronica.Sopnumbe, nfselectronica.Sopnumbe).FirstOrDefault();
                    try
                    {
                        if (docVenta != null)
                        {
                            string tipoMEstados = "DOCVENTA-" + docVenta.estadoContabilizado;
                            nfselectronica.CicloDeVida = new Maquina(docVenta.estadoActual, docVenta.regimen, docVenta.voidstts, "emisor", tipoMEstados);
                            if (nfselectronica.CicloDeVida.Transiciona(Maquina.eventoUploadTxtPrefectura, 1))
                            {
                                bdGP.ActualizaNumeroFiscalElectronico(docVenta.soptype, nfselectronica.numNFSe, nfselectronica.Sopnumbe, out msj);

                                bdGP.CreaLogFactura(docVenta.soptype, nfselectronica.Sopnumbe, string.Empty, nfselectronica.CicloDeVida.idxTargetSingleStatus.ToString(), _usuario, string.Empty, nfselectronica.CicloDeVida.targetSingleStatus,
                                                    nfselectronica.CicloDeVida.targetBinStatus, nfselectronica.CicloDeVida.EstadoEnPalabras(nfselectronica.CicloDeVida.targetBinStatus));

                                bdGP.ActualizaOCreaLogFactura(docVenta.soptype, nfselectronica.Sopnumbe, rutaYNombreArchivo, nfselectronica.CicloDeVida.idxTargetSingleStatus.ToString(), _usuario, string.Empty,
                                                              Maquina.estadoBaseEmisor, Maquina.estadoBaseEmisor,
                                                              nfselectronica.CicloDeVida.targetBinStatus, nfselectronica.CicloDeVida.EstadoEnPalabras(nfselectronica.CicloDeVida.targetBinStatus));
                            }
                            else
                            {
                                msj += nfselectronica.CicloDeVida.sMsj;
                            }
                        }
                        else
                        {
                            msj += "La nota " + nfselectronica.Sopnumbe + " no existe en GP.";
                        }
                    }
                    catch (Exception lo)
                    {
                        string imsj = lo.InnerException == null ? "" : lo.InnerException.ToString();
                        msj = lo.Message + " " + imsj + Environment.NewLine + lo.StackTrace;
                        bdGP.CreaLogFactura(docVenta.soptype, nfselectronica.Sopnumbe, msj, "errDesconocido", _usuario, string.Empty, Maquina.estadoBaseError,
                                            nfselectronica.CicloDeVida.targetBinStatus, lo.Message);
                        errores++;
                    }
                    finally
                    {
                        OnProgreso(i * 100 / numRegistros, "Doc:" + nfselectronica.Sopnumbe + " " + msj.Trim() + Environment.NewLine);              //Notifica al suscriptor
                        i++;
                    }
                    if (errores > 10)
                    {
                        break;
                    }
                }
            }
            finally
            {
                OnProgreso(100, "-----------");
            }
            OnProgreso(100, "Proceso finalizado!");
        }