private List <Race <Horse> > prepInput(List <CardStruct.Race> praces) //*** { List <Race <Horse> > raceList = new List <Race <Horse> >(); foreach (CardStruct.Race race in praces) { Race <Horse> cRace = new Race <Horse>(); //secure header & 1st horse CardStruct.HorseOrHeader header = race.allHorsesWithRaceHeader[0]; CardStruct.HorseOrHeader firstHorse = race.allHorsesWithRaceHeader[1]; HeaderAndFirstHorse headerWithFirstHorse = new HeaderAndFirstHorse(new Header(header), new Horse(firstHorse)); cRace.setRaceTop(headerWithFirstHorse); //next usual iteration below for (int i = 2; i < race.allHorsesWithRaceHeader.Count; i++) { cRace.addHorse(new Horse(race.allHorsesWithRaceHeader[i])); } raceList.Add(cRace); } Horse lastHorseOfCard = raceList.Last().secondAndOtherHorseList.Last(); lastHorseOfCard.IsLastHorseOfTheCard = true; return(raceList); }
internal static CardStruct.HorseOrHeader prepareHorseStruct(Horse h) { CardStruct.HorseOrHeader horse = new CardStruct.HorseOrHeader(); horse.Id = h.id; horse.FileName = h.imgFileName; horse.IsHeader = h.isHeader; //false hardcode horse.IsFirstHorseOfRace = h.isFirstHorseOfRace; horse.IsLastHorseOfRace = h.isLastHorseOfRace; horse.IsFirstHorseOnPage = (h.positionOnPage.where == EntryLocationOnPage.FirstEntryOnPage) ? true : false; horse.IsLastHorseOnPage = (h.positionOnPage.where == EntryLocationOnPage.LastEntryOnPage) ? true : false; horse.Height = h.height; horse.NewHeight = h.newHeight; horse.SpaceBetween = h.spCount; horse.PageBreak = (h.positionOnPage.where == EntryLocationOnPage.LastEntryOnPage) ? true : false; horse.ContinueOnNextPage = ((h.positionOnPage.where == EntryLocationOnPage.LastEntryOnPage) && !h.isLastHorseOfRace) ? true : false; // flag revised horse.IsLastHorseOfTheCard = h.IsLastHorseOfTheCard; //localize two fields below for simplification if (horse.IsLastHorseOfTheCard) { horse.IsLastHorseOnPage = true; horse.PageBreak = true; horse.ContinueOnNextPage = false; } horse.ResidualSpace = h.positionOnPage.leftspaceatEnd; horse.racenum = h.raceNumber; horse.pgnum = h.pgno; return(horse); }
internal static CardStruct.HorseOrHeader prepareHeaderStruct(Header h) { CardStruct.HorseOrHeader header = new CardStruct.HorseOrHeader(); header.Id = h.id; header.FileName = h.imgFileName; header.IsHeader = h.isHeader; //true header.Height = h.height; header.NewHeight = h.newHeight; header.SpaceBetween = h.spCount; header.racenum = h.racenumber; header.pgnum = -1; //other detail on header is unnecessary crowding return(header); }