/// <summary> /// /// </summary> private void aplicaTarifaServicio() { //Declarando objeto de retorno RetornoOperacion resultado = new RetornoOperacion(); //Instanciando factura del servicio seleccionado using (SAT_CL.Facturacion.Facturado objFacturado = SAT_CL.Facturacion.Facturado.ObtieneFacturaServicio(Convert.ToInt32(gvServicios.SelectedDataKey["id_servicio"]))) { //Validando que exista un Id de factura if (objFacturado.id_factura != 0) { //Obteniendo Resultado de la Edición resultado = objFacturado.ActualizaTarifa(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } else { resultado = new RetornoOperacion("El servicio no tiene un encabezado de factura o no pudo ser recuperado."); } } //Si no hay errores if (resultado.OperacionExitosa) { //Actualizando listado de servicios cargaServicios(); Controles.InicializaIndices(gvServicios); } //Mostrando resultado ScriptServer.MuestraNotificacion(this.Page, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); }
/// <summary> /// Evento Producido al Dar Clic en el Link de Servicio /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkServicio_Click(object sender, EventArgs e) { //Validando que existan Registros if (gvSaldosDetalle.DataKeys.Count > 0) { //Seleccionando Fila TSDK.ASP.Controles.SeleccionaFila(gvSaldosDetalle, sender, "lnk", false); //Instanciando Factura using (SAT_CL.Facturacion.Facturado fac = new SAT_CL.Facturacion.Facturado(Convert.ToInt32(gvSaldosDetalle.SelectedDataKey["NoFactura"]))) { //Validando que Exista la Factura if (fac.habilitar) { //Validando que exista el Servicio if (fac.id_servicio > 0) { //Obteniendo Control LinkButton lkb = (LinkButton)sender; //Obteniendo Información de Viaje using (DataTable dtInfoServicio = SAT_CL.Despacho.ServicioDespacho.ObtieneInformacionViaje(fac.id_servicio, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { //Validando que existan Servicios if (Validacion.ValidaOrigenDatos(dtInfoServicio)) { //Cargando GridView Controles.CargaGridView(gvInfoViaje, dtInfoServicio, "IdServicio", lblOrdenadoServicio.Text, true, 1); //Añadiendo Resultado a Sesión Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtInfoServicio, "Table3"); } else { //Inicializando GridView Controles.InicializaGridview(gvInfoViaje); //Eliminando Resultado de Sesión Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table3"); } } //Mostrando Ventana gestionaVentanas(lkb, "Servicio"); } else { //Mostrando Error ScriptServer.MuestraNotificacion(this, "La Factura no tiene Servicio", ScriptServer.NaturalezaNotificacion.Informacion, ScriptServer.PosicionNotificacion.AbajoDerecha); } } else { //Mostrando Error ScriptServer.MuestraNotificacion(this, "No existe la Factura", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } }
/// <summary> /// Evento Producido al Dar Clic en el Link de Devoluciones /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkbVerDevoluciones_Click(object sender, EventArgs e) { //Validando que existan Registros if (gvSaldosDetalle.DataKeys.Count > 0) { //Seleccionando Fila TSDK.ASP.Controles.SeleccionaFila(gvSaldosDetalle, sender, "lnk", false); //Instanciando Factura using (SAT_CL.Facturacion.Facturado fac = new SAT_CL.Facturacion.Facturado(Convert.ToInt32(gvSaldosDetalle.SelectedDataKey["NoFactura"]))) { //Validando que Exista la Factura if (fac.habilitar) { //Validando que exista el Servicio if (fac.id_servicio > 0) { //Obteniendo Devoluciones using (DataTable dtDevoluciones = SAT_CL.Despacho.DevolucionFaltante.ObtieneDevolucionesServicio(fac.id_servicio)) { //Validando que Existan Registros if (TSDK.Datos.Validacion.ValidaOrigenDatos(dtDevoluciones)) { //Cargando GridView Controles.CargaGridView(gvDevoluciones, dtDevoluciones, "Id-IdDevolucion", lblOrdenadoDev.Text, true, 1); //Añadiendo Tabla a Sesión Session["DS"] = TSDK.Datos.OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtDevoluciones, "Table2"); //Mostrando Ventana ScriptServer.AlternarVentana(this, this.GetType(), "VentanaDevoluciones", "contenedorVentanaResumenDevoluciones", "ventanaResumenDevoluciones"); } else { //Inicializando GridView Controles.InicializaGridview(gvDevoluciones); //Eliminando Tabla de Sesión Session["DS"] = TSDK.Datos.OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table2"); //Mostrando Excepción ScriptServer.MuestraNotificacion(this, "No hay Devoluciones", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } else { //Mostrando Excepción ScriptServer.MuestraNotificacion(this, "No es una Factura de Servicio", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } } }
/// <summary> /// Método encargado de Deshabilitar las Aplicaciones de un Facturado /// </summary> /// <param name="id_factura">Facturado</param> /// <param name="id_comprobante">Comprobante v3.3</param> /// <param name="id_usuario">Usuario que actualiza el registro</param> /// <returns></returns> public static RetornoOperacion DeshabilitaAplicacionesFacturado(int id_factura, int id_comprobante, int id_usuario) { //Declarando Objeto de Retorno RetornoOperacion retorno = new RetornoOperacion(); //Instanciando Aplicaciones using (DataTable dtAplicaciones = SAT_CL.CXC.FichaIngresoAplicacion.ObtieneFichasFacturas(0, id_factura)) { //Validando que existan Aplicaciones if (TSDK.Datos.Validacion.ValidaOrigenDatos(dtAplicaciones)) { //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Recorriendo Registros foreach (DataRow dr in dtAplicaciones.Rows) { //Instanciando Aplicacion de la Factura using (SAT_CL.CXC.FichaIngresoAplicacion fia = new SAT_CL.CXC.FichaIngresoAplicacion(Convert.ToInt32(dr["Id"]))) { //Validando que exista la Aplicación if (fia.id_ficha_ingreso_aplicacion > 0) { //Deshabilitando Ficha de Ingreso retorno = fia.DeshabilitarFichaIngresoAplicacion(id_usuario); //Validando Operación Exitosa if (!retorno.OperacionExitosa) { //Terminando Ciclo break; } else { //Instanciando Ficha de Ingreso using (SAT_CL.Bancos.EgresoIngreso fi = new SAT_CL.Bancos.EgresoIngreso(fia.id_egreso_ingreso)) { //Validando que exista el Registro if (fi.habilitar) { //Obteniendo Facturas Aplicadas using (DataTable dtAplicacionesFicha = SAT_CL.CXC.FichaIngresoAplicacion.ObtieneFichasFacturas(fi.id_egreso_ingreso, 0)) { //Si no existen Aplicaciones if (!TSDK.Datos.Validacion.ValidaOrigenDatos(dtAplicacionesFicha)) { //Actualizando Estatus de la Ficha retorno = fi.ActualizaFichaIngresoEstatus(SAT_CL.Bancos.EgresoIngreso.Estatus.Capturada, id_usuario); //Validando Operación Correcta if (retorno.OperacionExitosa) { //Terminando Ciclo break; } } } } } } } } } //Validando Desaplicación Exitosa if (retorno.OperacionExitosa) { //Declaramos Variable int facturado = 0; //Obtenemos Facturado Fcaturacion facturado = SAT_CL.Facturacion.FacturadoFacturacion.ObtieneRelacionFacturaElectronicav3_3(id_comprobante); //Instanciamos FcaturadoFacturacion using (SAT_CL.Facturacion.FacturadoFacturacion objfacturado = new SAT_CL.Facturacion.FacturadoFacturacion(facturado)) { //Instanciamos Facturado using (SAT_CL.Facturacion.Facturado objFacturado = new SAT_CL.Facturacion.Facturado(objfacturado.id_factura)) { //Actualizando Estatus de la Factura retorno = objFacturado.ActualizaEstatusFactura(SAT_CL.Facturacion.Facturado.EstatusFactura.Registrada, id_usuario); //Validando Operación Exitosa if (retorno.OperacionExitosa) { //Instanciando Excepción retorno = new RetornoOperacion(id_factura); //Completando Transacción trans.Complete(); } } } } } } else { //Instanciando Excepción retorno = new RetornoOperacion(id_factura); } } //Devolviendo Resultado Obtenido return(retorno); }
/// <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> /// 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; * }//*/ } }