Esempio n. 1
0
        /// <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);
     }
 }
Esempio n. 3
0
        /// <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");
                }
            }
        }
Esempio n. 4
0
        /// <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;
            }
            }
        }
Esempio n. 5
0
        /// <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();
        }
Esempio n. 7
0
        /// <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);
                }
            }
        }
Esempio n. 8
0
        /// <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();
        }
Esempio n. 10
0
        /// <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();
        }
Esempio n. 11
0
        /// <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");
                }
            }
        }
Esempio n. 12
0
        /// <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'.";
            }
        }
Esempio n. 13
0
        /// <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;
                }
                }
            }
        }
Esempio n. 15
0
        /// <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);
        }
Esempio n. 16
0
        /// <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();
            }
        }
Esempio n. 20
0
        /// <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);
            }
        }
Esempio n. 21
0
        /// <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);
        }
Esempio n. 22
0
        /// <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();
            }
        }
Esempio n. 23
0
        /// <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);
        }
Esempio n. 24
0
        /// <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();
        }
Esempio n. 25
0
        /// <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");
                }
            }
        }
Esempio n. 26
0
        /// <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";
        }
Esempio n. 27
0
        /// <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();
        }
Esempio n. 28
0
        /// <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";
        }