Ejemplo n.º 1
0
        /// <summary>
        /// Convert a DB-CompetitionEntry to the PES format.
        /// </summary>
        /// <param name="sourceCompetitionEntry"></param>
        /// <returns></returns>
        public static Task <PESCompetitionEntry> ConvertBack(CompetitionEntry sourceCompetitionEntry)
        {
            PESCompetitionEntry converted = new PESCompetitionEntry()
            {
                Position      = sourceCompetitionEntry.DatabasePosition,
                Id            = System.Convert.ToUInt32(sourceCompetitionEntry.SourceId),
                TeamId        = System.Convert.ToUInt32(sourceCompetitionEntry.TeamId),
                CompetitionId = System.Convert.ToUInt32(sourceCompetitionEntry.CompetitionId),
                Group         = (uint)sourceCompetitionEntry.Group,
                Order         = (byte)sourceCompetitionEntry.Order
            };

            return(Task.FromResult(converted));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Read all competition entries from the PES database.
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public async Task <List <CompetitionEntry> > ReadCompetitionEntriesAsync(string path)
        {
            MemoryStream memory = await this.CreateMemoryStreamAsync(path + competitionEntryPath);

            var reader = new BinaryReader(memory);

            int index;
            int length = Convert.ToInt32(reader.BaseStream.Length / competitionEntryBlock);

            reader.BaseStream.Position = 0;
            string all = System.Text.Encoding.UTF8.GetString(reader.ReadBytes(96));


            List <PESCompetitionEntry> tempList = new List <PESCompetitionEntry>();

            for (int i = 0; i < length; i++)
            {
                index = (i * competitionEntryBlock);
                reader.BaseStream.Position = index;

                UInt32 teamId = reader.ReadUInt32();
                UInt32 continentalCompetitionId = reader.ReadUInt16(); // continental cup
                UInt16 entryIndex = reader.ReadUInt16();

                byte compId = reader.ReadByte(); // competition (league)
                byte check2 = reader.ReadByte();
                byte check3 = reader.ReadByte(); // order
                byte check4 = reader.ReadByte(); // group


                PESCompetitionEntry comp = new PESCompetitionEntry()
                {
                    Id                       = entryIndex,
                    Position                 = index,
                    TeamId                   = teamId,
                    CompetitionId            = compId,
                    ContinentalCompetitionId = continentalCompetitionId,
                    Order                    = check3, // order
                    Group                    = check4, // group
                };

                tempList.Add(comp);
            }

            //var championsleague = tempList.Where(x => x.CompetitionId == 2);
            //var pool = tempList.Where(x => x.TeamId == 103);

            return(await CompetitionEntryConverter.ConvertMany(tempList));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Converts a PES team to the DB format.
        /// </summary>
        /// <param name="sourceCompetitionEntry"></param>
        /// <returns></returns>
        public static Task <CompetitionEntry> Convert(PESCompetitionEntry sourceCompetitionEntry)
        {
            var guid = Guid.NewGuid().ToString();
            CompetitionEntry converted = new CompetitionEntry()
            {
                CompetitionEntryId = guid,
                SourceId           = sourceCompetitionEntry.Id.ToString(),
                DatabasePosition   = sourceCompetitionEntry.Position,
                TeamId             = sourceCompetitionEntry.TeamId.ToString(),
                CompetitionId      = sourceCompetitionEntry.CompetitionId.ToString(),
                Group = (int)sourceCompetitionEntry.Group,
                Order = sourceCompetitionEntry.Order
            };

            return(Task.FromResult(converted));
        }