/// <summary> /// Introduce una cadena de notas una encima de otra en la página /// </summary> /// <param name="worksheet"></param> /// <param name="posicionInicial"></param> /// <param name="notas"></param> /// <returns></returns> private IXLWorksheet IntroducirNotas(IXLWorksheet worksheet, PosicionTabla posicionInicial, IList <Nota> notas) { foreach (var nota in notas) { var posicion = SiguientePosicion(worksheet, posicionInicial); worksheet = IntroducirNota(worksheet, posicion, nota); } return(worksheet); }
/// <summary> /// Calcula la siguiente posición libre que habrá /// en la tabla excel /// </summary> /// <param name="worksheet"></param> /// <param name="posicionInicial"></param> /// <returns></returns> private PosicionTabla SiguientePosicion(IXLWorksheet worksheet, PosicionTabla posicionInicial) { var celda = worksheet.LastCellUsed(); if (celda == null) { return(posicionInicial); } return(new PosicionTabla(posicionInicial.Columna, celda.Address.RowNumber + 1)); }
/// <summary> /// Introduce una nota en la cabecera o pie de la página /// </summary> /// <param name="worksheet"></param> /// <param name="posicion"></param> /// <param name="nota"></param> /// <returns></returns> private IXLWorksheet IntroducirNota(IXLWorksheet worksheet, PosicionTabla posicion, Nota nota) { worksheet.Cell(posicion.Fila, posicion.Columna).Value = nota.Texto; // Unimos todas las celdas de la nota en una sola. var posicionFinal = new PosicionTabla(posicion.Columna + nota.AnchoCeldas - 1, posicion.Fila); var rango = worksheet.Range(posicion.Fila, posicion.Columna, posicionFinal.Fila, posicionFinal.Columna) .Merge(); if (nota.Estilo != null) { nota.Estilo.AplicarEstilo(rango.Style); } return(worksheet); }
private static void actualizarPuntosEquipo(TablaPosiciones tabla, EquipoCampeonato equipo, Boolean ganador) { PosicionTabla nuevaPosicion = new PosicionTabla(); nuevaPosicion.Equipo = equipo; nuevaPosicion.PartidosJugados = 1; if (ganador) { nuevaPosicion.PartidosGanados = 1; nuevaPosicion.Puntos = 2; } else { nuevaPosicion.PartidosPerdidos = 1; nuevaPosicion.Puntos = 1; } if (tabla.Posiciones.Contains(nuevaPosicion)) { foreach (PosicionTabla pos in tabla.Posiciones) { if (pos.Equipo.CompareTo(equipo) == 0) { pos.PartidosJugados++; pos.PartidosGanados += nuevaPosicion.PartidosGanados; pos.PartidosPerdidos += nuevaPosicion.PartidosPerdidos; pos.Puntos += nuevaPosicion.Puntos; } } } else { tabla.Posiciones.Add(nuevaPosicion); } }