コード例 #1
0
        /// <summary>
        /// Publica Servicio
        /// </summary>
        /// <returns></returns>
        private RetornoOperacion publicaServicio()
        {
            //Establecemos variable resultado
            RetornoOperacion resultado = null;

            //Consumimos Web Service
            using (DespachoCentral.DespachoClient despacho = new DespachoCentral.DespachoClient())
            {
                //Instanciamos Compañia
                using (SAT_CL.Global.CompaniaEmisorReceptor objCompania = new CompaniaEmisorReceptor(((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                {
                    //Instanciamos Servicio
                    using (SAT_CL.Documentacion.Servicio objServicio = new SAT_CL.Documentacion.Servicio(this._id_servicio))
                    {
                        string resultado_web_service = despacho.PublicaServicio(objServicio.id_servicio, objServicio.id_compania_emisor, objCompania.nombre,
                                                                                objServicio.id_compania_emisor, objCompania.nombre, txtNoServicio.Text, txtConfirmacion.Text, txtObservacion.Text,
                                                                                SAT_CL.Tarifas.TipoCargo.ObtieneTipoCargoDescripcion(objCompania.id_compania_emisor_receptor, "Flete"), Convert.ToDecimal(txtTarifa.Text),
                                                                                Cadena.RegresaCadenaSeparada(txtProducto.Text, "ID:", 0), Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtProducto.Text, ":ID", 1)),
                                                                                Convert.ToDecimal(txtPeso.Text), txtContacto.Text, txtTelefono.Text, chkFull.Checked, chkManiobras.Checked,
                                                                                chkRC.Checked, ddlDimensiones.SelectedItem.Text, SAT_CL.Despacho.ConsumoSOAPCentral.ObtieneParadasPublicacionUnidad(SAT_CL.Despacho.Parada.CargaParadasParaPublicacionDeUnidad(objServicio.id_servicio)),
                                                                                CapaNegocio.m_capaNegocio.RegresaVariableCatalogoBD("Direccion del Servidor", 0), CapaNegocio.m_capaNegocio.RegresaVariableCatalogoBD("Nombre de BD", 0),
                                                                                TSDK.Base.Cadena.VerificaCadenaVacia(SAT_CL.Global.Referencia.CargaReferencia("0", 25, objCompania.id_compania_emisor_receptor, "Consumo Web Service", "Contraseña"), ""),
                                                                                ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).nombre);



                        //Obtenemos Documento generado
                        XDocument xDoc = XDocument.Parse(resultado_web_service);

                        //Validamos que exista Respuesta
                        if (xDoc != null)
                        {
                            //Traduciendo resultado
                            resultado = new RetornoOperacion(Convert.ToInt32(xDoc.Descendants("idRegistro").FirstOrDefault().Value), xDoc.Descendants("mensaje").FirstOrDefault().Value.ToString(), Convert.ToBoolean(xDoc.Descendants("operacionExitosa").FirstOrDefault().Value));


                            //Validamos Resultado
                            if (resultado.OperacionExitosa)
                            {
                                //Personalizamos Mensaje
                                resultado = new RetornoOperacion("El servicio ha sido Publicado", true);
                            }
                        }
                        else
                        {
                            //Establecmos Mensaje Resultado
                            resultado = new RetornoOperacion("No es posible obtener la respuesta de WS");
                        }
                        //Mostrando Mensaje de Operación
                        TSDK.ASP.ScriptServer.MuestraNotificacion(btnPublicar, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                    }
                }

                //Cerramos Conexion
                despacho.Close();
            }

            return(resultado);
        }
コード例 #2
0
        /// <summary>
        /// Realiza la carga del domicilio en base a la entidad que sea requedida
        /// </summary>
        /// <param name="entidad">Entidad que se actualizará ("emisor", "sucursal" y "receptor" son los valores aceptados)</param>
        private void cargaDomicilioRequerido(string entidad)
        {
            //Definiendo objeto domicilio
            Direccion u = new Direccion();

            //Determinando que entidad será consultada
            switch (entidad)
            {
            case "emisor":
                //Instanciando emisor
                using (CompaniaEmisorReceptor em = new CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                    //Instanciando ubicación asignada
                    u = new  Direccion(em.id_direccion);
                //Indicando el control de texto que debe ser afectado
                txtDomicilioEmisor.Text = u.ObtieneDireccionCompleta() + "   ID:" + u.id_direccion.ToString();
                break;

            case "sucursal":
                //Instanciando sucursal
                using (Sucursal suc = new Sucursal(Convert.ToInt32(ddlSucursal.SelectedValue)))
                    //Instanciando ubicación asignada
                    u = new Direccion(suc.id_direccion);
                //Indicando el control de texto que debe ser afectado
                txtDomicilioSucursal.Text = u.ObtieneDireccionCompleta() + "   ID:" + u.id_direccion.ToString();
                break;

            case "receptor":
                //Instanciando receptor
                using (CompaniaEmisorReceptor rec = new CompaniaEmisorReceptor(Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtReceptor.Text, "ID:", 1))))
                    //Instanciando ubicación asignada
                    u = new Direccion(rec.id_direccion);
                //Indicando el control de texto que debe ser afectado
                txtDomicilioReceptor.Text = u.ObtieneDireccionCompleta() + "   ID:" + u.id_direccion.ToString();
                break;

            case "lugar_expedicion":
                //Determinando si el lugar estará dado por el domicilio de sucursal
                if (ddlSucursal.SelectedValue != "0")
                {
                    //Instanciando sucursal
                    using (Sucursal suc = new Sucursal(Convert.ToInt32(ddlSucursal.SelectedValue)))
                        //Instanciando ubicación asignada
                        u = new Direccion(suc.id_direccion);
                }
                else
                {
                    //Instanciando emisor
                    using (CompaniaEmisorReceptor em = new CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                        //Instanciando ubicación asignada
                        u = new Direccion(em.id_direccion);
                }

                //Indicando el control de texto que debe ser afectado
                txtLugarExpedicion.Text = u.municipio + ", " + Catalogo.RegresaDescripcionCatalogo(16, u.id_estado);
                //Actualizando panel, ya que al estar en tabs distintos no se puede añadir el trigger en diseño
                uptxtLugarExpedicion.Update();
                break;
            }
        }
コード例 #3
0
 /// <summary>
 /// Realiza la carga de la cuenta de pago predeterminada para el receptor
 /// </summary>
 private void cargaCuentaPagoReceptor()
 {
     //Instanciando receptor
     using (CompaniaEmisorReceptor rec = new CompaniaEmisorReceptor(Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtReceptor.Text, "ID:", 1))))
     {
         //Si el Método de págo es Transferencia electrónica
         if (ddlMetodoPago.SelectedValue == "10")
         {
             ddlNoCuentaPago.Text    = "NO IDENTIFICADO";
             ddlNoCuentaPago.Enabled = false;
         }
         else
         {
             // ddlNoCuentaPago.Text = rec.no_cuenta_pago;
             ddlNoCuentaPago.Enabled = true;
         }
     }
 }
コード例 #4
0
        /// <summary>
        /// Realiza la descarga del XML del comprobante
        /// </summary>
        private void descargarXML()
        {
            //Instanciando registro en sesión
            using (SAT_CL.FacturacionElectronica.Comprobante c = new SAT_CL.FacturacionElectronica.Comprobante(Convert.ToInt32(Session["id_registro"])))
            {
                //Si existe y está generado
                if (c.generado)
                {
                    //Obteniendo bytes del archivo XML
                    byte[] cfdi_xml = System.IO.File.ReadAllBytes(c.ruta_xml);

                    //Realizando descarga de archivo
                    if (cfdi_xml.Length > 0)
                    {
                        //Instanciando al emisor
                        using (CompaniaEmisorReceptor em = new CompaniaEmisorReceptor(c.id_compania_emisor))
                            Archivo.DescargaArchivo(cfdi_xml, string.Format("{0}_{1}{2}.xml", em.nombre_corto != "" ? em.nombre_corto : em.rfc, c.serie, c.folio), Archivo.ContentType.binary_octetStream);
                    }
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// Inicializa control de Usuario
        /// </summary>
        /// <param name="id_tabla">Tabla de la bitácora (Unidad =19)</param>
        /// <param name="id_registro">Id Registro</param>
        /// <param name="hab_consultar">Habilitación de la Edición</param>
        public void InicializaControl(int id_tabla, int id_registro, bool hab_consultar)
        {
            //Asignando a atributos privados
            this._id_tabla      = id_tabla;
            this._id_registro   = id_registro;
            this._hab_consultar = hab_consultar;

            //Habilitando petición de ubicación sólo si la compañía tiene configurada aplicación móvil
            btnSolicitarUbicacionMovil.Visible = CompaniaEmisorReceptor.ValidaConfiguracionUsoAplicacionMovil(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor).OperacionExitosa;

            //Carga catálogo de tipos de bitácora
            cargaCatalogos();
            //Asigna el valor de inicio a los controles txtFechaInicio (menos un dia) y txtFechaFin el valor de la fecha actual
            txtFechaInicio.Text = Convert.ToString(TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Date.ToString("dd/MM/yyyy HH:mm"));
            txtFechaFin.Text    = Convert.ToString(TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Date.AddDays(1).AddMinutes(-1).ToString("dd/MM/yyyy HH:mm"));

            //Cargando catálogo
            SAT_CL.CapaNegocio.m_capaNegocio.CargaCatalogoGeneral(ddlTamanoBitacoraMonitoreo, "", 18);
            //Realizando carga de Bitácora
            cargaHistorialBitacora();
        }
コード例 #6
0
 /// <summary>
 /// Método para descargar el XML si la nomina de empleado tiene Comprobante versión 3.3
 /// </summary>
 /// <param name="idComprobante33"></param>
 private void descargaXML_comprobante33(int idComprobante33)
 {
     //Instanciar registro en sesión
     using (SAT_CL.FacturacionElectronica33.Comprobante Comprobante33 = new SAT_CL.FacturacionElectronica33.Comprobante(idComprobante33))
     {
         //Si existe y está generado
         if (Comprobante33.bit_generado && Comprobante33.habilitar)
         {
             //Obtener bytes del archivo XML
             byte[] comprobante_nomina_XML = System.IO.File.ReadAllBytes(Comprobante33.ruta_xml);
             //Realizar descarga de archivo
             if (comprobante_nomina_XML.Length > 0)
             {
                 //Instanciar al emisor
                 using (CompaniaEmisorReceptor Emisor = new CompaniaEmisorReceptor(Comprobante33.id_compania_emisor))
                 {
                     Archivo.DescargaArchivo(comprobante_nomina_XML, string.Format("{0}_{1}{2}.xml", Emisor.nombre_corto != "" ? Emisor.nombre_corto : Emisor.rfc, Comprobante33.serie, Comprobante33.folio), Archivo.ContentType.binary_octetStream);
                 }
             }
         }
     }
 }
コード例 #7
0
        /// <summary>
        /// Inicializamos Valores
        /// </summary>
        private void inicializamosValores(UsuarioSesion objUsuarioSesion)
        {
            //Referenciando al usuario de la sesión actual
            using (Usuario u = (Usuario)Session["usuario"])
            {
                //Nombre de Usuario
                lkbUsuario.Text = u.nombre;
                //Fecha de Inicio de Sesión
                lkbInicioSesion.Text = "Inicio Sesión: " + objUsuarioSesion.fecha_inicio.ToString("dd/MM/yyyy HH:mm");

                //Obteniendo el perfil de seguridad actual del usuario
                SAT_CL.Seguridad.PerfilSeguridadUsuario perfilActivo = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(u.id_usuario);
                using (SAT_CL.Seguridad.PerfilSeguridad perfil = new PerfilSeguridad(perfilActivo.id_perfil))
                {
                    //Perfil
                    lkbPerfil.Text = string.Format("Perfil: {0}", perfil.descripcion);
                }

                //Instanciamos Compañia de la sesión actual
                using (CompaniaEmisorReceptor objCompania = new CompaniaEmisorReceptor(((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                {
                    lkbCompania.Text = "Compañía: " + objCompania.nombre_corto;
                }

                //Validamos exista dias de Vigencia (0 = Sin vigencia, es permanente)
                if (u.dias_vigencia > 0)
                {
                    //Si  la vigencia ha caducado
                    if (DateTime.Today.CompareTo(u.fecha_contrasena.Date.AddDays(u.dias_vigencia)) > 0)
                    {
                        //Redireccionamos a pagina Cambio de Contraseña
                        Response.Redirect("~/CambioContrasena.aspx");
                    }
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// Carga valores de un registro determinado
        /// </summary>
        private void inicializaValoresRegistro()
        {
            //Determinando el tipo de carga a realizar en base al estatus
            switch ((Pagina.Estatus)Session["estatus"])
            {
            //Nuevo registro
            case Pagina.Estatus.Nuevo:
                //Id de Registro
                lblID.Text = "ID";
                //Emisor
                using (SAT_CL.Global.CompaniaEmisorReceptor Emisor = new SAT_CL.Global.CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                {
                    txtEmisor.Text = Emisor.nombre + " ID:" + Emisor.id_compania_emisor_receptor.ToString();
                }
                //Serie y Folio
                txtSerie.Text = txtFolio.Text = "";
                //Domicilio Emisor
                cargaDomicilioRequerido("emisor");
                //Sucursal
                ddlSucursal.SelectedValue = "0";
                //Domicilio de Sucursal
                txtDomicilioSucursal.Text = "";
                //Receptor y Domicilio receptor
                txtReceptor.Text = txtDomicilioReceptor.Text = "";
                //Método de Pago predeterminado "Transferencia Electrónica"
                ddlMetodoPago.SelectedValue   = "5";
                ddlNoCuentaPago.SelectedValue = "0";
                //Tipo de Comprobante
                ddlTipoComprobante.SelectedValue = "1";
                //Estatus
                ddlEstatus.SelectedValue = "1";
                //Condiciones de Pago
                ddlCondicionesPago.SelectedValue = "1";
                //Forma de Pago "Una sola exhibición"
                ddlFormaPago.SelectedValue = "1";
                //Parcialidades y Datos de Comprobante Original
                inicializaParcialidades();
                //Moneda y Tipo de Cambio
                ddlMoneda.SelectedValue = "1";
                txtTipoCambio.Text      = "1.0000";
                //Fechas de Captura y Expedición
                txtFechaCaptura.Text = txtFechaExpedicion.Text =
                    //Lugar de Expedición y Sello Digital
                    txtSelloDigital.Text = "";
                cargaDomicilioRequerido("lugar_expedicion");
                //fecha Cancelación
                txtFechaCancelacion.Text = "";
                //Check Timbrado
                chkGenerado.Checked = false;

                //Totales de Comprobante
                lblSubtotalCaptura.Text                           =
                    lblSubtotalNacional.Text                      =
                        lblDescuentosCaptura.Text                 =
                            lblDescuentosNacional.Text            =
                                lblImpuestosCaptura.Text          =
                                    lblImpuestosNacional.Text     =
                                        lblTotalCaptura.Text      =
                                            lblTotalNacional.Text = string.Format("{0:c4}", 0);
                break;

            //Lectura y edición de registro activo en sesión
            case Pagina.Estatus.Lectura:
            case Pagina.Estatus.Edicion:
                //Instanciando registro comprobante
                using (SAT_CL.FacturacionElectronica.Comprobante c = new SAT_CL.FacturacionElectronica.Comprobante(Convert.ToInt32(Session["id_registro"])))
                {
                    //Asignando valores de registro
                    //Id de Registro
                    lblID.Text = c.id_comprobante.ToString();
                    //Serie y Folio
                    txtSerie.Text = c.serie;
                    txtFolio.Text = c.folio.ToString();
                    //Emisor
                    using (SAT_CL.Global.CompaniaEmisorReceptor Emisor = new SAT_CL.Global.CompaniaEmisorReceptor(c.id_compania_emisor))
                    {
                        txtEmisor.Text = Emisor.nombre + " ID:" + Emisor.id_compania_emisor_receptor.ToString();
                    }
                    //Domicilio Emisor
                    cargaDomicilioRequerido("emisor");
                    //Sucursal
                    ddlSucursal.SelectedValue = c.id_sucursal.ToString();
                    //Domicilio de Sucursal
                    cargaDomicilioRequerido("sucursal");
                    //Receptor y Domicilio receptor
                    using (CompaniaEmisorReceptor r = new CompaniaEmisorReceptor(c.id_compania_receptor))
                    {
                        txtReceptor.Text = r.nombre + "   ID:" + r.id_compania_emisor_receptor.ToString();
                    }

                    cargaDomicilioRequerido("receptor");

                    //Método de Pago predeterminado "Transferencia Electrónica"
                    ddlMetodoPago.SelectedValue = c.id_metodo_pago.ToString();
                    //Cargando Cuentas Pago
                    SAT_CL.CapaNegocio.m_capaNegocio.CargaCatalogo(ddlNoCuentaPago, 42, "NO IDENTIFICADO", 25, "", c.id_compania_receptor, "");
                    ddlNoCuentaPago.SelectedValue = c.id_cuenta_pago.ToString();
                    //Tipo de Comprobante
                    ddlTipoComprobante.SelectedValue = ((byte)c.tipo_comprobante).ToString();
                    //Estatus
                    ddlEstatus.SelectedValue = ((byte)c.estatus_comprobante).ToString();
                    //Condiciones de Pago
                    ddlCondicionesPago.SelectedValue = c.id_condiciones_pago.ToString();
                    //Forma de Pago "Una sola exhibición"
                    ddlFormaPago.SelectedValue = c.id_forma_pago.ToString();
                    //Parcialidades y Datos de Comprobante Original
                    txtNoParcialidad.Text      = c.no_parcialidad.ToString();
                    txtTotalParcialidades.Text = c.total_parcialidades.ToString();
                    txtSerieOriginal.Text      = c.serie_folio_original;
                    txtFolioOriginal.Text      = c.folio_original.ToString();
                    txtMontoFolioOriginal.Text = c.monto_folio_original.ToString();
                    txtFechaFolioOriginal.Text = Fecha.ConvierteDateTimeString(c.fecha_folio_original, "yyyy/MM/dd hh:mm:ss tt");
                    //Moneda y Tipo de Cambio
                    if (c.id_moneda > 1)
                    {
                        using (TipoCambio tc = new TipoCambio(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, c.id_moneda, c.fecha_tipo_cambio, 0))
                        {
                            ddlMoneda.SelectedValue = tc.id_moneda.ToString();
                            txtTipoCambio.Text      = tc.valor_tipo_cambio.ToString();
                        }
                    }
                    //Si no hay tipo de cambio
                    else
                    {
                        ddlMoneda.SelectedValue = "1";
                        txtTipoCambio.Text      = "1.0000";
                    }
                    //Fechas de Captura y Expedición
                    txtFechaCaptura.Text    = c.fecha_captura.ToString("yyyy/MM/dd hh:mm:ss tt");
                    txtFechaExpedicion.Text = Fecha.ConvierteDateTimeString(c.fecha_expedicion, "yyyy/MM/dd hh:mm:ss tt");
                    //Lugar de Expedición y Sello Digital
                    txtLugarExpedicion.Text = c.lugar_expedicion;
                    txtSelloDigital.Text    = c.sello;
                    //fecha Cancelación
                    txtFechaCancelacion.Text = Fecha.ConvierteDateTimeString(c.fecha_cancelacion, "yyyy/MM/dd hh:mm:ss tt");
                    //Check Timbrado
                    chkGenerado.Checked = c.generado;

                    //Totales de Comprobante
                    lblSubtotalCaptura.Text    = string.Format("{0:c4}", c.subtotal_moneda_captura);
                    lblSubtotalNacional.Text   = string.Format("{0:c4}", c.subtotal_moneda_nacional);
                    lblDescuentosCaptura.Text  = string.Format("{0:c4}", c.descuento_moneda_captura);
                    lblDescuentosNacional.Text = string.Format("{0:c4}", c.descuento_moneda_nacional);
                    lblImpuestosCaptura.Text   = string.Format("{0:c4}", c.impuestos_moneda_captura);
                    lblImpuestosNacional.Text  = string.Format("{0:c4}", c.impuestos_moneda_nacional);
                    lblTotalCaptura.Text       = string.Format("{0:c4}", c.total_moneda_captura);
                    lblTotalNacional.Text      = string.Format("{0:c4}", c.total_moneda_nacional);
                }
                break;
            }

            //Estableciendo indice de tab por default
            //tbcComprobante.ActiveTabIndex = 0;
        }
コード例 #9
0
        /// <summary>
        /// Exportar XML y PDF de la nomina de empleados
        /// </summary>
        private void exportarNominasEmpleado()
        {
            //Declarar lista de archivos
            List <KeyValuePair <string, byte[]> > archivos = new List <KeyValuePair <string, byte[]> >();
            //Declarar lista de errores
            List <string> errores = new List <string>();

            //Verificar que el gridview contenga registros
            if (gvNominaEmpleados.DataKeys.Count > 0)
            {
                //Obtener filas seleccionadas
                GridViewRow[] filasSeleccionadas = Controles.ObtenerFilasSeleccionadas(gvNominaEmpleados, "chkVariosNominaEmpleado");
                //Verificar que existan filas seleccionadas
                if (filasSeleccionadas.Length > 0)
                {
                    //Almacenar rutas en un arreglo
                    foreach (GridViewRow row in filasSeleccionadas)
                    {//Instanciar Nomina de Empleado del valor obtenido de la fila seleccionada
                        using (SAT_CL.Nomina.NomEmpleado NomEmp = new SAT_CL.Nomina.NomEmpleado(Convert.ToInt32(gvNominaEmpleados.DataKeys[row.RowIndex].Value)))
                        {
                            //Instanciar al comprobante que corresponde a la nómina
                            //Si la nomina de empleado usa comprobante en la version anterior
                            if (NomEmp.id_comprobante != 0)
                            {
                                using (SAT_CL.FacturacionElectronica.Comprobante Comprobante = new SAT_CL.FacturacionElectronica.Comprobante(NomEmp.id_comprobante))
                                {
                                    //Validar seleccion de PDF
                                    if (chkPDF.Checked == true)
                                    {
                                        //Añadir PDF
                                        using (CompaniaEmisorReceptor Emisor = new CompaniaEmisorReceptor(Comprobante.id_compania_emisor))
                                        {
                                            archivos.Add(new KeyValuePair <string, byte[]>(Emisor.nombre_corto != "" ? Comprobante.serie : Emisor.rfc + Comprobante.serie + Comprobante.folio.ToString() + ".pdf", NomEmp.GeneraPDFComprobanteNomina33()));
                                        }
                                    }
                                    //Validar seleccion de XML
                                    if (chkXML.Checked == true)
                                    {
                                        //Guardar archivo en arreglo de bytes
                                        byte[] archivoXML = System.IO.File.ReadAllBytes(Comprobante.ruta_xml);
                                        //Añadir XML a la lista
                                        using (CompaniaEmisorReceptor Emisor = new CompaniaEmisorReceptor(Comprobante.id_compania_emisor))
                                        {
                                            archivos.Add(new KeyValuePair <string, byte[]>(Emisor.nombre_corto != "" ? Emisor.nombre_corto : Emisor.rfc + Comprobante.serie + Comprobante.folio.ToString() + ".xml", archivoXML));
                                        }
                                    }
                                }
                            }
                            //Si la nomina de empleado usa comprobante en la version 3.3
                            else if (NomEmp.id_comprobante33 != 0)
                            {
                                using (SAT_CL.FacturacionElectronica33.Comprobante Comprobante33 = new SAT_CL.FacturacionElectronica33.Comprobante(NomEmp.id_comprobante33))
                                {
                                    //Validar seleccion de PDF
                                    if (chkPDF.Checked == true)
                                    {
                                        //Añadir PDF
                                        archivos.Add(new KeyValuePair <string, byte[]>(Comprobante33.serie + Comprobante33.folio.ToString() + ".pdf", NomEmp.GeneraPDFComprobanteNomina33()));
                                    }
                                    //Validar seleccion de XML
                                    if (chkXML.Checked == true)
                                    {
                                        //Guardar archivo en arreglo de bytes
                                        byte[] archivoXML = System.IO.File.ReadAllBytes(Comprobante33.ruta_xml);
                                        //Añadir XML a la lista
                                        archivos.Add(new KeyValuePair <string, byte[]>(Comprobante33.serie + Comprobante33.folio.ToString() + ".xml", archivoXML));
                                    }
                                }
                            }
                        }
                    }
                    //Generar archivo comprimido con las rutas
                    byte[] zip_file = Archivo.ConvirteArchivoZIP(archivos, out errores);
                    //Si al menos un archivo fue correcto; descarga.
                    if (zip_file != null)
                    {
                        Archivo.DescargaArchivo(zip_file, "NominasEmpleado.zip", Archivo.ContentType.binary_octetStream);
                    }
                    else
                    {
                        //Recorrer errores
                        foreach (string error in errores)
                        {
                            //Muestra mensaje de error
                            //lblError.Text += error + "<br>";
                        }
                    }
                }
                else //Mostrar mensaje
                {
                    //lblError.Text ="Debe seleccionar al menos un comprobante.";
                }
            }
        }
コード例 #10
0
        /// <summary>
        /// Carga valores de un registro determinado
        /// </summary>
        private void inicializaValoresRegistro()
        {
            //Determinando el tipo de carga a realizar en base al estatus
            switch ((Pagina.Estatus)Session["estatus"])
            {
            //Nuevo registro
            case Pagina.Estatus.Nuevo:
                //Id de Registro
                lblID.Text = "ID";
                //Serie
                txtSerie.Text = "";
                //Folio
                txtFolio.Text = "";
                //Emisor
                using (SAT_CL.Global.CompaniaEmisorReceptor Emisor = new SAT_CL.Global.CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                {
                    txtEmisor.Text = Emisor.nombre + " ID:" + Emisor.id_compania_emisor_receptor.ToString();
                }
                //Domicilio Emisor
                cargaDomicilioRequerido("emisor");
                //Sucursal
                ddlSucursal.SelectedValue = "0";
                //Receptor y Domicilio receptor
                txtReceptor.Text = "";
                //Método de Pago predeterminado "Transferencia Electrónica"
                ddlMetodoPago.SelectedValue = "5";
                //Tipo de Comprobante
                ddlTipoComprobante.SelectedValue = "1";
                //Estatus
                ddlEstatus.SelectedValue = "1";
                //Confirmacion
                txtConfirmacion.Text = "";
                //Régimen Fiscal
                txtRegimenFiscal.Text = "";
                //Uso CFDI
                ddlUsoCFDI.SelectedValue = "";
                //Condiciones de Pago
                txtCondicionesPago.Text = "";
                //Forma de Pago "Una sola exhibición"
                ddlFormaPago.SelectedValue = "1";
                //Moneda
                ddlMoneda.SelectedValue = "1";
                //Tipo de Cambio
                txtTipoCambio.Text = "1.0000";
                //Fechas de Captura
                txtFechaCaptura.Text = "";
                //Fecha de Expedición
                txtFechaExpedicion.Text = "";
                //Lugar de Expedición
                cargaDomicilioRequerido("lugar_expedicion");
                //Check timbrado
                chkGenerado.Checked = false;
                //Sello digital
                txtSelloDigital.Text = "";
                //fecha Cancelación
                txtFechaCancelacion.Text = "";
                //Totales de Comprobante
                lblSubtotalCaptura.Text                           =
                    lblSubtotalNacional.Text                      =
                        lblDescuentosCaptura.Text                 =
                            lblDescuentosNacional.Text            =
                                lblImpuestosCaptura.Text          =
                                    lblImpuestosNacional.Text     =
                                        lblTotalCaptura.Text      =
                                            lblTotalNacional.Text = string.Format("{0:c4}", 0);
                break;

            //Lectura y edición de registro activo en sesión
            case Pagina.Estatus.Lectura:
            case Pagina.Estatus.Edicion:
                //Instanciando registro comprobante
                using (SAT_CL.FacturacionElectronica33.Comprobante c = new SAT_CL.FacturacionElectronica33.Comprobante(Convert.ToInt32(Session["id_registro"])))
                {
                    //Asignando valores de registro
                    //Id de Registro
                    lblID.Text = c.id_comprobante33.ToString();
                    //Serie
                    txtSerie.Text = c.serie;
                    //Folio
                    txtFolio.Text = c.folio.ToString();
                    //Emisor
                    using (SAT_CL.Global.CompaniaEmisorReceptor Emisor = new SAT_CL.Global.CompaniaEmisorReceptor(c.id_compania_emisor))
                    {
                        txtEmisor.Text = Emisor.nombre + " ID:" + Emisor.id_compania_emisor_receptor.ToString();
                    }
                    //Domicilio Emisor
                    cargaDomicilioRequerido("emisor");
                    //Sucursal
                    ddlSucursal.SelectedValue = c.id_sucursal.ToString();
                    //Receptor y Domicilio receptor
                    using (CompaniaEmisorReceptor r = new CompaniaEmisorReceptor(c.id_compania_receptor))
                    {
                        txtReceptor.Text = r.nombre + "   ID:" + r.id_compania_emisor_receptor.ToString();
                    }
                    //Método de Pago predeterminado "Transferencia Electrónica"
                    ddlMetodoPago.SelectedValue = c.id_metodo_pago.ToString();
                    //Tipo de Comprobante
                    ddlTipoComprobante.SelectedValue = ((byte)c.id_tipo_comprobante).ToString();
                    //Estatus
                    ddlEstatus.SelectedValue = ((byte)c.id_estatus_vigencia).ToString();
                    //Condiciones de Pago
                    txtCondicionesPago.Text = c.condicion_pago.ToString();
                    //Forma de Pago "Una sola exhibición"
                    ddlFormaPago.SelectedValue = c.id_forma_pago.ToString();
                    //Moneda
                    ddlMoneda.SelectedValue = c.id_moneda.ToString();
                    //Tipo de Cambio
                    txtTipoCambio.Text = c.tipo_cambio.ToString();
                    //Fechas de Captura
                    txtFechaCaptura.Text = c.fecha_captura.ToString("yyyy/MM/dd hh:mm:ss tt");
                    //Fecha de Expedición
                    txtFechaExpedicion.Text = Fecha.ConvierteDateTimeString(c.fecha_expedicion, "yyyy/MM/dd hh:mm:ss tt");
                    //Lugar de Expedición
                    txtLugarExpedicion.Text = c.lugar_expedicion;
                    //Check Timbrado
                    chkGenerado.Checked = c.bit_generado;
                    //Sello Digital
                    txtSelloDigital.Text = c.sello;
                    //fecha Cancelación
                    txtFechaCancelacion.Text = Fecha.ConvierteDateTimeString(c.fecha_cancelacion, "yyyy/MM/dd hh:mm:ss tt");

                    //Totales de Comprobante
                    lblSubtotalCaptura.Text    = string.Format("{0:c4}", c.subtotal_captura);
                    lblSubtotalNacional.Text   = string.Format("{0:c4}", c.subtotal_nacional);
                    lblDescuentosCaptura.Text  = string.Format("{0:c4}", c.descuentos_captura);
                    lblDescuentosNacional.Text = string.Format("{0:c4}", c.descuentos_nacional);
                    lblImpuestosCaptura.Text   = string.Format("{0:c4}", c.impuestos_captura);
                    lblImpuestosNacional.Text  = string.Format("{0:c4}", c.impuestos_nacional);
                    lblTotalCaptura.Text       = string.Format("{0:c4}", c.total_captura);
                    lblTotalNacional.Text      = string.Format("{0:c4}", c.total_nacional);
                }
                break;
            }
            //Estableciendo indice de tab por default
            //tbcComprobante.ActiveTabIndex = 0;
        }
コード例 #11
0
        /// <summary>
        /// Recupera información de interés del servicio y la envía en un archivo a un servidor FTP especificado
        /// </summary>
        /// <param name="secuencia">Secuencia de notificación del servicio</param>
        /// <param name="codificacion">Codificación del archivo</param>
        /// <returns></returns>
        private RetornoOperacion enviaInformacionServicioFTP(int secuencia, System.Text.Encoding codificacion)
        {
            //Declarando objeto de resultado sin errores
            RetornoOperacion resultado = new RetornoOperacion(this._id_servicio);

            //Obteniendo Proveedores FTP
            using (DataTable dtProveedoresFTP = SAT_CL.Monitoreo.ProveedorWS.ObtieneProveedoresFTP(this._id_compania_emisor))
            {
                //Validando Proveedores
                if (Validacion.ValidaOrigenDatos(dtProveedoresFTP))
                {
                    //Recorriendo Datos
                    foreach (DataRow dr in dtProveedoresFTP.Rows)
                    {
                        //Validando la Compania
                        if (this._id_compania_emisor == 76)
                        {
                            switch (dr["Identificador"].ToString())
                            {
                            case "TEM - Omnitracs FTP":
                            {
                                //Realizando la recuperación de información
                                using (DataTable mit = Reportes.CargaInformacionServicioOmnitracs(this._id_servicio, Convert.ToInt32(dr["Id"])))
                                {
                                    //Si hay elementos que utilizar
                                    if (mit != null)
                                    {
                                        //Instanciando compañía a la que pertenece el servicio
                                        using (CompaniaEmisorReceptor comp = new CompaniaEmisorReceptor(this._id_compania_emisor))
                                        {
                                            //Definiendo variables auxiliares
                                            string no_viaje     = "";
                                            byte[] bytesArchivo = null;

                                            //Creando archivo en memoria
                                            using (MemoryStream archivo = new MemoryStream())
                                            {
                                                //Creando escritos de texto en flujo
                                                StreamWriter escritor = new StreamWriter(archivo, codificacion);

                                                //Añadiendo encabezado
                                                escritor.Write("OPERACION|FECHA VIAJE|DT|PI ORIGEN|CITA LLEGADA ORIGEN|PI DESTINO|CITA LLEGADA DESTINO|SHIPPER|RUTA MAESTRA|EJE TRANSITO|NIVEL SEGURIDAD|SCAC|OPERADOR|VEHICULO|PLATPORTABLE1|PORTABLE1|TIPO REMOLQUE|REMOLQUE1|PLATPORTABLE2|PORTABLE2|REMOLQUE2|PLATPORTABLE3|PORTABLE3|SHIPPER2|DESCRIPCION|EVENTO LOG1|EVENTO LOG2");

                                                //Dando el formato solicitado para el contenido del archivo
                                                foreach (DataRow r in mit.Rows)
                                                {
                                                    //Extrayendo número de viaje
                                                    no_viaje = Cadena.TruncaCadena(string.Format("{0}{1}", r["DT"].ToString(), secuencia > 0 ? "-" + secuencia.ToString() : ""), 15, "");

                                                    //Nueva linea de texto
                                                    string linea = string.Format("{0}|{1}|NS{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|{12}|{13}|{14}|{15}|{16}|{17}|{18}|{19}|{20}|{21}|{22}|{23}|{24}|{25}|{26}",
                                                                                 Cadena.TruncaCadena(r["Operacion"].ToString(), 3, ""), r.Field <DateTime>("FechaViaje").ToString("dd/MM/yyyy HH:mm"), no_viaje,
                                                                                 Cadena.TruncaCadena(r["PiOrigen"].ToString(), 31, ""), r.Field <DateTime>("CitaLlegadaOrigen").ToString("dd/MM/yyyy HH:mm"), Cadena.TruncaCadena(r["PiDestino"].ToString(), 31, ""),
                                                                                 r.Field <DateTime>("CitaLlegadaDestino").ToString("dd/MM/yyyy HH:mm"), Cadena.TruncaCadena(r["Shipper"].ToString(), 30, ""), Cadena.TruncaCadena(r["RutaMaestra"].ToString(), 30, ""),
                                                                                 Cadena.TruncaCadena(r["EjeTransito"].ToString(), 30, ""), Cadena.TruncaCadena(r["NivelSeguridad"].ToString(), 8, ""), Cadena.TruncaCadena(r["SCAC"].ToString(), 4, ""),
                                                                                 Cadena.TruncaCadena(r["Operador"].ToString(), 40, ""), Cadena.TruncaCadena(r["Vehiculo"].ToString(), 30, ""), Cadena.TruncaCadena(r["PlatPortable1"].ToString(), 10, ""),
                                                                                 Cadena.TruncaCadena(r["Portable1"].ToString(), 15, ""), Cadena.TruncaCadena(r["TipoRemolque"].ToString(), 30, ""), Cadena.TruncaCadena(r["Remolque1"].ToString(), 30, ""),
                                                                                 Cadena.TruncaCadena(r["PlatPortable2"].ToString(), 10, ""), Cadena.TruncaCadena(r["Portable2"].ToString(), 15, ""), Cadena.TruncaCadena(r["Remolque2"].ToString(), 30, ""),
                                                                                 Cadena.TruncaCadena(r["PlatPortable3"].ToString(), 10, ""), Cadena.TruncaCadena(r["Portable3"].ToString(), 15, ""), Cadena.TruncaCadena(r["Shipper2"].ToString(), 30, ""),
                                                                                 Cadena.TruncaCadena(r["Descripcion"].ToString(), 30, ""), Cadena.TruncaCadena(r["EventoLog1"].ToString(), 15, ""), Cadena.TruncaCadena(r["EventoLog2"].ToString(), 15, ""));

                                                    //Añadiendo linea creada
                                                    if (!string.IsNullOrEmpty(linea))
                                                    {
                                                        escritor.Write(Environment.NewLine + linea);
                                                    }
                                                }

                                                //Confirmando cambios en flujo y liberando recursos de escritor
                                                escritor.Flush();

                                                //Obteniendo arreglo de bytes del flujo de archivo
                                                bytesArchivo = TSDK.Base.Flujo.ConvierteFlujoABytes(archivo);
                                            }

                                            //Recuperando datos de autenticación en servidor FTP
                                            string servidorFTP   = dr["Endpoint"].ToString();
                                            string usuarioFTP    = dr["Usuario"].ToString();
                                            string contrasenaFTP = dr["Contraseña"].ToString();

                                            try
                                            {
                                                //Definiendo nombre de archivo
                                                string nombre_archivo = string.Format("{0}-DT{1}_{2:ddMMyyyy_HHmmss}.csv", comp.nombre_corto, no_viaje, Fecha.ObtieneFechaEstandarMexicoCentro());
                                                //Creando peticioón FTP
                                                FtpWebRequest peticionFTP = FTP.CreaPeticionFTP(string.Format("{0}/{1}", servidorFTP, nombre_archivo), WebRequestMethods.Ftp.UploadFile, usuarioFTP, contrasenaFTP);
                                                //Dimensionando archivo por transferir en la petición
                                                peticionFTP.ContentLength = bytesArchivo.Length;

                                                //Recuperando flujo de petición ftp
                                                Stream flujoPeticionFTP = peticionFTP.GetRequestStream();
                                                //Añadiendo bytes del archivo creado a flujo de petición (escribiendo)
                                                flujoPeticionFTP.Write(bytesArchivo, 0, bytesArchivo.Length);
                                                //Cerrando flujo de escritura de archivo
                                                flujoPeticionFTP.Close();
                                            }
                                            //Si no hubo petición devuelta
                                            catch (NullReferenceException)
                                            {
                                                //En caso de error
                                                resultado = new RetornoOperacion(string.Format("Error al crear petición al servidor FTP '{0}'.", servidorFTP));

                                                using (EventLog eventLog = new EventLog("Application"))
                                                {
                                                    eventLog.Source = "Application";
                                                    eventLog.WriteEntry(resultado.Mensaje, EventLogEntryType.Information, 101, 1);
                                                }
                                            }
                                            catch (Exception ex)
                                            {
                                                //En caso de error
                                                resultado = new RetornoOperacion(ex.Message);

                                                using (EventLog eventLog = new EventLog("Application"))
                                                {
                                                    eventLog.Source = "Application";
                                                    eventLog.WriteEntry(resultado.Mensaje, EventLogEntryType.Information, 101, 1);
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        resultado = new RetornoOperacion("No pudo ser recuperada la información del servicio para su envío.");
                                    }
                                }
                                break;
                            }

                            case "TEM - Unicomm FTP":
                            {
                                //Realizando la recuperación de información
                                using (DataTable mit = Reportes.CargaInformacionServicioOmnitracs(this._id_servicio, Convert.ToInt32(dr["Id"])))
                                {
                                    //Si hay elementos que utilizar
                                    if (mit != null)
                                    {
                                        //Definiendo variables auxiliares
                                        string no_viaje     = "";
                                        byte[] bytesArchivo = Excel.BytesDataTableExcel(mit, "Reporte UNICOMM FTP", new string[] { "FechaViaje", "CitaLlegadaDestino", "CitaLlegadaOrigen" });
                                        //Recuperando datos de autenticación en servidor FTP
                                        string servidorFTP   = dr["Endpoint"].ToString();
                                        string usuarioFTP    = dr["Usuario"].ToString();
                                        string contrasenaFTP = dr["Contraseña"].ToString();

                                        //Instanciando compañía a la que pertenece el servicio
                                        using (CompaniaEmisorReceptor comp = new CompaniaEmisorReceptor(this._id_compania_emisor))
                                        {
                                            try
                                            {
                                                //Definiendo nombre de archivo
                                                string nombre_archivo = string.Format("{0}-DT{1}_{2:ddMMyyyy_HHmmss}.xlsx", comp.nombre_corto, no_viaje, Fecha.ObtieneFechaEstandarMexicoCentro());
                                                //Creando peticioón FTP
                                                FtpWebRequest peticionFTP = FTP.CreaPeticionFTP(string.Format("{0}/{1}", servidorFTP, nombre_archivo), WebRequestMethods.Ftp.UploadFile, usuarioFTP, contrasenaFTP);
                                                //Dimensionando archivo por transferir en la petición
                                                peticionFTP.ContentLength = bytesArchivo.Length;
                                                //Recuperando flujo de petición ftp
                                                Stream flujoPeticionFTP = peticionFTP.GetRequestStream();
                                                //Añadiendo bytes del archivo creado a flujo de petición (escribiendo)
                                                flujoPeticionFTP.Write(bytesArchivo, 0, bytesArchivo.Length);
                                                //Cerrando flujo de escritura de archivo
                                                flujoPeticionFTP.Close();
                                                //Guardamos el Archivo en la Ruta Especifica
                                                Archivo.GuardaArchivoCreandoRuta(bytesArchivo, string.Format(@"{0}UnicommTEM\{1}", SAT_CL.CapaNegocio.m_capaNegocio.RegresaVariableCatalogoBD("Directorio Raíz Gestor Archivos SAT"), nombre_archivo), false);
                                            }
                                            //Si no hubo petición devuelta
                                            catch (NullReferenceException)
                                            {
                                                //En caso de error
                                                resultado = new RetornoOperacion(string.Format("Error al crear petición al servidor FTP '{0}'.", servidorFTP));

                                                using (EventLog eventLog = new EventLog("Application"))
                                                {
                                                    eventLog.Source = "Application";
                                                    eventLog.WriteEntry(resultado.Mensaje, EventLogEntryType.Information, 101, 1);
                                                }
                                            }
                                            catch (Exception ex)
                                            {
                                                //En caso de error
                                                resultado = new RetornoOperacion(ex.Message);

                                                using (EventLog eventLog = new EventLog("Application"))
                                                {
                                                    eventLog.Source = "Application";
                                                    eventLog.WriteEntry(resultado.Mensaje, EventLogEntryType.Information, 101, 1);
                                                }
                                            }
                                        }
                                    }
                                }
                                break;
                            }
                            }
                        }
                    }
                }
            }

            //Devolviendo resultado
            return(resultado);
        }
コード例 #12
0
ファイル: CertificadoDigital.aspx.cs プロジェクト: lulzzz/SAT
        /// <summary>
        /// Metodo encargado de Guardar un Proveedor
        /// </summary>
        private void guardaCertificadoDigital()
        {
            //Validamos que exista carga de Archivos
            if (ViewState["ExtensionArchivoCer"] != null && ViewState["ExtensionArchivoKey"] != null)
            {
                //Validamos Archivo
                if (ViewState["ExtensionArchivoCer"].ToString() == ".cer" && ViewState["ExtensionArchivoKey"].ToString() == ".key")
                {
                    //Declaracion de objeto resultado
                    RetornoOperacion resultado = new RetornoOperacion();
                    //Declaramos Variable para Guardar Certificado
                    int id_Certificado = 0, id_archivo_cer = 0;
                    //Creamos la transacción
                    using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                    {
                        //De acuerdo al estatus de la pagina
                        switch ((Pagina.Estatus)Session["estatus"])
                        {
                        //Insertando Proveedor
                        case Pagina.Estatus.Nuevo:
                        {
                            resultado = SAT_CL.Global.CertificadoDigital.InsertaCertificado(Convert.ToInt32(ddlEmisor.SelectedValue),
                                                                                            Convert.ToInt32(ddlSucursal.SelectedValue), (SAT_CL.Global.CertificadoDigital.TipoCertificado)
                                                                                            Convert.ToByte(ddlTipo.SelectedValue), txtNuevaContrasena.Text,
                                                                                            txtNuevaContrasenaRevocacion.Text, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario
                                                                                            );
                            //Asignamos Variable Certificado
                            id_Certificado = resultado.IdRegistro;

                            //Si se insertó Correctamen el Ceriticado Digital
                            if (resultado.OperacionExitosa)
                            {
                                int key = 0;
                                int cer = 0;
                                //Validamos Tipo de Certificado
                                switch ((SAT_CL.Global.CertificadoDigital.TipoCertificado)Convert.ToInt32(ddlTipo.SelectedValue))        //FIEL
                                {
                                case SAT_CL.Global.CertificadoDigital.TipoCertificado.FIEL:
                                    cer = 12;;
                                    key = 14;
                                    break;

                                case SAT_CL.Global.CertificadoDigital.TipoCertificado.CSD:
                                    cer = 13;
                                    key = 15;
                                    break;
                                }

                                //Instanciamos Emisor
                                using (CompaniaEmisorReceptor objEmisor = new CompaniaEmisorReceptor(Convert.ToInt32(ddlEmisor.SelectedValue)))
                                {
                                    //Validamos Emisor
                                    if (objEmisor.id_compania_emisor_receptor > 0)
                                    {
                                        //Construyendo ruta de almacenamiento de certificados
                                        string ruta_certificado = string.Format(@"{0}{1}\{2}-{3}", SAT_CL.CapaNegocio.m_capaNegocio.RegresaVariableCatalogoBD("Directorio Raíz Gestor Archivos SAT"), 114.ToString("0000"), id_Certificado.ToString("0000000"), TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().ToString("yyMMddHHmmss"));
                                        //Insertamos Archivo Registro .cer
                                        resultado = ArchivoRegistro.InsertaArchivoRegistro(114, id_Certificado, cer,
                                                                                           "", ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, (byte[])ViewState["BytesArchivoCer"], ruta_certificado + ".cer");
                                        //Validamos Resultado
                                        if (resultado.OperacionExitosa)
                                        {
                                            //Asignando Id de archivo certificado (.cer)
                                            id_archivo_cer = resultado.IdRegistro;

                                            //Insertamos Archivo Registro (.key)
                                            resultado = ArchivoRegistro.InsertaArchivoRegistro(114, id_Certificado, key,
                                                                                               "", ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, (byte[])ViewState["BytesArchivoKey"], ruta_certificado + ".key");

                                            //Si no se guardó correctamente
                                            if (!resultado.OperacionExitosa)
                                            {
                                                //Deshabilitamos Registros Archivo
                                                using (ArchivoRegistro objArchivoKey = new ArchivoRegistro(id_archivo_cer))
                                                    //Deshabilitamos Registro
                                                    objArchivoKey.DeshabilitaArchivoRegistro(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        resultado = new RetornoOperacion("No se encontrarón datos complementarios Emisor");
                                    }
                                }
                            }

                            break;
                        }

                        case Pagina.Estatus.Edicion:
                        {
                            break;
                        }
                        }
                        //ValidamosResultado
                        if (resultado.OperacionExitosa)
                        {
                            //Finalizamos Transacción
                            scope.Complete();
                        }
                    }
                    //Validamos que la operacion se haya realizado
                    if (resultado.OperacionExitosa)
                    {
                        //Establecemos el id del registro
                        Session["id_registro"] = id_Certificado;
                        //Establecemos el estatus de la forma
                        Session["estatus"] = Pagina.Estatus.Lectura;
                        //Inicializamos la forma
                        inicializaPagina();
                    }

                    //Actualizamos la etiqueta de errores
                    lblError.Text = resultado.Mensaje;
                }
                else
                {
                    lblError.Text = "Los archivos de certificado seleccionados no tienen las extensiones apropiadas.";
                }
            }
            else
            {
                lblError.Text = "Los archivos aún no se han cargado.";
            }
        }
コード例 #13
0
        /// <summary>
        /// Método Privado encargado de Inicializar los Valores
        /// </summary>
        private void inicializaValores()
        {
            //Validando el estatus de la Página
            switch ((Pagina.Estatus)Session["estatus"])
            {
            case Pagina.Estatus.Nuevo:
            {
                //Asignando Valores
                lblId.Text           = "Por Asignar";
                txtTotalCobrado.Text = "0.00";
                txtTotalDeuda.Text   =

                    txtMontoCobro.Text =
                        txtSaldo.Text  =
                            //txtDiasCobro.Text = "0";
                            txtEntidad.Text        =
                                txtReferencia.Text = "";
                txtFechaIni.Text    = TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().ToString("dd/MM/yyyy");
                txtFechaUltCob.Text = "";

                //Inicializando Cobro Recurrente
                TSDK.ASP.Controles.InicializaGridview(gvCobroRecurrenteLiquidacion);

                break;
            }

            case Pagina.Estatus.Lectura:

            case Pagina.Estatus.Edicion:
            {
                //Instanciando Cobro Recurrente
                using (SAT_CL.Liquidacion.CobroRecurrente cr = new SAT_CL.Liquidacion.CobroRecurrente(Convert.ToInt32(Session["id_registro"])))
                {
                    //Validando que exista el Registro
                    if (cr.id_cobro_recurrente != 0)
                    {
                        //Asignando Valores
                        lblId.Text           = cr.id_cobro_recurrente.ToString();
                        txtTotalDeuda.Text   = cr.total_deuda.ToString();
                        txtTotalCobrado.Text = cr.total_cobrado.ToString();
                        txtSaldo.Text        = cr.saldo.ToString();
                        txtMontoCobro.Text   = cr.monto_cobro.ToString();
                        //txtDiasCobro.Text = cr.dias_cobro.ToString();
                        ddlTipoEntApl.SelectedValue          = cr.id_tipo_entidad_aplicacion.ToString();
                        ddlTipoCobroRecurrente.SelectedValue = cr.id_tipo_cobro_recurrente.ToString();

                        //Validando si el tipo de entidad
                        if (cr.id_operador != 0)
                        {
                            /**** Operador ****/
                            using (Operador op = new Operador(cr.id_operador))
                            {           //Validando si existe
                                if (op.id_operador != 0)
                                {
                                    //Asignando Valor
                                    txtEntidad.Text = op.nombre + " ID:" + op.id_operador.ToString();
                                }
                            }
                        }
                        else if (cr.id_proveedor_compania != 0)
                        {
                            /**** Proveedor ****/
                            using (CompaniaEmisorReceptor pro = new CompaniaEmisorReceptor(cr.id_proveedor_compania))
                            {
                                //Validando si existe
                                if (pro.id_compania_emisor_receptor != 0)
                                {
                                    //Asignando Valor
                                    txtEntidad.Text = pro.nombre + " ID:" + pro.id_compania_emisor_receptor.ToString();
                                }
                            }
                        }
                        else if (cr.id_unidad != 0)
                        {
                            /**** Unidad ****/
                            using (Unidad uni = new Unidad(cr.id_unidad))
                            {
                                //Validando si existe
                                if (uni.id_unidad != 0)
                                {
                                    //Asignando Valor
                                    txtEntidad.Text = uni.numero_unidad + " ID:" + uni.id_unidad.ToString();
                                }
                            }
                        }
                        else if (cr.id_empleado != 0)
                        {
                            /**** Empleado ****/
                            txtEntidad.Text = " ID:" + cr.id_empleado.ToString();
                        }

                        //Asignando los Valores
                        txtReferencia.Text              = cr.referencia;
                        txtFechaIni.Text                = cr.fecha_inicial.ToString("dd/MM/yyyy");
                        txtFechaUltCob.Text             = cr.fecha_ultimo_cobro.ToString("dd/MM/yyyy") == "01/01/0001" ? "" : cr.fecha_ultimo_cobro.ToString("dd/MM/yyyy");
                        ddlEstatusTermino.SelectedValue = cr.id_estatus_termino.ToString();

                        //Invocando Método de Carga de Historial de Cobros
                        cargaCobrosRecurrentesTotales(cr.id_cobro_recurrente, cr.id_tipo_entidad_aplicacion, cr.id_unidad, cr.id_operador, cr.id_proveedor_compania, cr.id_compania_emisor);
                    }
                }

                break;
            }
            }
        }
コード例 #14
0
ファイル: Movimiento2.cs プロジェクト: lulzzz/SAT
        /// <summary>
        /// Mètodo encargado de validar pagos ligados al movimiento
        /// </summary>
        /// <returns></returns>
        private RetornoOperacion validaPagos()
        {
            //Declaramos objeto retorno
            RetornoOperacion resultado = new RetornoOperacion(0);

            //Obtenemos Asignaciones Liquidadas
            using (DataTable mitAsignaciones = MovimientoAsignacionRecurso.CargaAsignacionesLiquidadas(this._id_movimiento))
            {
                //Validamos Asignaciones
                if (Validacion.ValidaOrigenDatos(mitAsignaciones))
                {
                    //Recorremos  cada una de las asignaciones liquidadas
                    foreach (DataRow r in mitAsignaciones.Rows)
                    {
                        //Intsanciamos Asignación
                        using (MovimientoAsignacionRecurso objAsignacion = new MovimientoAsignacionRecurso(r.Field <int>("Id")))
                        {
                            //De acuerdo al tipo de asignación
                            switch ((MovimientoAsignacionRecurso.Tipo)(objAsignacion.id_tipo_asignacion))
                            {
                            //Si es Operador
                            case MovimientoAsignacionRecurso.Tipo.Operador:
                                //Instanciamos Operador
                                using (Operador objOperador = new Operador(objAsignacion.id_recurso_asignado))
                                {
                                    //establecemos mensaje error
                                    resultado = new RetornoOperacion("La asignación del operador " + objOperador.nombre + " se encuentra liquidada.");
                                }
                                break;

                            //Si es tercero
                            case MovimientoAsignacionRecurso.Tipo.Tercero:
                                //Instanciamos Tercero
                                using (CompaniaEmisorReceptor objCompania = new CompaniaEmisorReceptor(objAsignacion.id_recurso_asignado))
                                {
                                    //establecemos mensaje error
                                    resultado = new RetornoOperacion("La asignación del Tercero " + objCompania.nombre_corto + " se encuentra liquidada.");
                                }
                                break;

                            //Si es Unidad
                            case MovimientoAsignacionRecurso.Tipo.Unidad:
                                //Instanciamos Unidad
                                using (Unidad objUnidad = new Unidad(objAsignacion.id_recurso_asignado))
                                {
                                    //establecemos mensaje error
                                    resultado = new RetornoOperacion("La asignación de la unidad " + objUnidad.numero_unidad + " se encuentra liquidada.");
                                }
                                break;
                            }
                        }
                    }
                }
                //Validamos si existen pagos
                else if (PagoMovimiento.ValidaPagoMovimiento(this._id_movimiento))
                {
                    //Establecemos Mensaje Error
                    resultado = new RetornoOperacion("Existen pagos ligados al movimiento.");
                }
            }

            //Retornamos resultado
            return(resultado);
        }
コード例 #15
0
        /// <summary>
        /// Realiza la configuración incial del control de usuario respecto al registro solicitado y las caracteristicas adicionales de visualización
        /// </summary>
        /// <param name="tipo_aplicacion">Tipo de Aplicación del vencimiento</param>
        /// <param name="id_recurso">Id de recurso (unidad/operador)</param>
        /// <param name="ver_terminados">True para mostrar vencimientos en estatus terminado</param>
        /// <param name="hab_consultar_terminar">True para mostrar columnas de opciones Consultar y Terminar, de lo contrario False</param>
        /// <param name="estatus">Estatus del vencimiento que se desea mostrar en el gv</param>
        /// <param name="id_tipo_vencimiento">Tipo de Vencimiento que se desea mostrar en el gv</param>
        /// <param name="id_prioridad">Id Prioridad del Vencimiento que se desea mostrar en el gv</param>
        /// <param name="rango_fechas">Valor que identifica si se requiere realizar la búsqueda por fecha,</param>
        /// <param name="fecha_inicio_vencimiento">tipo de fechas que se desea realizar la búsqueda en caso de ser false se realizara por fecha de fin de vencimiento,</param>
        /// <param name="fecha_fin">Fecha Inicio que se desea mostrar</param>
        /// <param name="fecha_inicio">Fecha fin que se desea  mostrar</param>
        public void InicializaControl(TipoVencimiento.TipoAplicacion tipo_aplicacion, int id_recurso, bool hab_consultar_terminar, byte id_estatus,
                                      int id_tipo_vencimiento, byte id_prioridad, bool rango_fechas, bool fecha_inicio_vencimiento, DateTime fecha_inicio, DateTime fecha_fin)
        {
            //Asignando a atributos privados
            this._tipo_aplicacion        = tipo_aplicacion;
            this._id_recurso             = id_recurso;
            this._hab_consultar_terminar = hab_consultar_terminar;

            //Carga Catalogo
            cargaCatalogos();

            //Asignando Tipo de Entidad
            ddlTipoEntidad.SelectedValue = Convert.ToInt32(this._tipo_aplicacion).ToString();

            //Invocando Método de Configuración
            configuraControlesBusqueda();

            //Actualizando rótulo de entidad consultada
            switch (this._tipo_aplicacion)
            {
            case TipoVencimiento.TipoAplicacion.Unidad:
                //Instanciando unidad
                using (Unidad u = new Unidad(this._id_recurso))
                {
                    //Validando Unidad
                    if (u.habilitar)
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = string.Format("Vencimientos de Unidad '{0}'", u.numero_unidad);

                        //Asignando Valor
                        txtUnidad.Text = u.numero_unidad + " ID:" + u.id_unidad.ToString();
                    }
                    else
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = "Vencimientos de Unidad";

                        //Asignando Valor
                        txtUnidad.Text = "";
                    }
                }
                break;

            case TipoVencimiento.TipoAplicacion.Operador:
                //Instanciando operador
                using (Operador o = new Operador(this._id_recurso))
                {
                    //Validando Operador
                    if (o.habilitar)
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = string.Format("Vencimientos de Operador '{0}'", o.nombre);

                        //Asignando Valor
                        txtOperador.Text = o.nombre + " ID:" + o.id_operador.ToString();
                    }
                    else
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = "Vencimientos de Operador";

                        //Asignando Valor
                        txtOperador.Text = "";
                    }
                }
                break;

            case TipoVencimiento.TipoAplicacion.Transportista:
                //Instanciando transportista
                using (CompaniaEmisorReceptor t = new CompaniaEmisorReceptor(this._id_recurso))
                {
                    //Validando Transportista
                    if (t.habilitar)
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = string.Format("Vencimientos de Transportista '{0}'", t.nombre_corto);

                        //Asignando Valor
                        txtProveedor.Text = t.nombre + " ID:" + t.id_compania_emisor_receptor.ToString();
                    }
                    else
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = "Vencimientos de Transportista";

                        //Asignando Valor
                        txtProveedor.Text = "";
                    }
                }
                break;

            case TipoVencimiento.TipoAplicacion.Servicio:
                //Instanciando transportista
                using (SAT_CL.Documentacion.Servicio s = new SAT_CL.Documentacion.Servicio(this._id_recurso))
                {
                    //Validando Servicio
                    if (s.habilitar)
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = string.Format("Vencimientos del Servicio '{0}'", s.no_servicio);

                        //Asignando Valor
                        txtServicio.Text = "Servicio No." + s.no_servicio + " ID:" + s.id_servicio.ToString();
                    }
                    else
                    {
                        //Asignando Valor al Encabezado
                        h2EntidadConsultada.InnerText = "Vencimientos del Servicio";

                        //Asignando Valor
                        txtServicio.Text = "";
                    }
                }
                break;
            }

            //Inicializamos Controles de acuerdo a los paramteros obtenidos
            ddlEstatus.SelectedValue   = id_estatus.ToString();
            ddlTipo.SelectedValue      = id_tipo_vencimiento.ToString();
            ddlPrioridad.SelectedValue = id_prioridad.ToString();

            //Inicializamos Controles
            txtFechaInicio.Enabled       = txtFechaFin.Enabled = chkRangoFechas.Checked = rango_fechas;
            rdbInicioVencimiento.Checked = fecha_inicio_vencimiento != true ? false : true;
            rdbFinVenciamiento.Checked   = fecha_inicio_vencimiento != true ? true : false;
            //Validamos que exista Filtro de Unidades
            if (rango_fechas)
            {
                //Inicializamos Controles
                txtFechaInicio.Text = fecha_inicio.ToString("dd/MM/yyyy hh:mm");
                txtFechaFin.Text    = fecha_fin.ToString("dd/MM/yyyy hh:mm");
            }
            else
            {
                //Obtenemos fecha de Default
                DateTime primerdia = new DateTime(TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Year, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Month, 1);
                DateTime ultimoDia = new DateTime(TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Year, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Month, DateTime.DaysInMonth(TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Year, TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro().Month));
                txtFechaInicio.Text = primerdia.ToString("dd/MM/yyyy") + " 00:00";
                txtFechaFin.Text    = ultimoDia.ToString("dd/MM/yyyy") + " 23:59";
            }

            //Realizando carga de vencimientos
            cargaHistorialVencimientos();
        }
コード例 #16
0
        /// <summary>
        /// Método encaragdo de Configurar la Entidad
        /// </summary>
        /// <param name="id_tabla"></param>
        /// <param name="id_registro"></param>
        private void configuraEntidad(int id_tabla, int id_registro)
        {
            //Inicializando Valores
            switch (id_tabla)
            {
            case 1:
            {
                //Configurando Unidad
                lblEntidad.Text = "Servicio";

                //Instanciando Operador
                using (SAT_CL.Documentacion.Servicio serv = new SAT_CL.Documentacion.Servicio(id_registro))
                {
                    //Validando que exista
                    if (serv.habilitar)
                    {
                        //Asignando Servicio
                        lblRegistro.Text = serv.no_servicio;
                    }
                    else
                    {
                        //Limpiando Control
                        lblRegistro.Text = "--";
                    }
                }

                //Configurando Control
                //lblValorKm.Visible =
                //txtValorKm.Visible = false;
                break;
            }

            case 19:
            {
                //Configurando Unidad
                lblEntidad.Text = "Unidad";

                //Instanciando Operador
                using (Unidad unidad = new Unidad(id_registro))
                {
                    //Validando que exista
                    if (unidad.habilitar)
                    {
                        //Asignando Unidad
                        lblRegistro.Text = unidad.numero_unidad;
                    }
                    else
                    {
                        //Limpiando Control
                        lblRegistro.Text = "--";
                    }
                }

                //Configurando Control
                //lblValorKm.Visible =
                //txtValorKm.Visible = true;
                break;
            }

            case 25:
            {
                //Configurando Unidad
                lblEntidad.Text = "Proveedor";

                //Instanciando Proveedor
                using (CompaniaEmisorReceptor cer = new CompaniaEmisorReceptor(id_registro))
                {
                    //Validando que exista
                    if (cer.habilitar)
                    {
                        //Asignando Proveedor
                        lblRegistro.Text = cer.nombre;
                    }
                    else
                    {
                        //Limpiando Control
                        lblRegistro.Text = "--";
                    }
                }

                //Configurando Control
                //lblValorKm.Visible =
                //txtValorKm.Visible = false;
                break;
            }

            case 76:
            {
                //Configurando Unidad
                lblEntidad.Text = "Operador";

                //Instanciando Unidad
                using (Operador operador = new Operador(id_registro))
                {
                    //Validando que exista
                    if (operador.habilitar)
                    {
                        //Asignando Unidad
                        lblRegistro.Text = operador.nombre;
                    }
                    else
                    {
                        //Limpiando Control
                        lblRegistro.Text = "--";
                    }
                }

                //Configurando Control
                //lblValorKm.Visible =
                //txtValorKm.Visible = false;
                break;
            }
            }
        }