示例#1
0
        public Team Add(Team item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }
            Team oldItem = items.Find(p => p.Uuid == item.Uuid);

            if (oldItem == null)
            {
                // this must finish resolving to get item.Id
                int result = _database.SaveTeamAsync(item).Result;
                items.Add(item);
            }
            return(item);
        }
        public string Reset()
        {
            try
            {
                DateTime startTime = DateTime.UtcNow;

                _database.DropTables();
                _database.CreateTables();

                // fill the database with xml data

                int             frcEventCount  = 0;
                List <FRCEvent> frcEvents      = new List <FRCEvent>();
                Stream          frcEventStream = EmbeddedData.XmlDataStoreFRCEvents();
                using (var reader = new StreamReader(frcEventStream))
                {
                    var serializer = new XmlSerializer(typeof(List <FRCEvent>));
                    frcEvents = (List <FRCEvent>)serializer.Deserialize(reader);
                }
                foreach (FRCEvent item in frcEvents)
                {
                    _database.SaveFRCEventAsync(item);
                    frcEventCount++;
                }

                int         teamCount  = 0;
                List <Team> teams      = new List <Team>();
                Stream      teamStream = EmbeddedData.XmlDataStoreTeams();
                using (var reader = new StreamReader(teamStream))
                {
                    var serializer = new XmlSerializer(typeof(List <Team>));
                    teams = (List <Team>)serializer.Deserialize(reader);
                }
                foreach (Team item in teams)
                {
                    _database.SaveTeamAsync(item);
                    teamCount++;
                }

                int eventTeamCount               = 0;
                List <EventTeam> eventTeams      = new List <EventTeam>();
                Stream           eventTeamStream = EmbeddedData.XmlDataStoreEventTeams();
                using (var reader = new StreamReader(eventTeamStream))
                {
                    var serializer = new XmlSerializer(typeof(List <EventTeam>));
                    eventTeams = (List <EventTeam>)serializer.Deserialize(reader);
                }
                foreach (EventTeam item in eventTeams)
                {
                    _database.SaveEventTeamAsync(item);
                    eventTeamCount++;
                }

                DateTime endTime = DateTime.UtcNow;

                return("Reset database complete - " +
                       $"\nStartTime: {startTime} - EndTime: {endTime}" +
                       $"\nFRCEVents: {frcEventCount} - Teams: {teamCount} - EventTeams: {eventTeamCount}" +
                       "");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }