/// <summary> /// Método encargado de Guardar las Facturas de Otros Servicios /// </summary> private void guardaFacturaOtros() { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Validando Estatus switch ((Pagina.Estatus)Session["estatus"]) { case Pagina.Estatus.Nuevo: { //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Guardando Factura result = ucFacturado.GuardaFactura(); //Validando que se haya Insertado la Factura if (result.OperacionExitosa) { //Guardando Factura int idFactura = result.IdRegistro; //Insertando Facturación de Otros Servicios result = SAT_CL.Facturacion.FacturacionOtros.InsertaFacturacionOtros(idFactura, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCompaniaEmisor.Text, "ID:", 1)), Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtClienteReceptor.Text, "ID:", 1)), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que se insertara la Facturación de Otros if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); } } } break; } case Pagina.Estatus.Edicion: { //Instanciando la Factura de Otro Servicio using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"]))) { //Validando que Exista el Registro if (fo.id_facturacion_otros > 0) { //Editando la Factura de Otro Servicio result = fo.EditaFacturacionOtros(fo.id_facturado, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCompaniaEmisor.Text, "ID:", 1)), Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtClienteReceptor.Text, "ID:", 1)), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } break; } } //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Asignando el Registro a Session Session["id_registro"] = result.IdRegistro; Session["estatus"] = Pagina.Estatus.Lectura; //Inicializando Página inicializaPagina(); } //Asignando Mensaje de la Operación lblError.Text = result.Mensaje; }
/// <summary> /// Evento producido al dar clic sobre algún elemento de menú /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkbElementoMenu_Click(object sender, EventArgs e) { //Determinando el botón pulsado switch (((LinkButton)sender).CommandName) { case "Nuevo": //Asignando estatus nuevo Session["estatus"] = Pagina.Estatus.Nuevo; //Limpiando Id de sesión Session["id_registro"] = 0; //Limpiando contenido de forma inicializaPagina(); //Limpiando Mensaje de Error lblError.Text = ""; break; case "Abrir": inicializaAperturaRegistro(130, false); break; case "Guardar": guardaFacturaOtros(); break; case "Editar": //Asignando estatus nuevo Session["estatus"] = Pagina.Estatus.Edicion; //Limpiando contenido de forma inicializaPagina(); break; case "Cancelar": { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Instanciando Factura de Otros using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"]))) { //Validando que exista el Registro if (fo.id_facturacion_otros > 0) { //Instanciando Facturación using (SAT_CL.Facturacion.Facturado fac = new SAT_CL.Facturacion.Facturado(fo.id_facturado)) { //Validando que Exista if (fac.id_factura > 0) { //Cancelando Factura result = fac.CancelaFactura(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } //Validando que la Operación haya Sido Exitosa if (result.OperacionExitosa) { //Inicializando Página inicializaPagina(); } //Mostrando Mensaje de Operación lblError.Text = result.Mensaje; } break; } case "Eliminar": { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(IsolationLevel.ReadCommitted)) { //Instanciando Factura de Otros using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"]))) { //Validando que exista el Registro if (fo.id_facturacion_otros > 0) { //Deshabilitando la relación de la Factura result = fo.DeshabilitaFacturacionOtros(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese correcta if (result.OperacionExitosa) { //Instanciando Facturado using (SAT_CL.Facturacion.Facturado fac = new SAT_CL.Facturacion.Facturado(fo.id_facturado)) { //Validando que Existe la Factura if (fac.id_factura > 0) { //Deshabilitando la Factura result = fac.DeshabilitaFactura(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Asignando estatus nuevo Session["estatus"] = Pagina.Estatus.Nuevo; //Limpiando contenido de forma inicializaPagina(); //Completando Transacción trans.Complete(); } } } } } } } break; } case "Bitacora": //Si hay un registro en sesión if (Session["id_registro"].ToString() != "0") { inicializaBitacora(Session["id_registro"].ToString(), "130", "Facturación Otros"); } break; case "Referencias": //Si hay un registro en sesión if (Session["id_registro"].ToString() != "0") { inicializaReferenciaRegistro(Session["id_registro"].ToString(), "130", ((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor.ToString()); } break; case "Archivos": //Si hay un registro en sesión if (Session["id_registro"].ToString() != "0") { inicializaArchivosRegistro(Session["id_registro"].ToString(), "130", "0"); } break; case "Acerca": //TODO: Implementar uso de acerca de break; case "Ayuda": //TODO: Implementar uso de ayuda break; } }
/// <summary> /// Método encargado de Inicializar los Valores /// </summary> private void inicializaValores() { //Validando Estatus de la Página switch ((Pagina.Estatus)Session["estatus"]) { case Pagina.Estatus.Nuevo: { //Limpiando Controles txtClienteReceptor.Text = ""; //Inicializando Controles ucFacturado.InicializaControl(0, true); ucFacturadoConcepto.InicializaControl(0); break; } case Pagina.Estatus.Lectura: case Pagina.Estatus.Edicion: { //Instanciando Registro using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"]))) { //Validando que Existe el Registro if (fo.id_facturacion_otros > 0) { //Instanciando Compania Emisora using (SAT_CL.Global.CompaniaEmisorReceptor cli = new SAT_CL.Global.CompaniaEmisorReceptor(fo.id_cliente_receptor)) { //Validando que Exista la Compania if (cli.id_compania_emisor_receptor > 0) { //Asignando Valor txtClienteReceptor.Text = cli.nombre + " ID:" + cli.id_compania_emisor_receptor.ToString(); } else { //Limpiando Control txtClienteReceptor.Text = ""; } } //Inicializando Controles de Usuario ucFacturado.InicializaControl(fo.id_facturado, true); ucFacturadoConcepto.InicializaControl(fo.id_facturado); } } break; } } //Instanciando Compania Emisora using (SAT_CL.Global.CompaniaEmisorReceptor cer = new SAT_CL.Global.CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { //Validando que Exista la Compania if (cer.id_compania_emisor_receptor > 0) { //Asignando Valor txtCompaniaEmisor.Text = cer.nombre + " ID:" + cer.id_compania_emisor_receptor.ToString(); } else { //Limpiando Control txtCompaniaEmisor.Text = ""; } } }
/// <summary> /// Evento producido al dar clic sobre algún elemento de menú /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkbElementoMenu_Click(object sender, EventArgs e) { //Determinando el botón pulsado switch (((LinkButton)sender).CommandName) { case "Nuevo": //Asignando estatus nuevo Session["estatus"] = Pagina.Estatus.Nuevo; //Limpiando Id de sesión Session["id_registro"] = 0; //Limpiando contenido de forma inicializaPagina(); break; case "Abrir": inicializaAperturaRegistro(130, false); break; case "Guardar": guardaFacturaOtros(); break; case "Editar": //Asignando estatus nuevo Session["estatus"] = Pagina.Estatus.Edicion; //Limpiando contenido de forma inicializaPagina(); break; case "Cancelar": { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Instanciando Factura de Otros using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"]))) { //Validando que exista el Registro if (fo.id_facturacion_otros > 0) { //Instanciando Facturación using (SAT_CL.Facturacion.Facturado fac = new SAT_CL.Facturacion.Facturado(fo.id_facturado)) { //Validando que Exista if (fac.id_factura > 0) { //Cancelando Factura result = fac.CancelaFactura(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } //Validando que la Operación haya Sido Exitosa if (result.OperacionExitosa) { //Inicializando Página inicializaPagina(); } //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this.Page, result, ScriptServer.PosicionNotificacion.AbajoDerecha); } break; } case "Eliminar": { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(IsolationLevel.ReadCommitted)) { //Instanciando Factura de Otros using (SAT_CL.Facturacion.FacturacionOtros fo = new SAT_CL.Facturacion.FacturacionOtros(Convert.ToInt32(Session["id_registro"]))) { //Validando que exista el Registro if (fo.id_facturacion_otros > 0) { //Deshabilitando la relación de la Factura result = fo.DeshabilitaFacturacionOtros(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese correcta if (result.OperacionExitosa) { //Instanciando Facturado using (SAT_CL.Facturacion.Facturado fac = new SAT_CL.Facturacion.Facturado(fo.id_facturado)) { //Validando que Existe la Factura if (fac.id_factura > 0) { //Deshabilitando la Factura result = fac.DeshabilitaFactura(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Asignando estatus nuevo Session["estatus"] = Pagina.Estatus.Nuevo; //Limpiando contenido de forma inicializaPagina(); //Completando Transacción trans.Complete(); } } } } } } } break; } case "Bitacora": //Si hay un registro en sesión if (Session["id_registro"].ToString() != "0") { inicializaBitacora(Session["id_registro"].ToString(), "130", "Facturación Otros"); } break; case "Referencias": //Si hay un registro en sesión if (Session["id_registro"].ToString() != "0") { inicializaReferenciaRegistro(Session["id_registro"].ToString(), "130", ((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor.ToString()); } break; case "Archivos": //Si hay un registro en sesión if (Session["id_registro"].ToString() != "0") { inicializaArchivosRegistro(Session["id_registro"].ToString(), "130", "0"); } break; case "Acerca": //TODO: Implementar uso de acerca de break; case "Ayuda": //Obteniendo Comprobante using (SAT_CL.FacturacionElectronica33.Comprobante cmp = new SAT_CL.FacturacionElectronica33.Comprobante(100)) using (SAT_CL.Global.CompaniaEmisorReceptor cer = new SAT_CL.Global.CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { //Obteniendo PDF en Bytes byte[] cfdi_pdf = cmp.GeneraPDFComprobantePagoV33(); //Descargando Archivo PDF TSDK.Base.Archivo.DescargaArchivo(cfdi_pdf, string.Format("{0}_{1}{2}.pdf", cer.nombre_corto != "" ? cer.nombre_corto : cer.rfc, cmp.serie, cmp.folio), TSDK.Base.Archivo.ContentType.application_PDF); } //Construyendo URL //string urlReporte = TSDK.Base.Cadena.RutaRelativaAAbsoluta("~/FacturacionElectronica33/FacturacionOtrosV33.aspx", "~/RDLC/Reporte.aspx"); //Instanciando nueva ventana de navegador para apertura de registro //TSDK.ASP.ScriptServer.AbreNuevaVentana(string.Format("{0}?idTipoReporte={1}&idRegistro={2}", urlReporte, "ComprobantePago", 100), "Comprobante de Pago", "location=NO,toolbar=NO,scrollbars=YES,menubar=NO,status=YES,width=800,height=500", Page); //TSDK.ASP.ScriptServer.AbreNuevaVentana(string.Format("{0}?idTipoReporte={1}&idRegistro={2}", urlReporte, "DocumentosPago", 28307), "Documentos del Pago", "location=NO,toolbar=NO,scrollbars=YES,menubar=NO,status=YES,width=800,height=500", Page); break; /*/ * case "Imprimir": * { * //Obteniendo Comprobante * using (SAT_CL.FacturacionElectronica33.Comprobante cmp = new SAT_CL.FacturacionElectronica33.Comprobante(100)) * using (SAT_CL.Global.CompaniaEmisorReceptor cer = new SAT_CL.Global.CompaniaEmisorReceptor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) * { * //Obteniendo PDF en Bytes * byte[] cfdi_pdf = cmp.GeneraPDFComprobantePagoV33(); * * //Descargando Archivo PDF * TSDK.Base.Archivo.DescargaArchivo(cfdi_pdf, string.Format("{0}_{1}{2}.pdf", cer.nombre_corto != "" ? cer.nombre_corto : cer.rfc, cmp.serie, cmp.folio), TSDK.Base.Archivo.ContentType.application_PDF); * } * //Construyendo URL * string urlReporte = TSDK.Base.Cadena.RutaRelativaAAbsoluta("~/FacturacionElectronica33/FacturacionOtrosV33.aspx", "~/RDLC/Reporte.aspx"); * //Instanciando nueva ventana de navegador para apertura de registro * TSDK.ASP.ScriptServer.AbreNuevaVentana(string.Format("{0}?idTipoReporte={1}&idRegistro={2}", urlReporte, "ComprobantePago", 100), "Comprobante de Pago", "location=NO,toolbar=NO,scrollbars=YES,menubar=NO,status=YES,width=800,height=500", Page); * //TSDK.ASP.ScriptServer.AbreNuevaVentana(string.Format("{0}?idTipoReporte={1}&idRegistro={2}", urlReporte, "DocumentosPago", 28307), "Documentos del Pago", "location=NO,toolbar=NO,scrollbars=YES,menubar=NO,status=YES,width=800,height=500", Page); * break; * }//*/ } }