public override int GuardarProcesoCobranza() { Conexion conexion = new Conexion(); try { conexion.AbrirConexion(true); List <ReferenciaConciliadaPedido> listaReferenciaConciliadaPedido = this.ListaReferenciaConciliadaPedido; decimal totalSaldo = 0; foreach (ReferenciaConciliadaPedido referenciaConciliadaPedido in listaReferenciaConciliadaPedido) { totalSaldo = totalSaldo + referenciaConciliadaPedido.Saldo; } this.Total = totalSaldo; //this.Total = listaReferenciaConciliadaPedido.Aggregate(this.Total, (current, referenciaConciliadaPedido) => current = +referenciaConciliadaPedido.Saldo); Guardar(conexion); foreach (ReferenciaConciliadaPedido referenciaConciliadaPedido in listaReferenciaConciliadaPedido) { PedidoCobranza pedidoCobranza = Conciliacion.RunTime.App.PedidoCobranza.CrearObjeto(); pedidoCobranza.Pedido = referenciaConciliadaPedido.Pedido; pedidoCobranza.AnioPed = referenciaConciliadaPedido.AñoPedido; pedidoCobranza.Celula = referenciaConciliadaPedido.CelulaPedido; pedidoCobranza.Cobranza = this.Id; pedidoCobranza.GestionInicial = 1;/*Gestion inicial siempre es 1*/ pedidoCobranza.Saldo = referenciaConciliadaPedido.Saldo; pedidoCobranza.Guardar(conexion); } conexion.Comando.Transaction.Commit(); this.ImplementadorMensajes.MostrarMensaje("El Registro se guardo con éxito."); } catch (Exception ex) { if (conexion.Comando.Transaction != null) { conexion.Comando.Transaction.Rollback(); } throw ex; } finally { conexion.CerrarConexion(); } return(this.Id); }
public void CargarGrid() { if (Clientes != null && Clientes.Count > 0) { //seleccion de cliente: se selecciona el padre, si no hay padre se selecciona el hijo con el numero de cliente mas pequeno //remover duplidos Clientes = Clientes.Distinct().ToList(); dt.Clear(); dt.Columns.Clear(); dt.Columns.Add("Cliente"); dt.Columns.Add("Nombre"); dt.Columns.Add("Tipo"); dt.Columns["Cliente"].DataType = Type.GetType("System.Int32"); DataRow row; foreach (int cli in Clientes) { //validar y cargar datos Cliente objCliente = objApp.Cliente.CrearObjeto(); Conciliacion.RunTime.DatosSQL.Conexion conexion = new Conciliacion.RunTime.DatosSQL.Conexion(); conexion.AbrirConexion(true); objCliente.Referencia = cli.ToString(); if (objCliente.ValidaClienteExiste(conexion)) { //asignar nombre y tipo row = dt.NewRow(); row["Cliente"] = cli; row["Nombre"] = objCliente.Nombre; row["Tipo"] = objCliente.Tipo; dt.Rows.Add(row); } } if (dt.Rows.Count == 0) { throw new System.Exception("No existe cliente al cual asignar el pago."); } else { //El gridview deberá mostrar los registros ordenados por número de Cliente de forma ascendente dt.DefaultView.Sort = "Cliente"; grvClientes.DataSource = dt; grvClientes.DataBind(); //-Cuando el control sea mostrado el cliente padre(si lo hay) se elige por defecto //-Si no hay cliente padre se elige por defecto la sucursal con el número de Cliente más pequeño indiceGridSeleccionado = -1; int indexfila = 0; foreach (GridViewRow fila in grvClientes.Rows) { if (fila.Cells[3].Text == "PADRE") { indiceGridSeleccionado = indexfila; break; } indexfila = indexfila + 1; } if (indiceGridSeleccionado == -1) //Si no hay cliente padre { indexfila = 0; int idmenor = 999999999; foreach (GridViewRow fila in grvClientes.Rows) { if (fila.Cells[3].Text == "SUCURSAL") { if (int.Parse(fila.Cells[1].Text) < idmenor) { idmenor = int.Parse(fila.Cells[1].Text); indiceGridSeleccionado = indexfila; } } indexfila = indexfila + 1; } } if (indiceGridSeleccionado == -1) { indiceGridSeleccionado = 0; } quitarSeleccionRadio(); pintarFilaSeleccionada(indiceGridSeleccionado); GridViewRowCollection filas = grvClientes.Rows; indexfila = 0; foreach (GridViewRow f in filas) { if (indiceGridSeleccionado == indexfila) { hdfClienteSeleccionado.Value = f.Cells[1].Text; break; } indexfila = indexfila + 1; } ActivarSeleccionRadio(indiceGridSeleccionado); } } }