public static MissionBonus FromRecrod(IDataRecord record)
        {
            var character = Character.Get(record.GetValue <int>("characterid"));
            var category  = (MissionCategory)record.GetValue <int>("missioncategory");
            var level     = record.GetValue <int>("missionlevel");
            var agentId   = record.GetValue <int>("agentid");
            var bonus     = record.GetValue <int>("bonus");

            var agent = _missionDataCache.GetAgent(agentId);

            var mb = new MissionBonus(character, category, level, agent, bonus);

            return(mb);
        }
        public static MissionLocation  FromRecord(IDataRecord record)
        {
            var id              = record.GetValue <int>("id");
            var agentId         = record.GetValue <int>("agentid");
            var locationEid     = record.GetValue <long>("locationeid");
            var zoneId          = record.GetValue <int>("zoneid");
            var x               = record.GetValue <double>("x");
            var y               = record.GetValue <double>("y");
            var maxMissionLevel = record.GetValue <int>("maxmissionlevel");

            var location = new MissionLocation(id, maxMissionLevel)
            {
                Agent           = _missionDataCache.GetAgent(agentId),
                MyPosition      = new Position(x, y),
                _locationEntity = Entity.Repository.Load(locationEid),
                zoneId          = zoneId
            };

            return(location);
        }