protected void edsMovPorCuenta_Deleting(object sender, EntityDataSourceChangingEventArgs e) { e.Cancel = true; var entidad = (DMovCtaxBco)e.Entity; var entidadBD = SrvLista.DMovCtaxBco(entidad.IdMovCtaxBco); entidad.cEstado = "E"; e.Context.SaveChanges(); var ultiMovi = SrvLista.UltimoMovimientoPorFecha(entidadBD.IdCtaxBco, entidadBD.IdMovCtaxBco, entidad.dFecOpe); decimal?saldoInicial = (ultiMovi == null) ? 0 : ultiMovi.nSalFin; //si no hay ultimovi entonces empezara de 0 SrvLista.ActualizarUltimosSaldos(entidadBD.IdCtaxBco, entidadBD.IdMovCtaxBco, entidad.dFecOpe, saldoInicial); }
protected void edsMovPorCuenta_Updating(object sender, EntityDataSourceChangingEventArgs e) { e.Cancel = true; var entidad = (DMovCtaxBco)e.Entity; var entidadBD = SrvLista.DMovCtaxBco(entidad.IdMovCtaxBco); e.Context.SaveChanges(); if (entidad.nImporte != entidadBD.nImporte || entidad.dFecOpe != entidadBD.dFecOpe) {//-------------------si cambia la fecha, utilizo la fecha menor (mas cerca al saldo inicial) //al cambiar la fecha, debo actualizar todos los saldos afectados a partir de la fecha menor var compararFechas = DateTime.Compare(entidadBD.dFecOpe.Value, entidad.dFecOpe.Value); var fechaOpeMenor = (compararFechas < 0) ? entidadBD.dFecOpe : entidad.dFecOpe; //0 > date1 es menor, 0 = iguales, 0 < date2 es menor //PD la fechaIng siempre sera desde la BD porque el entitydatasource me muestra null var ultiMovi = SrvLista.UltimoMovimientoPorFecha(entidadBD.IdCtaxBco, entidadBD.IdMovCtaxBco, fechaOpeMenor); decimal?saldoInicial = (ultiMovi == null) ? 0 : ultiMovi.nSalFin; //si no hay ultimovi entonces empezara de 0 SrvLista.ActualizarUltimosSaldos(entidadBD.IdCtaxBco, entidadBD.IdMovCtaxBco, fechaOpeMenor, saldoInicial); } }