public void GetMemberTracking()
        {
            ResponseCache.Clear();
            MemberTracking memberTracking = EveApi.GetMemberTracking(432435, 234523, "fullApiKey");

            Assert.AreEqual(memberTracking.Members.Length, 2);
            // First member
            MemberTracking.Member tracking = memberTracking.Members[0];
            Assert.AreEqual(150336922, tracking.CharacterId);
            Assert.AreEqual("corpexport", tracking.Name);
            Assert.AreEqual(0, tracking.BaseId);
            Assert.AreEqual(string.Empty, tracking.Base);
            Assert.AreEqual("asdf", tracking.Title);
            Assert.AreEqual(60011566, tracking.LocationId);
            Assert.AreEqual("Bourynes VII - Moon 2 - University of Caille School", tracking.Location);
            Assert.AreEqual(606, tracking.ShipTypeId);
            Assert.AreEqual("Velator", tracking.ShipType);
            Assert.AreEqual("0", tracking.RolesMask);
            Assert.AreEqual("0", tracking.GrantableRoles);

            Assert.AreEqual(new DateTime(2007, 6, 13, 14, 39, 00), tracking.StartDateTime);
            Assert.AreEqual(new DateTime(2007, 6, 16, 21, 12, 00), tracking.LogonDateTime);
            Assert.AreEqual(new DateTime(2007, 6, 16, 21, 36, 00), tracking.LogoffDateTime);

            // Second Member
            tracking = memberTracking.Members[1];
            Assert.AreEqual(150337897, tracking.CharacterId);
            Assert.AreEqual("corpslave", tracking.Name);
            Assert.AreEqual(0, tracking.BaseId);
            Assert.AreEqual(string.Empty, tracking.Base);
            Assert.AreEqual(string.Empty, tracking.Title);
            Assert.AreEqual(60011566, tracking.LocationId);
            Assert.AreEqual("Bourynes VII - Moon 2 - University of Caille School", tracking.Location);
            Assert.AreEqual(670, tracking.ShipTypeId);
            Assert.AreEqual("Capsule", tracking.ShipType);
            Assert.AreEqual("22517998271070336", tracking.RolesMask);
            Assert.AreEqual("0", tracking.GrantableRoles);

            Assert.AreEqual(new DateTime(2007, 6, 14, 13, 14, 00), tracking.StartDateTime);
            Assert.AreEqual(new DateTime(2007, 6, 16, 21, 14, 00), tracking.LogonDateTime);
            Assert.AreEqual(new DateTime(2007, 6, 16, 21, 35, 00), tracking.LogoffDateTime);
        }
Example #2
0
        public MemberTracking Parse(XmlDocument xmlDocument)
        {
            this.CheckVersion(xmlDocument);
            MemberTracking memberTracking = new MemberTracking();

            memberTracking.ParseCommonElements(xmlDocument);

            List <MemberTracking.Member> parsedMemeberTrackingItems = new List <MemberTracking.Member>();

            foreach (XmlNode row in xmlDocument.SelectNodes("//rowset[@name='members']/row"))
            {
                MemberTracking.Member mti = new MemberTracking.Member();
                mti.CharacterId    = Convert.ToInt32(row.Attributes["characterID"].InnerText, CultureInfo.InvariantCulture);
                mti.Name           = row.Attributes["name"].InnerText;
                mti.BaseId         = Convert.ToInt32(row.Attributes["baseID"].InnerText, CultureInfo.InvariantCulture);
                mti.Base           = row.Attributes["base"].InnerText;
                mti.Title          = row.Attributes["title"].InnerText;
                mti.LocationId     = Convert.ToInt32(row.Attributes["locationID"].InnerText, CultureInfo.InvariantCulture);
                mti.Location       = row.Attributes["location"].InnerText;
                mti.ShipTypeId     = Convert.ToInt32(row.Attributes["shipTypeID"].InnerText, CultureInfo.InvariantCulture);
                mti.ShipType       = row.Attributes["shipType"].InnerText;
                mti.RolesMask      = row.Attributes["roles"].InnerText;
                mti.GrantableRoles = row.Attributes["grantableRoles"].InnerText;

                mti.StartDateTime       = TimeUtilities.ConvertCCPTimeStringToDateTimeUTC(row.Attributes["startDateTime"].InnerText);
                mti.LogonDateTime       = TimeUtilities.ConvertCCPTimeStringToDateTimeUTC(row.Attributes["logonDateTime"].InnerText);
                mti.LogoffDateTime      = TimeUtilities.ConvertCCPTimeStringToDateTimeUTC(row.Attributes["logoffDateTime"].InnerText);
                mti.StartDateTimeLocal  = TimeUtilities.ConvertCCPToLocalTime(mti.StartDateTime);
                mti.LogonDateTimeLocal  = TimeUtilities.ConvertCCPToLocalTime(mti.LogonDateTime);
                mti.LogoffDateTimeLocal = TimeUtilities.ConvertCCPToLocalTime(mti.LogoffDateTime);

                parsedMemeberTrackingItems.Add(mti);
            }

            memberTracking.Members = parsedMemeberTrackingItems.ToArray();
            return(memberTracking);
        }
        public void MemberTrackingPersist()
        {
            ResponseCache.Clear();
            MemberTracking memberTracking = EveApi.GetMemberTracking(432435, 234523, "fullApiKey");

            ResponseCache.Save("ResponseCache.xml");
            ResponseCache.Clear();
            ResponseCache.Load("ResponseCache.xml");
            MemberTracking cachedMemberTracking = EveApi.GetMemberTracking(432435, 234523, "fullApiKey");

            Assert.AreEqual(memberTracking.CachedUntilLocal, cachedMemberTracking.CachedUntilLocal);
            Assert.AreEqual(memberTracking.Members.Length, cachedMemberTracking.Members.Length);

            for (int i = 0; i < memberTracking.Members.Length; i++)
            {
                MemberTracking.Member mti  = memberTracking.Members[i];
                MemberTracking.Member cmti = cachedMemberTracking.Members[i];

                Assert.AreEqual(mti.CharacterId, cmti.CharacterId);
                Assert.AreEqual(mti.Name, cmti.Name);
                Assert.AreEqual(mti.BaseId, cmti.BaseId);
                Assert.AreEqual(mti.Base, cmti.Base);
                Assert.AreEqual(mti.Title, cmti.Title);
                Assert.AreEqual(mti.LocationId, cmti.LocationId);
                Assert.AreEqual(mti.Location, cmti.Location);
                Assert.AreEqual(mti.ShipTypeId, cmti.ShipTypeId);
                Assert.AreEqual(mti.ShipType, cmti.ShipType);
                Assert.AreEqual(mti.RolesMask, cmti.RolesMask);
                Assert.AreEqual(mti.GrantableRoles, cmti.GrantableRoles);
                Assert.AreEqual(mti.StartDateTime, cmti.StartDateTime);
                Assert.AreEqual(mti.LogonDateTime, cmti.LogonDateTime);
                Assert.AreEqual(mti.LogoffDateTime, cmti.LogoffDateTime);
                Assert.AreEqual(mti.StartDateTimeLocal, cmti.StartDateTimeLocal);
                Assert.AreEqual(mti.LogonDateTimeLocal, cmti.LogonDateTimeLocal);
                Assert.AreEqual(mti.LogoffDateTimeLocal, cmti.LogoffDateTimeLocal);
            }
        }