/// <summary> /// Método encargado de Cargar los Valores en el GridView /// </summary> private void cargaExistencias() { DateTime fechaInicio = DateTime.MinValue; DateTime fechaFin = DateTime.MinValue; if (chkIncluir.Checked) { //Asignamos variable de Fechas fechaInicio = Convert.ToDateTime(txtFecIni.Text); fechaFin = Convert.ToDateTime(txtFecFin.Text); } //Obtenemo Resultado del reporte Generado using (DataTable mit = SAT_CL.Almacen.Reportes.ObtieneExistenciasAlmacen(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(Cadena.VerificaCadenaVacia(Cadena.RegresaCadenaSeparada( txtAlmacen.Text, "ID:", 1), "0")), txtProducto.Text, txtLote.Text, txtSerie.Text, fechaInicio, fechaFin)) { //Validando Origen de Datos if (Validacion.ValidaOrigenDatos(mit)) { //Cargando GridView con Datos Controles.CargaGridView(gvExistencias, mit, "Id", lblOrdenado.Text, true, 3); //Guardando Tabla en Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table"); } else { //Eliminando Tablas del DataSet de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); //Cargando GridView Vacio Controles.InicializaGridview(gvExistencias); } } //Suma Totales sumaTotales(); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkSeleccionarEgreso_Click(object sender, EventArgs e) { if (gvEgresos.DataKeys.Count > 0) { LinkButton lnk = (LinkButton)sender; alternarVentana(lnk, lnk.CommandName); #region Seleccionar fila y enviar datos a la ventana modal Controles.SeleccionaFila(gvEgresos, sender, "lnk", false); lblNoEgreso.Text = gvEgresos.SelectedDataKey["NoEgreso"].ToString(); lblEstatus.Text = gvEgresos.SelectedDataKey["Estatus"].ToString(); lblOrigen.Text = gvEgresos.SelectedDataKey["Origen"].ToString(); lblFormaPago.Text = gvEgresos.SelectedDataKey["FormaPago"].ToString(); lblFechaPago.Text = Convert.ToDateTime(gvEgresos.SelectedDataKey["FechaPago"].ToString()).ToString("dd/MM/yyyy"); lblMonto.Text = $"${gvEgresos.SelectedDataKey["Monto"].ToString()} {gvEgresos.SelectedDataKey["Moneda"]}"; lblMonto.ToolTip = $"${gvEgresos.SelectedDataKey["MontoPesos"].ToString()} MXN"; lblBeneficiario.Text = gvEgresos.SelectedDataKey["Beneficiario"].ToString(); using (DataTable dtPagos = SAT_CL.Bancos.EgresoIngreso.ObtienePagos(Convert.ToInt32(gvEgresos.SelectedDataKey["IdTEI"]), ((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { if (Validacion.ValidaOrigenDatos(dtPagos)) { Controles.CargaGridView(gvPagosEgreso, dtPagos, "IdTPF", "IdTPF"); Controles.InicializaGridview(gvDocumentosPago); } else { Controles.InicializaGridview(gvPagosEgreso); ScriptServer.MuestraNotificacion(this.Page, "Ningun pago coincide con los datos del egreso.", ScriptServer.NaturalezaNotificacion.Advertencia, ScriptServer.PosicionNotificacion.AbajoDerecha); } } #endregion } else { ScriptServer.MuestraNotificacion(this.Page, "Ningun egreso seleccionado.", ScriptServer.NaturalezaNotificacion.Advertencia, ScriptServer.PosicionNotificacion.AbajoDerecha); } }
/// <summary> /// Método encargado de Cargar las Referencias de la Devolución /// </summary> private void cargaReferenciasDevolucion() { //Obteniendo Referencias using (DataTable dtReferencia = SAT_CL.Global.Referencia.CargaReferenciasRegistro(this._idCompaniaEmisora, this._objDevolucionFaltante.id_devolucion_faltante, 156)) { //Validando que Existen Referencias if (Validacion.ValidaOrigenDatos(dtReferencia)) { //Cargando GridView Controles.CargaGridView(gvReferencias, dtReferencia, "Id", "", true, 1); //Añadiendo Tabla a Session this._dS = OrigenDatos.AñadeTablaDataSet(this._dS, dtReferencia, "Table"); } else { //Inicializando GridView Controles.InicializaGridview(gvReferencias); //Añadiendo Tabla a Session this._dS = OrigenDatos.EliminaTablaDataSet(this._dS, "Table"); } } }
/// <summary> /// Cargando detalles de factura (conceptos/descuentos/impuestos) /// </summary> private void cargaDetallesComprobante() { //En base al estatus switch ((Pagina.Estatus)Session["estatus"]) { case Pagina.Estatus.Nuevo: Controles.InicializaGridview(gvConceptos); Session["DS"] = null; break; case Pagina.Estatus.Lectura: case Pagina.Estatus.Edicion: { //Realizando carga de resumen de detalles using (DataTable mit = SAT_CL.FacturacionElectronica33.Comprobante.CargaConceptosComprobante(Convert.ToInt32(Session["id_registro"]))) { //Validando que Existan Datos if (TSDK.Datos.Validacion.ValidaOrigenDatos(mit)) { //Llenando GridView Controles.CargaGridView(gvConceptos, mit, "IdTipo-IdRegistro-IdAuxiliar", lblCriterioGridViewConceptos.Text, true, 1); //Guardando en sesión Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "TResumen"); } else { //Inicializando GridView Controles.InicializaGridview(gvConceptos); //Eliminando en sesión Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "TResumen"); } } break; } } }
/// <summary> /// Carga Documentos del Paquete /// </summary> private void cargaDocumentosDelPaquete() { //Validamos Selección de documentos if (gvPaquetes.SelectedIndex != -1) { //Validamos existecia de Select Value gvPaquetes.SelectedIndex = gvPaquetes.SelectedValue != null ? gvPaquetes.SelectedIndex : gvPaquetes.SelectedIndex - 1; //Realizando la carga de los documentos del paquete using (DataTable mit = PaqueteEnvioDocumento.CargaDocumentoDelPaquete(Convert.ToInt32(Convert.ToInt32(gvPaquetes.SelectedDataKey.Value)))) { //Validamos Origen de Datos if (Validacion.ValidaOrigenDatos(mit)) { //Llenando GridView Controles.CargaGridView(gvDocumentos, mit, "Id-IdControlEvidenciaDocumento", lblOrdenarDocumentos.Text, true, 2); //Guardando origen de datos Encabezado Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table1"); } else { //Eliminamos Tabla en sessión OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); //Inicializamos Grid View Controles.InicializaGridview(gvDocumentos); } } } else { //Eliminamos Tabla en sessión OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); //Inicializamos Grid View Controles.InicializaGridview(gvDocumentos); } }
/// <summary> /// Evento Producido al Cambiar el Indice de Página del GridView "Facturas" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void gvFacturas_PageIndexChanging(object sender, GridViewPageEventArgs e) { //Validando que existan Registros if (gvFacturas.DataKeys.Count > 0) { //Recorriendo Filas foreach (DataRow dr in ((DataSet)Session["DS"]).Tables["Table"].Rows) { //Editando el Registro dr["MontoPreferente"] = "0.00"; } //Aceptando Cambios ((DataSet)Session["DS"]).Tables["Table"].AcceptChanges(); //Cargando GridView Controles.CargaGridView(gvFacturas, ((DataSet)Session["DS"]).Tables["Table"], "Id-IdDeposito-Anticipo-MontoPendiente-MontoPreferente-MontoPorAplicar", "", true, 2); //Cambiando Indice de Página Controles.CambiaIndicePaginaGridView(gvFacturas, OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table"), e.NewPageIndex); //Desmarcando todas las Filas Controles.SeleccionaFilasTodas(gvFacturas, "chkVariosFactura", false); } else { //Inicializando GridView Controles.InicializaGridview(gvFacturas); //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } //Invocando Método de Suma sumaTotalesAplicacion(); }
/// <summary> /// Realiza la carga de los paquetes en Recepción /// </summary> private void cargaPaquetesEnRecepcion() { //Realizando la carga de los paquetes using (DataTable mit = PaqueteEnvio.CargaPaquetesEnRecepcion(Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCompania.Text, ":", 1)), Convert.ToInt32(ddlOrigen.SelectedValue), Convert.ToInt32(ddlDestino.SelectedValue))) { //Validamos Origen de Datos if (Validacion.ValidaOrigenDatos(mit)) { //Llenando GridView Controles.CargaGridView(gvPaquetes, mit, "Id", lblOrdenarPaquetes.Text, true, 2); //Guardando origen de datos Encabezado Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table"); } else { //Eliminamos Tabla en sessión OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); //Inicializamos Grid View Controles.InicializaGridview(gvPaquetes); } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkServiciosEntidad_Click(object sender, EventArgs e) { //Validando que existan Registros if (gvFichasFacturas.DataKeys.Count > 0) { //Seleccionando Fila Controles.SeleccionaFila(gvFichasFacturas, sender, "lnk", false); //Obteniendo Servicios using (DataTable dtServiciosEntidad = SAT_CL.Bancos.EgresoIngreso.ObtieneServiciosEntidad( Convert.ToInt32(gvFichasFacturas.SelectedDataKey["IdEntidad"]), Convert.ToInt32(gvFichasFacturas.SelectedDataKey["IdRegistro"]))) { //Validando que existan Registros if (Validacion.ValidaOrigenDatos(dtServiciosEntidad)) { //Cargando GridView Controles.CargaGridView(gvServiciosEntidad, dtServiciosEntidad, "NoServicio", lblOrdenadoSE.Text); //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtServiciosEntidad, "Table2"); } else { //Inicilaizando GridView Controles.InicializaGridview(gvServiciosEntidad); //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table2"); } //Abriend Ventana gestionaVentanas(this.Page, "ServiciosEntidad"); } } }
/// <summary> /// Evento Producido al Cambiar el Tamaño del GridView "Facturas" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ddlTamanoFacturas_SelectedIndexChanged(object sender, EventArgs e) { //Validando que existan Registros if (Validacion.ValidaOrigenDatos(TSDK.Datos.OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table"))) { //Recorriendo Filas foreach (DataRow dr in ((DataSet)Session["DS"]).Tables["Table"].Rows) { //Editando el Registro dr["MontoPreferente"] = "0.00"; } //Aceptando Cambios ((DataSet)Session["DS"]).Tables["Table"].AcceptChanges(); //Cargando GridView Controles.CargaGridView(gvFacturas, ((DataSet)Session["DS"]).Tables["Table"], "Id-IdDeposito-Anticipo-MontoPendiente-MontoPreferente-MontoPorAplicar", "", true, 2); //Cambiando tamaño del GridView Controles.CambiaTamañoPaginaGridView(gvFacturas, OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table"), Convert.ToInt32(ddlTamanoFacturas.SelectedValue)); //Desmarcando todas las Filas Controles.SeleccionaFilasTodas(gvFacturas, "chkVariosFactura", false); } else { //Inicializando GridView Controles.InicializaGridview(gvFacturas); //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } //Invocando Método de Suma sumaTotalesAplicacion(); }
/// <summary> /// Método Privado encargado de Buscar las Fichas Aplicadas /// </summary> /// <param name="id_factura"></param> private void buscaFichasAplicadas(int id_factura) { //Obteniendo Reporte using (DataTable dtFichasFacturas = SAT_CL.CXP.FacturadoProveedor.ObtieneAplicacionesRelacionFacturasProveedor(id_factura)) { //Cargando GridView Controles.CargaGridView(gvFichasFacturas, dtFichasFacturas, "Id-IdEntidad-IdRegistro", "", true, 1); //Validando que Existen Registros if (dtFichasFacturas != null) { //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtFichasFacturas, "Table1"); } else { //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); } } //Invocando Método de Suma sumaFichasFacturas(); }
/// <summary> /// Método encargado de Buscar las Devoluciones y los Detalles /// </summary> private void buscarDevolucionesDetalles() { //Declarando Variables Auxiliares DateTime fec_ini_cap = DateTime.MinValue; DateTime fec_fin_cap = DateTime.MinValue; DateTime fec_ini_dev = DateTime.MinValue; DateTime fec_fin_dev = DateTime.MinValue; //Validando si se Requieren las Fechas if (chkIncluir.Checked) { //Validando el Tipo de Fecha Requerida if (rbCaptura.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFecIni.Text, out fec_ini_cap); DateTime.TryParse(txtFecFin.Text, out fec_fin_cap); } else if (rbDevolucion.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFecIni.Text, out fec_ini_dev); DateTime.TryParse(txtFecFin.Text, out fec_fin_dev); } } //Obteniendo Reporte using (DataSet ds = SAT_CL.Despacho.Reporte.ReporteDevolucionesDetalle(Convert.ToInt32(txtNoDevolucion.Text == "" ? "0" : txtNoDevolucion.Text), Convert.ToByte(ddlTipo.SelectedValue), Convert.ToByte(ddlEstatus.SelectedValue), fec_ini_cap, fec_fin_cap, fec_ini_dev, fec_fin_dev, txtObservacion.Text, txtReferencia.Text, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, txtNoViaje.Text, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1, "0")))) { //Validando que Existan Registros if (Validacion.ValidaOrigenDatos(ds, "Table")) { //Cargando GridView Controles.CargaGridView(gvDevoluciones, ds.Tables["Table"], "Id", "", true, 2); //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], ds.Tables["Table"], "Table"); } else { //Inicializando GridView Controles.InicializaGridview(gvDevoluciones); //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } //Validando que Existan Registros if (Validacion.ValidaOrigenDatos(ds, "Table1")) { //Cargando GridView Controles.CargaGridView(gvDetalles, ds.Tables["Table1"], "Id-IdDevolucion", "", true, 2); //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], ds.Tables["Table1"], "Table1"); } else { //Inicializando GridView Controles.InicializaGridview(gvDetalles); //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); } } }
/// <summary> /// Método encargado de Cargar los Valores en el GridView /// </summary> private void cargaComprobantes() { //Declaramos Variables DateTime inicioFecha, finFecha, inicioFechaExpedicion, finFechaExpedicion, inicioFechaCaptura, finFechaCaptura, inicioFechaCancelacion, finFechaCancelacion; //Inicializamos Variables inicioFechaExpedicion = finFechaExpedicion = inicioFechaCaptura = finFechaCaptura = inicioFechaCancelacion = finFechaCancelacion = DateTime.MinValue; inicioFecha = txtFechaInicio.Text == "" ? DateTime.MinValue : Convert.ToDateTime(txtFechaInicio.Text); finFecha = txtFechaFin.Text == "" ? DateTime.MinValue : Convert.ToDateTime(txtFechaFin.Text); //Si la fecha de inicio es mayor que la fecha fin if ((inicioFecha.CompareTo(finFecha)) < 0 || (inicioFecha == DateTime.MinValue && finFecha == DateTime.MinValue)) { //Validamos Seleción de Fechas if (rdbExpedicion.Checked) { //Obteniendo Fechas inicioFechaExpedicion = inicioFecha; finFechaExpedicion = finFecha; } //Validamos Seleción de Fechas if (rdbCaptura.Checked) { //Convirtiendo Fechas a Cadena inicioFechaCaptura = inicioFecha; finFechaCaptura = finFecha; } //Validamos Seleción de Fechas if (rdbCancelacion.Checked) { //Convirtiendo Fechas a Cadena inicioFechaCancelacion = inicioFecha; finFechaCancelacion = finFecha; } //Obtenemo Resultado del reporte Generado using (DataTable mit = SAT_CL.FacturacionElectronica.Reporte.CargaComprobantes(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(Cadena.VerificaCadenaVacia(Cadena.RegresaCadenaSeparada (txtReceptor.Text, ':', 1), "0")), Convert.ToByte(ddlTipo.SelectedValue), Convert.ToByte(ddlEstatus.SelectedValue), inicioFechaExpedicion, finFechaExpedicion, Convert.ToInt32(chkGenerado.Checked), Cadena.VerificaCadenaVacia(txtSerie.Text, "0"), Convert.ToInt32(Cadena.VerificaCadenaVacia(txtFolio.Text, "0")), inicioFechaCaptura, finFechaCaptura, inicioFechaCancelacion, finFechaCancelacion, Convert.ToInt32(Cadena.VerificaCadenaVacia(Cadena.RegresaCadenaSeparada (txtUsuarioTimbra.Text, ':', 1), "0")))) { //Validando Origen de Datos if (Validacion.ValidaOrigenDatos(mit)) { //Cargando GridView con Datos Controles.CargaGridView(gvComprobantes, mit, "Id-IdFactura", lblCriteriogvComprobantes.Text, true, 3); //Guardando Tabla en Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table"); } else { //Eliminando Tablas del DataSet de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); //Cargando GridView Vacio Controles.InicializaGridview(gvComprobantes); } //Suma Totales sumaTotales(); } } else { lblError.Text = "La 'Fecha Inicio' debe ser 'menor' que la 'Fecha Fin'."; } }
/// <summary> /// Método que mustra las asignaciones de recurso a una orden de trabajo /// </summary> private void cargaAsignaciones() { //Limpia las columnas del gridview gvGenerico.Columns.Clear(); BoundField actividad = new BoundField(); actividad.HeaderText = "Actividad"; actividad.DataField = "Actividad"; actividad.SortExpression = "Actividad"; gvGenerico.Columns.Add(actividad); BoundField asignado = new BoundField(); asignado.HeaderText = "Asignado a"; asignado.DataField = "Asignado"; asignado.SortExpression = "Asignado"; gvGenerico.Columns.Add(asignado); BoundField puesto = new BoundField(); puesto.HeaderText = "Puesto"; puesto.DataField = "Puesto"; puesto.SortExpression = "Puesto"; gvGenerico.Columns.Add(puesto); BoundField duracion = new BoundField(); duracion.HeaderText = "Duracion Actividad"; duracion.DataField = "Duracion"; duracion.SortExpression = "Duracion"; duracion.DataFormatString = "{0:HH:mm}"; duracion.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(duracion); BoundField CostoHora = new BoundField(); CostoHora.HeaderText = "Costo x Hora"; CostoHora.DataField = "CostoHora"; CostoHora.SortExpression = "CostoHora"; CostoHora.DataFormatString = "{0:C2}"; CostoHora.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(CostoHora); BoundField mano = new BoundField(); mano.HeaderText = "ManoObra"; mano.DataField = "ManoObra"; mano.SortExpression = "ManoObra"; mano.DataFormatString = "{0:C2}"; mano.ItemStyle.HorizontalAlign = HorizontalAlign.Right; mano.FooterStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(mano); //Instancia a la clase para obtener a quien se le asigno cada actividad de la orden de trabajo using (DataTable dtAsignaciones = SAT_CL.Mantenimiento.OrdenTrabajo.CargaAsignacionesOrdenTrabajo((int)gvOrdenTrabajo.SelectedDataKey["Id"])) { //Valida los datos del datatable if (Validacion.ValidaOrigenDatos(dtAsignaciones)) { //Asigna valores algridView Controles.CargaGridView(gvGenerico, dtAsignaciones, "", ""); //Asigna valores a la variable de session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtAsignaciones, "Table3"); gvGenerico.FooterRow.Cells[5].Text = string.Format("{0:C2}", (dtAsignaciones.Compute("SUM(ManoObra)", ""))); } else { //Inicializa el gridView Controles.InicializaGridview(gvGenerico); //Elimina los datos almacenados en session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table3"); gvGenerico.FooterRow.Cells[5].Text = string.Format("{0:C2}", 0); } } Controles.InicializaIndices(gvGenerico); lblEncabezado.Text = "ASIGNACION DE PERSONAL"; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkSeleccionarPago_Click(object sender, EventArgs e) { if (gvPagosEgreso.DataKeys.Count > 0) { LinkButton lnk = (LinkButton)sender; Controles.SeleccionaFila(gvPagosEgreso, lnk, "lnk", false); switch (lnk.CommandName) { case "Abrir": { try { using (DataTable dtDocumentos = PagoFacturado.ObtieneDocumentos(Convert.ToInt32(gvPagosEgreso.SelectedDataKey["IdTPF"]))) { if (Validacion.ValidaOrigenDatos(dtDocumentos)) { Controles.CargaGridView(gvDocumentosPago, dtDocumentos, "IdTDP-IdPF", "IdTDP"); } else { Controles.InicializaGridview(gvDocumentosPago); } } } catch { ScriptServer.MuestraNotificacion(this.Page, "No hay Documentos coincidentes", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } break; } case "Ligar": { decimal totalSaldoDocumentos = 0; int idCompania = ((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor; int idUsuario = ((Usuario)Session["usuario"]).id_usuario; RetornoOperacion resultado = new RetornoOperacion(); try { //Volver a obtener los Documentos Relacionados del Pago using (DataTable dtDocumentos = PagoFacturado.ObtieneDocumentos(Convert.ToInt32(gvPagosEgreso.SelectedDataKey["IdTPF"]))) { if (Validacion.ValidaOrigenDatos(dtDocumentos)) { //Revisar si el total de los saldos pagados de todos los Documentos Relacionados, coincide con el monto del Pago foreach (DataRow rowDocumento in dtDocumentos.Rows) { totalSaldoDocumentos += Convert.ToDecimal(rowDocumento["ImportePagTDP"]); } using (PagoFacturado pago = new PagoFacturado(Convert.ToInt32(gvPagosEgreso.SelectedDataKey["IdTPF"]))) { if (totalSaldoDocumentos == pago.monto) { //Crear ficha entre el Egreso seleccionado y la factura del Documento Relacionado using (TransactionScope transaccionFactura = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { resultado = FE33.EgresoIngresoComprobante.InsertaEgresoIngresoComprobante( Convert.ToInt32(gvEgresos.SelectedDataKey["IdTEI"]), 2, //Tipo Operacion: Egreso pago.idFacturadoProveedor, 1, //Estatus: Capturada 0, //No reemplaza idUsuario); if (resultado.OperacionExitosa) { int idEgresoIngresoComp = resultado.IdRegistro; foreach (DataRow rowDocumento in dtDocumentos.Rows) { //Instanciar por el UUID del Documento Relacionado using (FacturadoProveedor facturado = new FacturadoProveedor(rowDocumento["UUIDTDP"].ToString(), idCompania)) { if (facturado.habilitar) { DataTable listaAplicaciones = FichaIngresoAplicacion.ObtieneAplicacionesFacturas(72, facturado.id_factura, Convert.ToInt32(gvEgresos.SelectedDataKey["IdTEI"])); int idFichaAplicacion = ( from DataRow rowAplicacion in listaAplicaciones.Rows where rowAplicacion.Field <int>("IdRegistro") == facturado.id_factura select rowAplicacion.Field <int>("Id")).FirstOrDefault(); resultado = FE33.ComprobantePagoDocumentoRelacionado.InsertarComprobantePagoDocumentoRelacionado( FE33.ComprobantePagoDocumentoRelacionado.TipoOperacion.Egreso, pago.idFacturadoProveedor, FE33.ComprobantePagoDocumentoRelacionado.TipoOperacionDocumento.Egreso, facturado.id_factura, Convert.ToInt32(gvEgresos.SelectedDataKey["IdTEI"]), idFichaAplicacion, Convert.ToDecimal(rowDocumento["ImporteSalAntTDP"]), Convert.ToDecimal(rowDocumento["ImportePagTDP"]), Convert.ToByte(rowDocumento["NoParcialidadTDP"]), idEgresoIngresoComp, idUsuario); } else { resultado = new RetornoOperacion($"La factura con UUID: {rowDocumento["UUIDTDP"].ToString()} no se encuentra en el sistema.", false); break; } } } } //Cambiar estatus al Pago a Ligado if (resultado.OperacionExitosa) { resultado = pago.ActualizaEstatus(PagoFacturado.EstatusPago.Ligado, idUsuario); } if (resultado.OperacionExitosa) { transaccionFactura.Complete(); } } } else { resultado = new RetornoOperacion("Los Importes de los Documentos Relacionados, no coinciden con el monto del Pago.", false); } } } else { resultado = new RetornoOperacion("El Pago no contiene Documentos Relacionados", false); } } } catch { ScriptServer.MuestraNotificacion(this.Page, "No hay Pagos coincidentes", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } ScriptServer.MuestraNotificacion(this.Page, resultado.Mensaje, ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); break; } } } }
/// <summary> /// Realiza el proceso de visualización de cambios a realizar en base a la información recuperada desde el archivo /// </summary> private void generarVistaPrevia() { //Declarando objeto de resultado List <RetornoOperacion> resultados = new List <RetornoOperacion>(); string archivo = ""; bool res = true; //Validando Sesión Registro B if (Session["id_registro_b"] != null && Session["id_registro"] != null) { //Creando tabla concentradora de información DataTable dtImportacion = new DataTable(); //Añadiendo columna para enumerar resultados DataColumn cID = new DataColumn("cont", typeof(int)); cID.AutoIncrement = true; cID.AutoIncrementSeed = 1; cID.AutoIncrementStep = 1; dtImportacion.Columns.Add(cID); dtImportacion.Columns.Add("id", typeof(int)); dtImportacion.Columns.Add("xml", typeof(string)); dtImportacion.Columns.Add("nombre", typeof(string)); dtImportacion.Columns.Add("rfcE", typeof(string)); dtImportacion.Columns.Add("rfcR", typeof(string)); dtImportacion.Columns.Add("TipoComprobante", typeof(string)); dtImportacion.Columns.Add("Emisor", typeof(string)); dtImportacion.Columns.Add("Receptor", typeof(string)); dtImportacion.Columns.Add("Serie", typeof(string)); dtImportacion.Columns.Add("Folio", typeof(string)); dtImportacion.Columns.Add("UUID", typeof(string)); dtImportacion.Columns.Add("FechaFactura", typeof(DateTime)); dtImportacion.Columns.Add("SubTotal", typeof(int)); dtImportacion.Columns.Add("Descuento", typeof(int)); dtImportacion.Columns.Add("Trasladado", typeof(int)); dtImportacion.Columns.Add("Retenido", typeof(int)); dtImportacion.Columns.Add("Total", typeof(int)); dtImportacion.Columns.Add("EstatusSistema", typeof(string)); dtImportacion.Columns.Add("EstatusSAT", typeof(string)); //Para cada uno de los archivos cargados foreach (byte[] b in (List <byte[]>)Session["id_registro_b"]) { //Inicializando resultado RetornoOperacion resultado = new RetornoOperacion(); //Intentando Obtener campos del XML try { //Traduciendo a texto XML XDocument doc = XDocument.Load(new MemoryStream(b)); //si se cargó correctamente if (doc != null) { //Recuperando datos de interés desde el XML XNamespace ns = doc.Root.GetNamespaceOfPrefix("cfdi"); string version = doc.Root.Attribute("version") != null?doc.Root.Attribute("version").Value : doc.Root.Attribute("Version").Value; //string IdByte = doc.ToString(); //int id_cfdi = 0; string rfcE = version.Equals("3.2") ? doc.Root.Element(ns + "Emisor").Attribute("rfc").Value : doc.Root.Element(ns + "Emisor").Attribute("Rfc").Value; string rfcR = version.Equals("3.2") ? doc.Root.Element(ns + "Emisor").Attribute("rfc").Value : doc.Root.Element(ns + "Emisor").Attribute("Rfc").Value; string emisor = version.Equals("3.2") ? doc.Root.Element(ns + "Emisor").Attribute("nombre").Value : doc.Root.Element(ns + "Emisor").Attribute("Nombre").Value; string receptor = version.Equals("3.2") ? doc.Root.Element(ns + "Receptor").Attribute("nombre").Value : doc.Root.Element(ns + "Receptor").Attribute("Nombre").Value; byte tipoCFDI = 0; if (version.Equals("3.2")) { switch (doc.Root.Attribute("tipoDeComprobante").Value.ToLower()) { case "ingreso": tipoCFDI = 1; break; case "egreso": tipoCFDI = 2; break; default: tipoCFDI = 3; break; } } else { switch (doc.Root.Attribute("TipoDeComprobante").Value.ToUpper()) { case "I": tipoCFDI = 1; break; case "E": tipoCFDI = 2; break; default: tipoCFDI = 3; break; } } string folio = "", serie = ""; if (doc.Root.Attribute("serie") != null || doc.Root.Attribute("Serie") != null) { serie = version.Equals("3.2") ? doc.Root.Attribute("serie").Value : doc.Root.Attribute("Serie").Value; } if (doc.Root.Attribute("folio") != null || doc.Root.Attribute("Folio") != null) { folio = version.Equals("3.2") ? doc.Root.Attribute("folio").Value : doc.Root.Attribute("Folio").Value; } DateTime fecha = DateTime.Parse(version.Equals("3.2") ? doc.Root.Attribute("fecha").Value : doc.Root.Attribute("Fecha").Value); XElement timbre = (from XElement el in doc.Root.Element(ns + "Complemento").Elements() where el.Name.Equals(el.GetNamespaceOfPrefix("tfd") + "TimbreFiscalDigital") select el).DefaultIfEmpty(null).FirstOrDefault(); string uuid = timbre.Attribute("UUID").Value; string tipoComprobante = doc.Root.Attribute("TipoDeComprobante").Value.ToUpper(); decimal subtotal = Convert.ToDecimal(version.Equals("3.2") ? doc.Root.Attribute("subTotal").Value : doc.Root.Attribute("SubTotal").Value); decimal retenciones = Convert.ToDecimal(version.Equals("3.2") ? TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "totalImpuestosRetenidos", "0") : TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "TotalImpuestosRetenidos", "0")); decimal traslados = Convert.ToDecimal(version.Equals("3.2") ? TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "totalImpuestosTrasladados", "0") : TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "TotalImpuestosTrasladados", "0")); decimal descuento = Convert.ToDecimal(version.Equals("3.2") ? TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root, "descuento", "0") : TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root, "Descuento", "0")); decimal total = Convert.ToDecimal(version.Equals("3.2") ? doc.Root.Attribute("total").Value : doc.Root.Attribute("Total").Value); string estatus = FacturadoProveedor.EstatusFactura.EnRevision.ToString(); //Para cada uno de los archivos cargados foreach (string a in (List <string>)Session["id_registro"]) { if (a.Contains(folio) || a.Contains(uuid)) { archivo = a.ToString(); } } dtImportacion.Rows.Add(null, null, doc, archivo, rfcE, rfcR, tipoComprobante, emisor, receptor, serie, folio, uuid, fecha, subtotal, descuento, traslados, retenciones, total, estatus); } else { resultado = new RetornoOperacion("Error al leer contenido de archivo XML."); } } catch (Exception ex) { resultado = new RetornoOperacion(string.Format("Excepción al importar archivo: {0}", ex.Message)); } //Añadiendo resultado resultados.Add(resultado); } //Almacenando resultados en sesión Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtImportacion, "TableImportacion"); //Borrando archivo de memoria, una vez que se cargó a una tabla //Session["id_registro_b"] = null; //Session["id_registro"] = null; //Limpiando nombre de archivo //ScriptServer.EjecutaFuncionDefinidaJavaScript(this, "<script> BorraNombreArchivoCargado(); </script>", "NombreArchivo"); //Llenando gridview de vista previa (Sin llaves de selección) Controles.CargaGridView(gvVistaPrevia, dtImportacion, "Cont-Id-xml-nombre-rfcE-rfcR-Emisor-UUID-Total-FechaFactura-TipoComprobante-EstatusSistema", lblOrdenarVistaPrevia.Text, true, 1); //Señalando resultado exitoso resultados.Add(new RetornoOperacion("Vista Previa generada con éxito.", true)); } else { //Instanciando Excepcion resultados.Add(new RetornoOperacion("Debe de cargar una Factura")); } //Mostrando resultado general RetornoOperacion global = RetornoOperacion.ValidaResultadoOperacionMultiple(resultados, RetornoOperacion.TipoValidacionMultiple.Cualquiera, " | "); ScriptServer.MuestraNotificacion(this.Page, global, ScriptServer.PosicionNotificacion.AbajoDerecha); }
/// <summary> /// Realiza el proceso de visualización de cambios a realizar en base a la información recuperada desde el archivo /// </summary> private void AgrupaUbicaciones() { //Declarando resultao de carga de vista previa RetornoOperacion resultado = new RetornoOperacion("Primero debe cargar un archivo .xls o .xlsx."); //Validando existencia de archivo en sesión if (Session["ArchivoImportacionKilometraje"] != null) { //Leyendo primer tabla using (DataTable mitExcel = Excel.DataTableDeExcelBytes((byte[])Session["ArchivoImportacionKilometraje"], "KILOMETRAJES")) { //Si hay datos if (mitExcel != null) { //Creando tabla concentradora de información DataTable mitImportacion = new DataTable(); //Añadiendo columna para enumerar resultados DataColumn cID = new DataColumn("Id", typeof(int)); cID.AutoIncrement = true; cID.AutoIncrementSeed = 1; cID.AutoIncrementStep = 1; mitImportacion.Columns.Add(cID); mitImportacion.Columns.Add("No", typeof(int)); mitImportacion.Columns.Add("IdO", typeof(int)); mitImportacion.Columns.Add("Origen", typeof(string)); mitImportacion.Columns.Add("IdD", typeof(int)); mitImportacion.Columns.Add("Destino", typeof(string)); mitImportacion.Columns.Add("KMS", typeof(decimal)); mitImportacion.Columns.Add("Tiempo", typeof(decimal)); mitImportacion.Columns.Add("KMSPago", typeof(decimal)); mitImportacion.Columns.Add("KMSCobro", typeof(decimal)); mitImportacion.Columns.Add("Observacion", typeof(string)); mitImportacion.Columns.Add("KMSActual", typeof(decimal)); mitImportacion.Columns.Add("IdKMS", typeof(int)); //Creando tabla concentradora de información DataTable mitKilometrajes = new DataTable(); //Añadiendo columna para enumerar resultados DataColumn cIK = new DataColumn("Id", typeof(int)); cIK.AutoIncrement = true; cIK.AutoIncrementSeed = 1; cIK.AutoIncrementStep = 1; mitKilometrajes.Columns.Add(cIK); mitKilometrajes.Columns.Add("No", typeof(int)); mitKilometrajes.Columns.Add("IdO", typeof(int)); mitKilometrajes.Columns.Add("Ori", typeof(string)); mitKilometrajes.Columns.Add("IdD", typeof(int)); mitKilometrajes.Columns.Add("Dest", typeof(string)); mitKilometrajes.Columns.Add("KMS", typeof(decimal)); mitKilometrajes.Columns.Add("Tiempo", typeof(decimal)); mitKilometrajes.Columns.Add("KMSPago", typeof(decimal)); mitKilometrajes.Columns.Add("KMSCobro", typeof(decimal)); mitKilometrajes.Columns.Add("Observacion", typeof(string)); mitKilometrajes.Columns.Add("KMSActual", typeof(decimal)); mitKilometrajes.Columns.Add("IdKMS", typeof(int)); //Creando tabla concentradora de información DataTable dtUbicacionesSI = new DataTable(); dtUbicacionesSI.Columns.Add("No", typeof(int)); dtUbicacionesSI.Columns.Add("IdUbicacion", typeof(int)); dtUbicacionesSI.Columns.Add("Descripcion", typeof(string)); dtUbicacionesSI.Columns.Add("Geoubicacion", typeof(string)); //Agruparemos las ubicaciones using (DataTable dtAgrubicaciones = mitExcel) { //Cargando Reporte using (DataTable dtKilometraje = SAT_CL.Global.Kilometraje.ObtieneKilometrajes(0, 0, 0, 0, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { List <string> ODAgrupados = ((from DataRow ori in dtAgrubicaciones.Rows select ori["ORIGEN"].ToString().Trim().ToUpper()).Union( from DataRow des in dtAgrubicaciones.Rows select des["DESTINO"].ToString().Trim().ToUpper())).ToList(); if (ODAgrupados.Count > 0) { foreach (string dr in ODAgrupados) { if (dr != null) { //string Descripcion = dr.ToString().Trim().ToUpper() == "" ? dr : Cadena.RegresaCadenaSeparada(dr, "(", 0); string Descripcion = dr.Trim().ToUpper(); //Instanciando concepto using (UBI.Ubicacion Ubicacion = new UBI.Ubicacion(Descripcion, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { //Validacion if (Ubicacion.habilitar) { //Ubicaciones que existen en la tabla global.ubicaciones dtUbicacionesSI.Rows.Add(-1, Ubicacion.id_ubicacion, dr, Ubicacion.geoubicacion); } else { //Ubicaciones que no se encuentran en la tabla y seran dadas de altas dtUbicacionesSI.Rows.Add(-2, 0, dr, 0); } } } } } //Obtiene los kilometrajes que se encuentran en excel List <DataRow> Kilometrajes = (from DataRow r in dtAgrubicaciones.Rows select r).ToList(); if (Kilometrajes.Count > 0) { foreach (DataRow dr in Kilometrajes) { string Origen = Convert.ToString(dr["ORIGEN"]); string Destino = Convert.ToString(dr["DESTINO"]); List <DataRow> IdUbicacionesOrigen = (from DataRow ori in dtUbicacionesSI.Rows where ori["Descripcion"].ToString().Trim().ToUpper().Contains(Origen.ToString().Trim().ToUpper()) select ori).ToList(); List <DataRow> IdUbicacionesDestino = (from DataRow des in dtUbicacionesSI.Rows where des["Descripcion"].ToString().Trim().ToUpper().Contains(Destino.ToString().Trim().ToUpper()) select des).ToList(); foreach (DataRow ori in IdUbicacionesOrigen) { foreach (DataRow des in IdUbicacionesDestino) { //Obtiene los kilometrajes a importar general List <DataRow> KilometrajesBD = (from DataRow kil in dtKilometraje.Rows where kil["IdOrigen"].ToString().Contains(Convert.ToString(ori["IdUbicacion"])) && kil["IdDestino"].ToString().Contains(Convert.ToString(des["IdUbicacion"])) select kil).ToList(); if (KilometrajesBD.Count == 1) { //resgistro -1 update foreach (DataRow kil in KilometrajesBD) { //Tabla con origen y destino general decimal KmsActual = Convert.ToDecimal(kil["KmsReales"]); decimal KmsNuevo = Convert.ToDecimal(dr["KMS REALES"]); int errorU = 0; if (KmsNuevo == KmsActual) { errorU = -7; } else if (KmsNuevo > KmsActual) { errorU = -8; } else if (KmsNuevo < KmsActual) { errorU = -9; } mitKilometrajes.Rows.Add(null, errorU, ori["IdUbicacion"], dr["ORIGEN"], des["IdUbicacion"], dr["DESTINO"], dr["KMS REALES"], dr["TIEMPO (MIN)"], dr["KMS (PAGO)"], dr["KMS (COBRO)"], "", kil["KmsReales"], kil["Id"]); // mitImportacion.Rows.Add(null, error, ori["IdUbicacion"], dr["ORIGEN"], des["IdUbicacion"], dr["DESTINO"], dr["KMS REALES"], dr["TIEMPO (MIN)"], dr["KMS (PAGO)"], dr["KMS (COBRO)"],"Se realizara la modificacion actual", kil["KmsReales"]); } } else { int error = (Convert.ToInt32(ori["No"]) + Convert.ToInt32(des["No"])); mitKilometrajes.Rows.Add(null, error, ori["IdUbicacion"], dr["ORIGEN"], des["IdUbicacion"], dr["DESTINO"], dr["KMS REALES"], dr["TIEMPO (MIN)"], dr["KMS (PAGO)"], dr["KMS (COBRO)"], "Se realizara la modificacion actual", 0, 0); } } } } foreach (DataRow dp in mitKilometrajes.Rows) { List <DataRow> ag = (from DataRow r in mitKilometrajes.Rows where Convert.ToInt32(r["IdO"]) == dp.Field <int>("IdO") && Convert.ToInt32(r["IdD"]) == dp.Field <int>("IdD") && r["Ori"].ToString().Equals(dp["Ori"].ToString()) && r["Dest"].ToString().Equals(dp["Dest"].ToString()) select r).ToList(); //Validacion de kilometraje no se repite if (ag.Count == 1) { int error = (Convert.ToInt32(dp["No"])); string observacion = ""; if (error == -1) { observacion = "Este kilometraje se actualizara"; } if (error == -2) { observacion = "Kilometraje listo para importación"; } else if (error == -3) { observacion = "No existe"; } else if (error == -4) { observacion = "No existe"; } else if (error == -7) { observacion = "Se realizara la modificacion actual Los kilometrajes son iguales"; } else if (error == -8) { observacion = "Se realizara la modificacion actual el kilometraje es mayor"; } else if (error == -9) { observacion = "Se realizara la modificacion actual el kilometraje es menor"; } mitImportacion.Rows.Add(null, dp["No"], dp["IdO"], dp["Ori"], dp["IdD"], dp["Dest"], dp["KMS"], dp["Tiempo"], dp["KMSPago"], dp["KMSCobro"], observacion, dp["KMSActual"], dp["IdKMS"]); } //Validacion de kilometraje que se repite else if (ag.Count > 1) { int No = (Convert.ToInt32(dp["No"])); int error = 0; if (No == -2 || No == -3 || No == -4) { error = -5; } else { error = -6; } mitImportacion.Rows.Add(null, error, dp["IdO"], dp["Ori"], dp["IdD"], dp["Dest"], dp["KMS"], dp["Tiempo"], dp["KMSPago"], dp["KMSCobro"], "Kilometraje Repetido", dp["KMSActual"], dp["IdKMS"]); } else { //Error } } } } List <DataRow> kg = (from DataRow k in mitImportacion.Rows where k.Field <int>("No") == -2 || k.Field <int>("No") == -3 || k.Field <int>("No") == -4 || k.Field <int>("No") == -5 select k).ToList(); //Valida que el list tenga datos nuevos if (kg.Count > 1) { DataTable KMSNew = (from DataRow k in mitImportacion.Rows where k.Field <int>("No") == -2 || k.Field <int>("No") == -3 || k.Field <int>("No") == -4 || k.Field <int>("No") == -5 orderby k.Field <int>("No") ascending select k).CopyToDataTable(); //Si hay datos if (KMSNew != null) { //Almacenando resultados en sesión Session["DSNew"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DSNew"], KMSNew, "TableNew"); //Llenando gridview de vista previa (Sin llaves de selección) Controles.CargaGridView(gvKmsNuevos, KMSNew, "Id-No", lblOrdenarVistaPreviaKmsNuevos.Text, true, 1); } } else { Controles.InicializaGridview(gvKmsNuevos); } List <DataRow> ug = (from DataRow u in mitImportacion.Rows where u.Field <int>("No") == -1 || u.Field <int>("No") == -6 || u.Field <int>("No") == -7 || u.Field <int>("No") == -8 || u.Field <int>("No") == -9 select u).ToList(); //Valida que exista datos para modificacion if (ug.Count > 1) { //Obtiene los kilometrajes update a importar general DataTable KMSUpdate = (from DataRow u in mitImportacion.Rows where u.Field <int>("No") == -1 || u.Field <int>("No") == -6 || u.Field <int>("No") == -7 || u.Field <int>("No") == -8 || u.Field <int>("No") == -9 orderby u.Field <int>("No") ascending select u).CopyToDataTable(); //Si hay datos if (KMSUpdate != null) { //Almacenando resultados en sesión Session["DSUpdate"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DSUpdate"], KMSUpdate, "TableUpdate"); //Llenando gridview de vista previa (Sin llaves de selección) Controles.CargaGridView(gvKmsExistentes, KMSUpdate, "Id-No", lblOrdenarVistaPreviaKmsExistentes.Text, true, 1); } } else { Controles.InicializaGridview(gvKmsExistentes); } //Almacenando resultados en sesión Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mitImportacion, "TableImportacion"); //Borrando archivo de memoria, una vez que se cargó a una tabla Session["ArchivoImportacionKilometraje"] = null; //Limpiando nombre de archivo ScriptServer.EjecutaFuncionDefinidaJavaScript(this, "<script> BorraNombreArchivoCargado(); </script>", "NombreArchivo"); //Señalando resultado exitoso resultado = new RetornoOperacion("Vista Previa generada con éxito.", true); } } //De lo contrario señalando error else { resultado = new RetornoOperacion("No fue posible encontrar la hoja 'CARGOS' en este archivo, por favor valide que sea el archivo correcto y tenga el formato permitido."); } } } //Notificando resultado obtenido ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); }
/// <summary> /// Evento Producido al Cambiar el Monto de un Registro del GridView "Facturas" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkCambiar_Click(object sender, EventArgs e) { //Validando que existan Registros if (gvFacturas.DataKeys.Count > 0) { //Seleccionando Fila Controles.SeleccionaFila(gvFacturas, sender, "lnk", false); //Obteniendo Control TextBox txt = (TextBox)gvFacturas.SelectedRow.FindControl("txtMXA"); //Declarando Variables Auxiliares int[] indices_chk = new int[1]; int contador = 0; //Validando el Comando del Control switch (((LinkButton)sender).CommandName) { case "Cambiar": { //Validando que exista el Control if (txt != null) { //Habilitando el Control txt.Enabled = true; //Obteniendo Control LinkButton lnk = (LinkButton)sender; //Configurando Control lnk.Text = lnk.CommandName = "Guardar"; } break; } case "Guardar": { //Validando que exista el Control if (txt != null) { //Declarando Variable Auxiliar bool value = true; //Obtenemos Filas Seleccionadas GridViewRow[] gvrs = Controles.ObtenerFilasSeleccionadas(gvFacturas, "chkVariosFactura"); //Validando que Existan Filas if (gvrs.Length > 0) { //Obteniendo Indices indices_chk = new int[gvrs.Length]; //Recorriendo Filas foreach (GridViewRow gvr in gvrs) { //Guardando Indice indices_chk[contador] = gvr.RowIndex; //Incrementando Contador contador++; } } else { //Borrando Arreglo indices_chk = null; } //Recorriendo Registros foreach (DataRow dr in ((DataSet)Session["DS"]).Tables["Table"].Select("Id = " + gvFacturas.SelectedDataKey["Id"].ToString())) { //Validando que el Valor Ingresado no supera al Permitido value = Convert.ToDecimal(dr["MP2"]) >= Convert.ToDecimal(txt.Text == "" ? "0" : txt.Text) ? true : false; //Realizando Validación if (value) { //Actualizando Registro dr["MontoPreferente"] = string.Format("{0:0.00}", txt.Text == "" ? "0" : txt.Text); } else { //Actualizando Registro dr["MontoPreferente"] = string.Format("{0:0.00}", dr["MP2"]); //Instanciando Excepción lblError.Text = string.Format("La Cantidad excede el Monto de {0:0.00}", dr["MP2"]); } //Obteniendo Control LinkButton lnk = (LinkButton)sender; //Deshabilitando el Control txt.Enabled = false; //Configurando Control lnk.Text = lnk.CommandName = "Cambiar"; } //Actualizando Cambios ((DataSet)Session["DS"]).Tables["Table"].AcceptChanges(); //Cargando GridView Controles.CargaGridView(gvFacturas, ((DataSet)Session["DS"]).Tables["Table"], "Id-IdDeposito-Anticipo-MontoPendiente-MontoPreferente-MontoPorAplicar", "", true, 2); //Validando que Existan Indices if (indices_chk.Length > 0) { //Creando Ciclo foreach (int indice in indices_chk) { //Seleccionando Indice gvFacturas.SelectedIndex = indice; //Obteniendo Control CheckBox chkFila = (CheckBox)gvFacturas.SelectedRow.FindControl("chkVariosFactura"); //Validando que exista el Control if (chkFila != null) { //Marcando Control chkFila.Checked = true; //Obteniendo Control LinkButton lnk = (LinkButton)gvFacturas.SelectedRow.FindControl("lnkCambiar"); //Validando que exista el Control if (lnk != null) { //Habilitando Control lnk.Enabled = true; } } } } //Inicializando INdices Controles.InicializaIndices(gvFacturas); } break; } } //Invocando Método de Suma sumaTotalesAplicacion(); } }
/// <summary> /// Evento Producido al Aplicar las Facturas /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAplicarFacturas_Click(object sender, EventArgs e) { //Obteniendo Facturas Seleccionadas GridViewRow[] gvrs = Controles.ObtenerFilasSeleccionadas(gvFacturas, "chkVariosFactura"); //Declarando Variables Auxiliares bool tieneAnticipos = false; string mensajeFactura = ""; string[] depositos = new string[1]; int contador = 0; //Validando que Existan Registros if (gvrs.Length > 0) { //Creando Arreglo Dinamico depositos = new string[gvrs.Length]; //Recorriendo Facturas foreach (GridViewRow gvr in gvrs) { //Asignando Indice gvFacturas.SelectedIndex = gvr.RowIndex; //Validando que tenga deposito if (gvFacturas.SelectedDataKey["Anticipo"].ToString().Equals("Si")) { //Asignando Positiva la Variable tieneAnticipos = true; //Instanciando Deposito using (Deposito dep = new Deposito(Convert.ToInt32(gvFacturas.SelectedDataKey["IdDeposito"]))) { //Validando que exista la factura if (dep.habilitar) { //Concatenando Mensaje mensajeFactura += string.Format("*La Factura '{0}', esta ligada al Anticipo No. '{1}'<br />", gvFacturas.SelectedDataKey["Id"], dep.no_deposito); //Asignando Deposito depositos[contador] = dep.id_deposito.ToString(); //Incrementando Contador contador++; } } } //Asignando Mensaje de Operación lblFacturas.Text = mensajeFactura; } //Validando que tenga Anticipos if (tieneAnticipos) { //Obteniendo Anticipos de Proveedor using (DataTable dtAnticiosProveedor = SAT_CL.Bancos.EgresoIngreso.ObtieneAnticiposProveedor(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1)), string.Join(",", depositos))) { //Validando que existan Registros if (Validacion.ValidaOrigenDatos(dtAnticiosProveedor)) { //Cargando GridView Controles.CargaGridView(gvAnticiposProveedor, dtAnticiosProveedor, "Id-MontoDisponible-IdServicio", lblOrdenadoFI.Text, true, 7); //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtAnticiosProveedor, "Table1"); //Mostrando Ventana de Confirmación ScriptServer.AlternarVentana(this.Page, "ConfirmacionAnticipo", "contenedorVentanaConfirmacionAnticipo", "ventanaConfirmacionAnticipo"); } else { //Inicializando GridView Controles.InicializaGridview(gvAnticiposProveedor); //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); //Invocando Método de Guardado guardaAplicaciones(); } } } else { //Inicializando GridView Controles.InicializaGridview(gvAnticiposProveedor); //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); //Invocando Método de Guardado guardaAplicaciones(); } } else { //Mostrando Notificación ScriptServer.MuestraNotificacion(this, "No hay Facturas Seleccionadas", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } }
/// <summary> /// Evento Producido al Marcar un Registro del GridView "Facturas" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void chkTodosFactura_CheckedChanged(object sender, EventArgs e) { //Validando que existan Registros if (gvFacturas.DataKeys.Count > 0) { //Obteniendo Control CheckBox chk = (CheckBox)sender; //Declarando variable que Guardara las Filas Seleccionadas int[] indices_chk = new int[1]; int contador = 0; //Validando Id del Control switch (chk.ID) { case "chkTodosFactura": { //Selecciona Todas las Filas Controles.SeleccionaFilasTodas(gvFacturas, "chkVariosFactura", chk.Checked); //Obteniendo Filas Seleccionadas GridViewRow[] gvr = Controles.ObtenerFilasSeleccionadas(gvFacturas, "chkVariosFactura"); //Validando que el Control haya sido marcado if (chk.Checked) { //Validando que Existan Filas if (gvr.Length > 0) { //Creando Arreglo Dinamico indices_chk = new int[gvr.Length]; //Recorriendo Ciclo foreach (GridViewRow gv in gvr) { //Seleccionando Fila gvFacturas.SelectedIndex = gv.RowIndex; //Obteniendo Fila por Editar DataRow[] drEdit = ((DataSet)Session["DS"]).Tables["Table"].Select("Id = " + gvFacturas.SelectedDataKey["Id"].ToString() + " "); //Recorriendo Registro Encontrado foreach (DataRow dr in drEdit) { //Actualizando Registros dr["MontoPreferente"] = dr["MP2"] = string.Format("{0:0.00}", Convert.ToDecimal(gvFacturas.SelectedDataKey["MontoPendiente"]) - Convert.ToDecimal(dr["MontoPorAplicar"])); } //Incrementando Contador contador++; } } } else { //Inicializando Variable indices_chk = null; //Recorriendo Registro Encontrado foreach (DataRow dr in ((DataSet)Session["DS"]).Tables["Table"].Rows) { //Actualizando Registros dr["MontoPreferente"] = dr["MP2"] = string.Format("{0:0.00}", 0); } } //Aceptando Cambios ((DataSet)Session["DS"]).Tables["Table"].AcceptChanges(); //Cargando GridView Controles.CargaGridView(gvFacturas, OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table"), "Id-IdDeposito-Anticipo-MontoPendiente-MontoPreferente-MontoPorAplicar", "", true, 1); //Validando que Existen if (gvr.Length > 0) { //Recorriendo Ciclo foreach (GridViewRow gv in gvr) { //Seleccionando Indice gvFacturas.SelectedIndex = gv.RowIndex; //Obteniendo Control CheckBox chkIndice = (CheckBox)gvFacturas.SelectedRow.FindControl("chkVariosFactura"); //Validando que Exista el Control if (chkIndice != null) { //Marcando el Control chkIndice.Checked = true; //Obteniendo Control LinkButton lnkIndice = (LinkButton)gvFacturas.SelectedRow.FindControl("lnkCambiar"); //Validando que Exista el Control de Cambio if (lnkIndice != null) { //Habilitando Control lnkIndice.Enabled = true; } } } } //Obteniendo Encabezado CheckBox chkEncabezado = (CheckBox)gvFacturas.HeaderRow.FindControl("chkTodosFactura"); //Validando que Exista el Control if (chkEncabezado != null) { //Marcando el Control según su Valor chkEncabezado.Checked = chk.Checked; } //Inicializando Indices Controles.InicializaIndices(gvFacturas); break; } case "chkVariosFactura": { //Obteniendo Filas Seleccionadas GridViewRow[] gvr = Controles.ObtenerFilasSeleccionadas(gvFacturas, "chkVariosFactura"); //Validando que existan Filas Seleccionadas if (gvr.Length > 0) { //Creando Arreglo de forma Dinamica indices_chk = new int[gvr.Length]; //Iniciando Ciclo foreach (GridViewRow gv in gvr) { //Guardando Indices indices_chk[contador] = gv.RowIndex; //Incremenando Contador contador++; } } else { //Inicializando el Arreglo indices_chk = null; } //Seleccionando Fila Controles.SeleccionaFila(gvFacturas, sender, "chk", false); //Validando que se haya marcado la Opción if (chk.Checked) { //Obteniendo Fila por Editar DataRow[] drEdit = ((DataSet)Session["DS"]).Tables["Table"].Select("Id = " + gvFacturas.SelectedDataKey["Id"].ToString() + " "); //Recorriendo Registro Encontrado foreach (DataRow dr in drEdit) { //Validando que los montos por Aplicar no sobrepasen los Montos Pendientes if ((Convert.ToDecimal(dr["MontoPendiente"]) - Convert.ToDecimal(dr["MontoPorAplicar"])) >= 0) { //Actualizando Registros dr["MontoPreferente"] = string.Format("{0:0.00}", (Convert.ToDecimal(dr["MontoPendiente"]) - Convert.ToDecimal(dr["MontoPorAplicar"]))); dr["MP2"] = string.Format("{0:0.00}", (Convert.ToDecimal(dr["MontoPendiente"]) - Convert.ToDecimal(dr["MontoPorAplicar"]))); } else { //Actualizando Registros dr["MontoPreferente"] = string.Format("{0:0.00}", 0); dr["MP2"] = string.Format("{0:0.00}", 0); } } } else { //Obteniendo Fila por Editar DataRow[] drEdit = ((DataSet)Session["DS"]).Tables["Table"].Select("Id = " + gvFacturas.SelectedDataKey["Id"].ToString() + " "); //Recorriendo Registro Encontrado foreach (DataRow dr in drEdit) { //Actualizando Registros dr["MontoPreferente"] = string.Format("{0:0.00}", 0); dr["MP2"] = string.Format("{0:0.00}", 0); } } //Aceptando Cambios ((DataSet)Session["DS"]).Tables["Table"].AcceptChanges(); //Cargando GridView Controles.CargaGridView(gvFacturas, OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table"), "Id-IdDeposito-Anticipo-MontoPendiente-MontoPreferente-MontoPorAplicar", "", true, 1); //Validando que Existen Indices Seleccionados if (indices_chk != null) { //Recorriendo Ciclo foreach (int ind in indices_chk) { //Seleccionando Indice gvFacturas.SelectedIndex = ind; //Obteniendo Control CheckBox chkIndice = (CheckBox)gvFacturas.SelectedRow.FindControl("chkVariosFactura"); //Validando que Exista el Control if (chkIndice != null) { //Marcando el Control chkIndice.Checked = true; //Obteniendo Control LinkButton lnkIndice = (LinkButton)gvFacturas.SelectedRow.FindControl("lnkCambiar"); //Validando que Exista el Control de Cambio if (lnkIndice != null) { //Habilitando Control lnkIndice.Enabled = true; } } } } //Inicializando Indices Controles.InicializaIndices(gvFacturas); break; } } //Invocando Método de Suma sumaTotalesAplicacion(); } }
/// <summary> /// Realiza la búsqueda de facturas y su integración de acuerdo a los filtros definidos /// </summary> private void cargaReporteIntegracion() { //Determinando rango de fechas solicitado DateTime fInicio = chkIncluir.Checked ? Fecha.ConvierteStringDateTime(txtFecIni.Text) : DateTime.MinValue; DateTime fFin = chkIncluir.Checked ? Fecha.ConvierteStringDateTime(txtFecFin.Text) : DateTime.MinValue; //Obteniendo estatus de pago string ids_estatus_pago = Controles.RegresaSelectedValuesListBox(ddlEstatusFactura, "{0},", true, false); //Realizando consulta de facturas de proveedor using (DataTable mitOriginal = SAT_CL.CXP.Reportes.ObtieneIntegracionFacturasProveedor(((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtProveedor.Text, "ID:", 1)), txtSerie.Text, txtFolio.Text, txtUUID.Text, fInicio, fFin, txtNoServicio.Text, txtNoViaje.Text, txtCartaPorte.Text, txtNoAnticipo.Text, txtNoLiquidacion.Text, ids_estatus_pago.Length > 1 ? ids_estatus_pago.Substring(0, ids_estatus_pago.Length - 1) : "")) { //Definiendo auxiliar de origen de datos con formato DataTable mit = null; //Si hay resultados if (mitOriginal != null) { //Copiando esquema mit = mitOriginal.Clone(); //Declarando auxilizar de identificación de factura nueva string UUID = ""; int idFactura = 0; decimal montoAnt = 0, montoLiq = 0, montoOtr = 0; decimal montoFac = 0, montoApl = 0, montoPen = 0, saldo = 0; //Para cada linea encontrada foreach (DataRow row in mitOriginal.Rows) { //Si la factura es distinta al auxiliar if (row.Field <string>("UUID") != UUID) { //Insertando fila con totales de aplicaciones if (UUID != "") { mit.Rows.Add(idFactura, "", "", "", "", DBNull.Value, "", "", "Totales:", 0, montoAnt, "", 0, montoLiq, "", montoOtr, "", montoFac, montoApl, montoPen, saldo); //Limpiando elementos auxiliares de montos de aplicación montoAnt = montoLiq = montoOtr = 0; } //Añadiendo linea a origen de datos alterno mit.ImportRow(row); //Preservando nuevo UUID UUID = row.Field <string>("UUID"); idFactura = row.Field <int>("IdFactura"); //Asignando totales de factura montoFac = Convert.ToDecimal(row["MontoFactura"]); montoApl = Convert.ToDecimal(row["MontoAplicado"]); montoPen = Convert.ToDecimal(row["MontoProgramado"]); saldo = Convert.ToDecimal(row["Saldo"]); //Incrementando total de aplicaciones montoAnt += Convert.ToDecimal(row["MontoAnticipo"]); montoLiq += Convert.ToDecimal(row["MontoLiquidacion"]); montoOtr += Convert.ToDecimal(row["MontoOtros"]); } else { //Añadiendo linea a origen de datos alterno mit.Rows.Add(idFactura, "", "", "", "", DBNull.Value, row["NoServicio"], row["NoViaje"], row["CPorte"], row["NoAnticipo"], row["MontoAnticipo"], row["EstAnticipo"], row["NoLiquidacion"], row["MontoLiquidacion"], row["EstLiquidacion"], row["MontoOtros"], "", 0, 0, 0, 0); //Incrementando total de aplicaciones montoAnt += Convert.ToDecimal(row["MontoAnticipo"]); montoLiq += Convert.ToDecimal(row["MontoLiquidacion"]); montoOtr += Convert.ToDecimal(row["MontoOtros"]); } } //Si hubo registros if (mit.Rows.Count > 0) { //Insertando suma total de último conjunto mit.Rows.Add(idFactura, "", "", "", "", DBNull.Value, "", "", "Totales:", 0, montoAnt, "", 0, montoLiq, "", montoOtr, "", montoFac, montoApl, montoPen, saldo); } //Guardando origen de datos Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table"); } //Si no los hay else { //Borrando origen de datos Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } //Llenando gv con resultados Controles.CargaGridView(gvFacturasProveedor, mit, "IdFactura-SerieFolio", "", true, 2); } }
/// <summary> /// Realiza el proceso de visualización de cambios a realizar en base a la información recuperada desde el archivo /// </summary> private void generarVistaPrevia() { //Declarando objeto de resultado List <RetornoOperacion> resultados = new List <RetornoOperacion>(); string archivo = ""; bool res = true; //Validando Sesión Registro B if (Session["id_registro_b"] != null && Session["id_registro"] != null) { //Para cada uno de los archivos cargados foreach (byte[] b in (List <byte[]>)Session["id_registro_b"]) { //Inicializando resultado RetornoOperacion resultado = new RetornoOperacion(); //Intentando Obtener campos del XML try { //Traduciendo a texto XML XDocument doc = XDocument.Load(new MemoryStream(b)); //si se cargó correctamente if (doc != null) { //Recuperando datos de interés desde el XML XNamespace ns = doc.Root.GetNamespaceOfPrefix("cfdi"); string version = doc.Root.Attribute("version") != null?doc.Root.Attribute("version").Value : doc.Root.Attribute("Version").Value; //Obteniendo versión de CFDI byte tipoCFDI; if (version.Equals("3.2")) { switch (doc.Root.Attribute("tipoDeComprobante").Value.ToLower()) { case "ingreso": tipoCFDI = 1; break; case "egreso": tipoCFDI = 2; break; default: tipoCFDI = 3; break; } } else { switch (doc.Root.Attribute("TipoDeComprobante").Value.ToUpper()) { case "I": tipoCFDI = 1; break; case "E": tipoCFDI = 2; break; default: tipoCFDI = 3; break; } } if (tipoCFDI == 2) { //string IdByte = doc.ToString(); //int id_cfdi = 0; string rfcE = version.Equals("3.2") ? doc.Root.Element(ns + "Emisor").Attribute("rfc").Value : doc.Root.Element(ns + "Emisor").Attribute("Rfc").Value; string rfcR = version.Equals("3.2") ? doc.Root.Element(ns + "Emisor").Attribute("rfc").Value : doc.Root.Element(ns + "Emisor").Attribute("Rfc").Value; string emisor = version.Equals("3.2") ? doc.Root.Element(ns + "Emisor").Attribute("nombre").Value : doc.Root.Element(ns + "Emisor").Attribute("Nombre").Value; string receptor = version.Equals("3.2") ? doc.Root.Element(ns + "Receptor").Attribute("nombre").Value : doc.Root.Element(ns + "Receptor").Attribute("Nombre").Value; string folio = "", serie = ""; if (doc.Root.Attribute("serie") != null || doc.Root.Attribute("Serie") != null) { serie = version.Equals("3.2") ? doc.Root.Attribute("serie").Value : doc.Root.Attribute("Serie").Value; } if (doc.Root.Attribute("folio") != null || doc.Root.Attribute("Folio") != null) { folio = version.Equals("3.2") ? doc.Root.Attribute("folio").Value : doc.Root.Attribute("Folio").Value; } DateTime fecha = DateTime.Parse(version.Equals("3.2") ? doc.Root.Attribute("fecha").Value : doc.Root.Attribute("Fecha").Value); XElement timbre = (from XElement el in doc.Root.Element(ns + "Complemento").Elements() where el.Name.Equals(el.GetNamespaceOfPrefix("tfd") + "TimbreFiscalDigital") select el).DefaultIfEmpty(null).FirstOrDefault(); string uuid = timbre.Attribute("UUID").Value; string tipoComprobante = doc.Root.Attribute("TipoDeComprobante").Value.ToUpper(); decimal subtotal = Convert.ToDecimal(version.Equals("3.2") ? doc.Root.Attribute("subTotal").Value : doc.Root.Attribute("SubTotal").Value); decimal retenciones = Convert.ToDecimal(version.Equals("3.2") ? TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "totalImpuestosRetenidos", "0") : TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "TotalImpuestosRetenidos", "0")); decimal traslados = Convert.ToDecimal(version.Equals("3.2") ? TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "totalImpuestosTrasladados", "0") : TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root.Element(ns + "Impuestos"), "TotalImpuestosTrasladados", "0")); decimal descuento = Convert.ToDecimal(version.Equals("3.2") ? TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root, "descuento", "0") : TSDK.Base.Xml.DevuleveValorAtibutoElementoCadena(doc.Root, "Descuento", "0")); decimal total = Convert.ToDecimal(version.Equals("3.2") ? doc.Root.Attribute("total").Value : doc.Root.Attribute("Total").Value); string estatus = FacturadoProveedor.EstatusFactura.EnRevision.ToString(); //Para cada uno de los archivos cargados foreach (string a in (List <string>)Session["id_registro"]) { if (a.Contains(folio) || a.Contains(uuid)) { archivo = a.ToString(); } } //dtImportacion.Rows.Add(null, null, doc, archivo, rfcE, rfcR, tipoComprobante, emisor, receptor, serie, folio, uuid, fecha, subtotal, descuento, traslados, retenciones, total, estatus); txtEmisor.Text = emisor; txtEmisor.Enabled = false; txtReceptor.Text = receptor; txtReceptor.Enabled = false; txtSerie.Text = serie; txtSerie.Enabled = false; txtFolio.Text = folio; txtFolio.Enabled = false; txtUUID.Text = uuid; txtUUID.Enabled = false; txtFechaFactura.Text = Convert.ToString(fecha); txtFechaFactura.Enabled = false; txtSubtotal.Text = Convert.ToString(subtotal); txtSubtotal.Enabled = false; txtDescuento.Text = Convert.ToString(descuento); txtDescuento.Enabled = false; txtTrasladado.Text = Convert.ToString(traslados); txtTrasladado.Enabled = false; txtRetenido.Text = Convert.ToString(retenciones); txtRetenido.Enabled = false; txtTotal.Text = Convert.ToString(total); txtTotal.Enabled = false; txtEstatusSAT.Text = estatus; txtEstatusSAT.Enabled = false; txtEstatusSistema.Enabled = false; txtObservacion.Enabled = false; //Obteniendo UUIDs de las facturas relacionadas contenidas en el XML cargado IEnumerable <XElement> UUIDsRelacionados = (from XElement UUIDR in doc.Root.Element(ns + "CfdiRelacionados").Descendants() where UUIDR.Name.Equals(UUIDR.GetNamespaceOfPrefix("cfdi") + "CfdiRelacionado") select UUIDR).ToList();//.DefaultIfEmpty(null).FirstOrDefault(); //Creando tabla que aloja a los UUIDs relacionados DataTable dtFacturasRelacionadas = new DataTable(); dtFacturasRelacionadas.Columns.Add("Id", typeof(int)); dtFacturasRelacionadas.Columns.Add("IdCompaniaProveedor", typeof(int)); dtFacturasRelacionadas.Columns.Add("IdCompaniaReceptor", typeof(int)); dtFacturasRelacionadas.Columns.Add("CompaniaProveedor", typeof(string)); dtFacturasRelacionadas.Columns.Add("CompaniaReceptor", typeof(string)); dtFacturasRelacionadas.Columns.Add("IdServicio", typeof(int)); dtFacturasRelacionadas.Columns.Add("Serie", typeof(string)); dtFacturasRelacionadas.Columns.Add("Folio", typeof(string)); dtFacturasRelacionadas.Columns.Add("Uuid", typeof(string)); dtFacturasRelacionadas.Columns.Add("FechaFactura", typeof(DateTime)); dtFacturasRelacionadas.Columns.Add("IdTipoFactura", typeof(byte)); dtFacturasRelacionadas.Columns.Add("TipoComprobante", typeof(string)); dtFacturasRelacionadas.Columns.Add("IdNaturalezaCFDI", typeof(byte)); dtFacturasRelacionadas.Columns.Add("IdEstatusFactura", typeof(byte)); dtFacturasRelacionadas.Columns.Add("IdEstatusRecepcion", typeof(byte)); dtFacturasRelacionadas.Columns.Add("IdRecepcion", typeof(int)); dtFacturasRelacionadas.Columns.Add("IdSegmentoNegocio", typeof(int)); dtFacturasRelacionadas.Columns.Add("IdTipoServicio", typeof(int)); dtFacturasRelacionadas.Columns.Add("TotalFactura", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("SubtotalFactura", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("DescuentoFactura", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("TrasladadoFactura", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("RetenidoFactura", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("Moneda", typeof(string)); dtFacturasRelacionadas.Columns.Add("MontoTipoCambio", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("FechaTipoCambio", typeof(DateTime)); dtFacturasRelacionadas.Columns.Add("TotalFacturaPesos", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("SubtotalPesos", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("DescuentoFacturaPesos", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("TrasladadoPesos", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("RetenidoPesos", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("BitTransferido", typeof(bool)); dtFacturasRelacionadas.Columns.Add("FechaTransferido", typeof(DateTime)); dtFacturasRelacionadas.Columns.Add("Saldo", typeof(decimal)); dtFacturasRelacionadas.Columns.Add("CondicionPago", typeof(string)); dtFacturasRelacionadas.Columns.Add("DiasCredito", typeof(int)); dtFacturasRelacionadas.Columns.Add("IdCausaFaltaPago", typeof(int)); dtFacturasRelacionadas.Columns.Add("IdResultadoValidacion", typeof(byte)); dtFacturasRelacionadas.Columns.Add("ResultadoValidacion", typeof(string)); foreach (XElement element in UUIDsRelacionados) { using (DataTable mit = SAT_CL.CXP.FacturadoProveedor.ObtieneFacturaRelacionadaNC(Convert.ToString(element.Attribute("UUID").Value))) { if (mit == null) { dtFacturasRelacionadas.Rows.Add(0, null, null, "", "", null, "", "", Convert.ToString(element.Attribute("UUID").Value), null, null, "", null, null, null, null, null, null, null, null, null, null, null, "", null, null, null, null, null, null, null, null, null, null, "", null, null, null, ""); } else { dtFacturasRelacionadas.Merge(mit); } } } //Cargando Gridview Controles.CargaGridView(gvVistaPrevia, dtFacturasRelacionadas, "Id", lblOrdenarVistaPrevia.Text); //Si no hay registros if (dtFacturasRelacionadas == null) { //Elimiando de sesión Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "TableImportacion"); } //Si existen registros, se sobrescribe else { Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtFacturasRelacionadas, "TableImportacion"); } //Señalando resultado exitoso resultados.Add(new RetornoOperacion("Vista Previa generada con éxito.", true)); } else { resultado = new RetornoOperacion("El XML cargado no corresponde a un Egreso. Seleccione un XML de tipo Egreso."); } } else { resultado = new RetornoOperacion("Error al leer contenido de archivo XML."); } } catch (Exception ex) { resultado = new RetornoOperacion(string.Format("Excepción al importar archivo: {0}", ex.Message)); } //Añadiendo resultado resultados.Add(resultado); } //Almacenando resultados en sesión //Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtImportacion, "TableImportacion"); //Borrando archivo de memoria, una vez que se cargó a una tabla //Session["id_registro_b"] = null; //Session["id_registro"] = null; //Limpiando nombre de archivo //ScriptServer.EjecutaFuncionDefinidaJavaScript(this, "<script> BorraNombreArchivoCargado(); </script>", "NombreArchivo"); //Llenando gridview de vista previa (Sin llaves de selección) //Controles.CargaGridView(gvVistaPrevia, dtImportacion, "Cont-Id-xml-nombre-rfcE-rfcR-Emisor-UUID-Total-FechaFactura-TipoComprobante-EstatusSistema", lblOrdenarVistaPrevia.Text, true, 1); } else { //Instanciando Excepcion resultados.Add(new RetornoOperacion("Debe de cargar una Factura")); } //Mostrando resultado general RetornoOperacion global = RetornoOperacion.ValidaResultadoOperacionMultiple(resultados, RetornoOperacion.TipoValidacionMultiple.Cualquiera, " | "); ScriptServer.MuestraNotificacion(this.Page, global, ScriptServer.PosicionNotificacion.AbajoDerecha); }
/// <summary> /// Método encargado de cargar las Liquidaciones /// </summary> private void cargaLiquidaciones() { //Declaramos variables de Fechas DateTime fechaInicio = DateTime.MinValue, fechaFin = DateTime.MinValue; int id_operador = 0, id_unidad = 0, id_tercero = 0; //De acuerdo al chek box de fechas de Liquidación if (chkRangoFechas.Checked) { //Declaramos variables de Fechas de Registró fechaInicio = Convert.ToDateTime(txtFechaInicio.Text); fechaFin = Convert.ToDateTime(txtFechaFin.Text); } //Validamos Tipo de Asignación switch (ddlTipoAsignacion.SelectedValue) { //Validamos Selección //Unidad case "1": id_unidad = Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtValor.Text, ":", 1, "0")); break; //Operador case "2": id_operador = Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtValor.Text, ":", 1, "0")); break; //Tercero case "3": id_tercero = Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtValor.Text, ":", 1, "0")); break; } //Obtenemos Depósito using (DataSet ds = SAT_CL.Liquidacion.Reportes.ReporteLiquidaciones(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(Cadena.VerificaCadenaVacia(txtNoLiquidacion.Text, "0")), id_unidad, id_operador, id_tercero, Convert.ToByte(ddlEstatus.SelectedValue), fechaInicio, fechaFin, Convert.ToByte(ddlTipoAsignacion.SelectedValue), Convert.ToByte(ddlTipoOperador.SelectedValue))) { //Validando que el DataSet contenga las tablas if (Validacion.ValidaOrigenDatos(ds, "Table") && Validacion.ValidaOrigenDatos(ds, "Table1")) { //Cargando los GridView Controles.CargaGridView(gvLiquidacion, ds.Tables["Table"], "Id-NoLiquidacion", "", true, 3); Controles.CargaGridView(gvResumen, ds.Tables["Table1"], "Estatus", "", true, 1); //Añadiendo Tablas al DataSet de Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], ds.Tables["Table"], "Table"); Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], ds.Tables["Table1"], "Table1"); //Carga grafica Controles.CargaGrafica(ChtLiquidaciones, "Serie1", "Area1", SeriesChartType.Pie, OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table1").DefaultView, "Estatus", "Total", true); gvResumen.FooterRow.Cells[2].Text = (((DataSet)Session["DS"]).Tables["Table1"].Compute("SUM(Total)", "")).ToString(); } else { //Inicializando GridViews Controles.InicializaGridview(gvResumen); Controles.InicializaGridview(gvLiquidacion); //Eliminando Tablas del DataSet de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); } //Suma Totales sumaTotales(); } }
/// <summary> /// Realiza la búsqueda y muestra los servicios activos /// </summary> private void cargaServicios() { //Declarando Variables Auxiliares DateTime fec_ini_cita_carga = DateTime.MinValue, fec_fin_cita_carga = DateTime.MinValue, fec_ini_cita_descarga = DateTime.MinValue, fec_fin_cita_descarga = DateTime.MinValue, fec_ini_ini_viaje = DateTime.MinValue, fec_fin_ini_viaje = DateTime.MinValue, fec_ini_fin_viaje = DateTime.MinValue, fec_fin_fin_viaje = DateTime.MinValue; //Validando si se Requieren las Fechas if (chkIncluir.Checked) { //Validando el Tipo de Fecha Requerida if (rbCarga.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFechaInicio.Text, out fec_ini_cita_carga); DateTime.TryParse(txtFechaFin.Text, out fec_fin_cita_carga); } else if (rbDescarga.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFechaInicio.Text, out fec_ini_cita_descarga); DateTime.TryParse(txtFechaFin.Text, out fec_fin_cita_descarga); } else if (rbInicioViaje.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFechaInicio.Text, out fec_ini_ini_viaje); DateTime.TryParse(txtFechaFin.Text, out fec_fin_ini_viaje); } else if (rbFinViaje.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFechaInicio.Text, out fec_ini_fin_viaje); DateTime.TryParse(txtFechaFin.Text, out fec_fin_fin_viaje); } } //Obteniendo Filtros de Clasificación string operacion = Controles.RegresaSelectedValuesListBox(lbxOperacionServicio, "{0},", true, false); string alcance = Controles.RegresaSelectedValuesListBox(lbxAlcance, "{0},", true, false); //Cargando Servicio using (DataTable mit = SAT_CL.Despacho.Reporte.CargaServiciosImprimir(this._idCompania, Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1)), txtServicio.Text, chkDocumentados.Checked, chkIniciados.Checked, operacion.Length > 1 ? operacion.Substring(0, operacion.Length - 1) : "", alcance.Length > 1 ? alcance.Substring(0, alcance.Length - 1) : "", fec_ini_cita_carga, fec_fin_cita_carga, fec_ini_cita_descarga, fec_fin_cita_descarga, fec_ini_ini_viaje, fec_ini_fin_viaje, fec_fin_ini_viaje, fec_fin_fin_viaje, txtViaje.Text, Cadena.RegresaCadenaSeparada(txtOperador.Text, " ID:", 1), Cadena.RegresaCadenaSeparada(txtUnidad.Text, " ID:", 1))) { //Validamos Origen de Datos if (Validacion.ValidaOrigenDatos(mit)) { //Obtenemos Arreglos de Id int[] id = (from DataRow r in mit.Rows select r.Field <int>("id_servicio")).ToArray(); //Cargamos Publicaciones Activas de Nuestros Servicios //cargaPublicacionesActivasServicios(id); } Controles.CargaGridView(gvServicios, mit, "id_servicio-movimiento-id_parada_actual-IdParadaInicial-NoServicio-ImpresionCP-ImpresionCPV-ImpresionHI", lblOrdenado.Text, true, 4); //Guardando en sesión el origen de datos if (mit != null) { Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table"); } else { Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } } //Quitando selecciones de fila existentes Controles.InicializaIndices(gvServicios); }
/// <summary> /// Realiza la búsqueda de vales de diesel /// </summary> private void buscaValesDiesel() { //Declarando Variables Auxiliares DateTime fec_ini_sol = DateTime.MinValue; DateTime fec_fin_sol = DateTime.MinValue; DateTime fec_ini_car = DateTime.MinValue; DateTime fec_fin_car = DateTime.MinValue; int id_unidad = 0; int id_operador = 0; int id_proveedor = 0; string id_servicio = ""; string complemento = ""; //Declarando variables para él filtrado de vales de diesel byte tipoAsignacion = Convert.ToByte(ddlTipoEnt.SelectedValue); ////Obteniendo Entidad //id_unidad = ddlTipoEnt.SelectedValue == "1" ? Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtEntidad.Text, "ID:", 1, "0")) : 0; //id_operador = ddlTipoEnt.SelectedValue == "2" ? Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtEntidad.Text, "ID:", 1, "0")) : 0; //id_proveedor = ddlTipoEnt.SelectedValue == "3" ? Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtEntidad.Text, "ID:", 1, "0")) : 0; switch (tipoAsignacion) { //CUANDO ES UNA UNIDAD case 1: { //ENVIA complemento = TSDK.Base.Cadena.RegresaCadenaSeparada(txtEntidad.Text, "ID:", 0, "0"); // id_unidad = 0; break; } //CUANDO ES UN OPERADOR case 2: { id_operador = Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtEntidad.Text, "ID:", 1, "0")); complemento = ""; break; } //CUANDO ES UN PERMISIONARIO case 3: { id_proveedor = Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtEntidad.Text, "ID:", 1, "0")); complemento = ""; break; } } //Validando si se Requieren las Fechas if (chkIncluir.Checked) { //Validando el Tipo de Fecha Requerida if (rbCarga.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFecIni.Text, out fec_ini_car); DateTime.TryParse(txtFecFin.Text, out fec_fin_car); } else if (rbSolicitud.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFecIni.Text, out fec_ini_sol); DateTime.TryParse(txtFecFin.Text, out fec_fin_sol); } } //Inicializando indices de selección Controles.InicializaIndices(gvValesDiesel); //Obteniendo Reporte de Saldos Globales using (DataTable dtValesDiesel = SAT_CL.EgresoServicio.Reportes.ReporteValesDiesel(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(TSDK.Base.Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1, "0")), txtNoVale.Text, txtNoServicio.Text, fec_ini_sol, fec_fin_sol, fec_ini_car, fec_fin_car, Convert.ToInt32(ddlUbicacion.SelectedValue), id_unidad, id_operador, id_proveedor, Convert.ToByte(ddlEstatus.SelectedValue), complemento, txtUnidadDiesel.Text, id_servicio)) { //Cargando GridView Controles.CargaGridView(gvValesDiesel, dtValesDiesel, "NoVale-Id-Unidad", "", true, 0); //Validando que existan Registros if (dtValesDiesel != null) { //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtValesDiesel, "Table"); } else { //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } } //Sumando Totales sumaTotales(); }
/// <summary> /// Realiza la búsqueda de servicios coincidentes a los filtros señalados /// </summary> private void buscaServicios() { //Declarando variables para rangos de fecha DateTime inicial_cita_carga = DateTime.MinValue; DateTime final_cita_carga = DateTime.MinValue; DateTime inicial_cita_descarga = DateTime.MinValue; DateTime final_cita_descarga = DateTime.MinValue; DateTime inicial_inicio_servicio = DateTime.MinValue; DateTime final_inicio_servicio = DateTime.MinValue; DateTime inicial_fin_servicio = DateTime.MinValue; DateTime final_fin_servicio = DateTime.MinValue; //Determinando que criterio será utilizado if (chkRangoFechas.Checked) { //Cita carga if (rdbCitaCarga.Checked) { inicial_cita_carga = Convert.ToDateTime(txtFechaInicio.Text); final_cita_carga = Convert.ToDateTime(txtFechaFin.Text); } //Cita Descarga else if (rdbCitaDescarga.Checked) { inicial_cita_descarga = Convert.ToDateTime(txtFechaInicio.Text); final_cita_descarga = Convert.ToDateTime(txtFechaFin.Text); } //Inicio de Servicio else if (rdbInicioServicio.Checked) { inicial_inicio_servicio = Convert.ToDateTime(txtFechaInicio.Text); final_inicio_servicio = Convert.ToDateTime(txtFechaFin.Text); } //Fin de Servicio else { inicial_fin_servicio = Convert.ToDateTime(txtFechaInicio.Text); final_fin_servicio = Convert.ToDateTime(txtFechaFin.Text); } } //Realizando la carga de los servicios coincidentes using (DataTable mit = SAT_CL.Documentacion.Reportes.CargaReporteServicios(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, txtNoServicio.Text, Convert.ToInt32(ddlEstatus.SelectedValue), Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtOrigen.Text, "ID:", 1)), Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtDestino.Text, "ID:", 1)), Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtCliente.Text, "ID:", 1)), txtPorte.Text, txtReferencia.Text, Convert.ToInt32(ddlRegion.SelectedValue), Convert.ToInt32(ddlTipoServicio.SelectedValue), Convert.ToInt32(ddlAlcance.SelectedValue), inicial_cita_carga, final_cita_carga, inicial_cita_descarga, final_cita_descarga, inicial_inicio_servicio, final_inicio_servicio, inicial_fin_servicio, final_fin_servicio)) { //Cargando Gridview Controles.CargaGridView(gvServicios, mit, "Id", lblCriterioGridViewServicios.Text, true, 3); //Si no hay registros if (mit == null) { //Elimiando de sesión Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } //Si existen registros, se sobrescribe else { Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], mit, "Table"); } } }
/// <summary> /// Método que muestra el producto asignado a una orden de trabajo /// </summary> private void cargaProductoOrdenTrabajo() { //Limpia las columnas del gridview gvGenerico.Columns.Clear(); BoundField actividad = new BoundField(); actividad.HeaderText = "Actividad"; actividad.DataField = "Actividad"; actividad.SortExpression = "Actividad"; gvGenerico.Columns.Add(actividad); BoundField estatus = new BoundField(); estatus.HeaderText = "Estatus"; estatus.DataField = "Estatus"; estatus.SortExpression = "Estatus"; gvGenerico.Columns.Add(estatus); BoundField codigo = new BoundField(); codigo.HeaderText = "Código Producto"; codigo.DataField = "CodProducto"; codigo.SortExpression = "CodProducto"; gvGenerico.Columns.Add(codigo); BoundField producto = new BoundField(); producto.HeaderText = "Producto"; producto.DataField = "Producto"; producto.SortExpression = "Producto"; gvGenerico.Columns.Add(producto); BoundField unidad = new BoundField(); unidad.HeaderText = "Unidad Medida"; unidad.DataField = "UnidadMedida"; unidad.SortExpression = "UnidadMedida"; gvGenerico.Columns.Add(unidad); BoundField precio = new BoundField(); precio.HeaderText = "Precio"; precio.DataField = "Precio"; precio.SortExpression = "Precio"; precio.DataFormatString = "{0:C2}"; precio.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(precio); BoundField cantidad = new BoundField(); cantidad.HeaderText = "Cantidad Producto"; cantidad.DataField = "Cantidad"; cantidad.SortExpression = "Cantidad"; cantidad.DataFormatString = "{0:0}"; cantidad.ItemStyle.HorizontalAlign = HorizontalAlign.Right; cantidad.FooterStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(cantidad); BoundField total = new BoundField(); total.HeaderText = "Total"; total.DataField = "Total"; total.SortExpression = "Total"; total.DataFormatString = "{0:C2}"; total.ItemStyle.HorizontalAlign = HorizontalAlign.Right; total.FooterStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(total); //Invoca al método que obtiene los productos de una orden de trabajo using (DataTable dtProducto = SAT_CL.Mantenimiento.OrdenTrabajo.CargaProductoOrdenTrabajo((int)gvOrdenTrabajo.SelectedDataKey["Id"])) { //Valida los datos del datatable if (Validacion.ValidaOrigenDatos(dtProducto)) { //Asigna al grid view los valores encontrados Controles.CargaGridView(gvGenerico, dtProducto, "", ""); //Asigna valores a la variable de session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtProducto, "Table1"); gvGenerico.FooterRow.Cells[6].Text = string.Format("{0:0}", (dtProducto.Compute("SUM(Cantidad)", ""))); gvGenerico.FooterRow.Cells[7].Text = string.Format("{0:C2}", (dtProducto.Compute("SUM(Total)", ""))); } else { //Si no existen registros inicializa el GridView Controles.InicializaGridview(gvGenerico); //Elimina los datos del dataset Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table1"); gvGenerico.FooterRow.Cells[6].Text = string.Format("{0:0}", 0); gvGenerico.FooterRow.Cells[7].Text = string.Format("{0:C2}", 0); } } Controles.InicializaIndices(gvGenerico); lblEncabezado.Text = "PRODUCTO"; }
/// <summary> /// Realiza la búsqueda de vales de diesel /// </summary> private void buscaValeDiesel() { //Declarando Variables Auxiliares DateTime fec_ini_sol = DateTime.MinValue; DateTime fec_fin_sol = DateTime.MinValue; DateTime fec_ini_car = DateTime.MinValue; DateTime fec_fin_car = DateTime.MinValue; int id_cliente = 0; int id_ubicacion = 0; //int id_servicio = ; byte id_estatus = 0; int id_unidad = 0; int id_operador = 0; int id_proveedor = 0; string complemento = ""; //Validando si se Requieren las Fechas if (chkIncluir.Checked) { //Validando el Tipo de Fecha Requerida if (rbCarga.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFecIni.Text, out fec_ini_car); DateTime.TryParse(txtFecFin.Text, out fec_fin_car); } else if (rbSolicitud.Checked) { //Obteniendo Fechas DateTime.TryParse(txtFecIni.Text, out fec_ini_sol); DateTime.TryParse(txtFecFin.Text, out fec_fin_sol); } } //Inicializando indices de selección Controles.InicializaIndices(gvEliminacionValeDiesel); //Obteniendo Reporte de Saldos Globales using (DataTable dtEliminacionValeDiesel = SAT_CL.EgresoServicio.Reportes.ReporteValesDiesel(((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, id_cliente, txtNoVale.Text, txtNoServicio.Text, fec_ini_sol, fec_fin_sol, fec_ini_car, fec_fin_car, id_ubicacion, id_unidad, id_operador, id_proveedor, id_estatus, complemento, Cadena.RegresaCadenaSeparada(txtUnidadDiesel.Text, "ID:", 0, "0").Trim(), txtNoViaje.Text)) { //Cargando GridView Controles.CargaGridView(gvEliminacionValeDiesel, dtEliminacionValeDiesel, "Id-NoVale-NoServicio", "", true, 2); //Validando que existan Registros if (dtEliminacionValeDiesel != null) { //Añadiendo Tabla a Session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtEliminacionValeDiesel, "Table"); } else { //Eliminando Tabla de Session Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } } //Sumando Totales sumaTotales(); }
/// <summary> /// Método que muestra las actividades y Fallas de una orden de trabajo /// </summary> private void cargaActidadFallas() { //Limpia las columnas del gridview gvGenerico.Columns.Clear(); BoundField falla = new BoundField(); falla.HeaderText = "Falla"; falla.DataField = "Falla"; falla.SortExpression = "Falla"; gvGenerico.Columns.Add(falla); BoundField fechafalla = new BoundField(); fechafalla.HeaderText = "Fecha Falla"; fechafalla.DataField = "FechaFalla"; fechafalla.SortExpression = "FechaFalla"; fechafalla.DataFormatString = "{0:dd/MM/yyyy HH:mm}"; fechafalla.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(fechafalla); BoundField estatus = new BoundField(); estatus.HeaderText = "Estatus Actividad"; estatus.DataField = "Estatus"; estatus.SortExpression = "Estatus"; gvGenerico.Columns.Add(estatus); BoundField actividad = new BoundField(); actividad.HeaderText = "Actividad"; actividad.DataField = "Actividad"; actividad.SortExpression = "Actividad"; gvGenerico.Columns.Add(actividad); BoundField fechainicio = new BoundField(); fechainicio.HeaderText = "Fecha Inicio"; fechainicio.DataField = "FechaInicio"; fechainicio.SortExpression = "FechaInicio"; fechainicio.DataFormatString = "{0:dd/MM/yyyy HH:mm}"; fechainicio.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(fechainicio); BoundField fechafin = new BoundField(); fechafin.HeaderText = "Fecha Fin"; fechafin.DataField = "FechaFin"; fechafin.SortExpression = "FechaFin"; fechafin.DataFormatString = "{0:dd/MM/yyyy HH:mm}"; fechafin.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(fechafin); BoundField duracion = new BoundField(); duracion.HeaderText = "Duración Aprox."; duracion.DataField = "Duracion"; duracion.SortExpression = "Duracion"; duracion.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(duracion); BoundField duracionreal = new BoundField(); duracionreal.HeaderText = "Duración Real"; duracionreal.DataField = "DuracionReal"; duracionreal.SortExpression = "DuracionReal"; duracionreal.ItemStyle.HorizontalAlign = HorizontalAlign.Right; gvGenerico.Columns.Add(duracionreal); //Instancia a la clase para obtener las activiades y fallas de la orden de trabajo using (DataTable dtActividadFalla = SAT_CL.Mantenimiento.OrdenTrabajo.CargaActividadesOrdenTrabajo((int)gvOrdenTrabajo.SelectedDataKey["Id"])) { //Valida los datos del datattable if (Validacion.ValidaOrigenDatos(dtActividadFalla)) { //Asigna al gridview los valores del datatable Controles.CargaGridView(gvGenerico, dtActividadFalla, "", ""); //Asigna valores a la variable de session Session["DS"] = OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtActividadFalla, "Table2"); } else { //inicializa el gridView Controles.InicializaGridview(gvGenerico); //Elimina los datos del datase (session) Session["DS"] = OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table2"); } } Controles.InicializaIndices(gvGenerico); lblEncabezado.Text = "ACTIVIDADES Y FALLAS"; }