示例#1
0
        public DataTable ValidaCobro(DataTable poMovimientos)
        {
            try
            {
                DataTable   loResultado   = poMovimientos.Clone();
                Movimientos loMovimientos = new Movimientos();

                for (int lnFila = 0; lnFila < poMovimientos.Rows.Count; lnFila++)
                {
                    DataTable loTablaFiltrada = (DataTable)loMovimientos.ValidaCobro(((InicioSesion)this.MdiParent.Owner).Sesion,
                                                                                     poMovimientos.Rows[lnFila]["Referencia"].ToString(), Convert.ToDateTime(poMovimientos.Rows[lnFila]["Fecha"].ToString()));

                    if (loTablaFiltrada.Rows.Count > 0)
                    {
                        for (int i = 0; i < loTablaFiltrada.Rows.Count; i++)
                        {
                            DataRow loFilas = loResultado.NewRow();
                            foreach (DataRow loFila in poMovimientos.Rows)
                            {
                                for (int ln = 0; ln < poMovimientos.Columns.Count; ln++)
                                {
                                    if (loFila["Referencia"].ToString() == loTablaFiltrada.Rows[i]["NUM_TRANSACCION"].ToString())
                                    {
                                        loFila["Status"] = loTablaFiltrada.Rows[i]["STATUS_TRANS"].ToString();
                                        loFilas[ln]      = loFila[ln];
                                    }
                                }
                            }
                            loResultado.Rows.Add(loFilas);
                            pbMovimientos.PerformStep();
                        }
                    }
                }

                if (loResultado.Rows.Count == 0)
                {
                    for (int i = 0; i < poMovimientos.Rows.Count; i++)
                    {
                        poMovimientos.Rows[i]["Status"] = 'C';
                    }

                    return(poMovimientos);
                }

                for (int i = poMovimientos.Rows.Count - 1; i >= 0; i--)
                {
                    DataRow loFila = poMovimientos.Rows[i];
                    poMovimientos.Rows[i]["Status"] = 'C';
                    for (int l = 0; l < loResultado.Rows.Count; l++)
                    {
                        DataRow loFilaCompara = loResultado.Rows[l];
                        if (loFila["Referencia"].ToString() == loFilaCompara["Referencia"].ToString())
                        {
                            loFila.Delete();
                            break;
                        }
                    }
                }

                loResultado.Columns.Add("Status_P", typeof(string));

                gvExistentes.DataSource = ObtenerSucursalRegistrosProcesados(loResultado);

                this.gvExistentes.Columns["Columna5"].Visible   = false;
                this.gvExistentes.Columns["Suc"].Visible        = false;
                this.gvExistentes.Columns["Forma_Pago"].Visible = false;
                this.gvExistentes.Columns["Status"].Visible     = false;

                foreach (DataGridViewRow loFila in gvExistentes.Rows)
                {
                    loFila.Cells["Status_P"].Value = "Procesados";
                    if (loFila.Cells["Status"].Value.ToString() == "M")
                    {
                        loFila.Cells["Status_P"].Value = "Manual";
                    }
                }

                gvExistentes.Columns["#"].DisplayIndex = 0;
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\r\nFuente: " + ex.Source, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(poMovimientos);
        }