/// <summary> /// Retreiving data when ManageContracts is oppened in STANDARDUSER /// </summary> public void RetreiveDataForSelectedConract() { FirebaseDatabase.DefaultInstance .GetReference("USERS").Child(LoginAndRegisterManager.Instance.CustomMasterUserID) .GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { // Handle the error... } else if (task.IsCompleted) { DataSnapshot snapshot = task.Result; Contracts = new AllContracts(); string res = snapshot.GetRawJsonValue(); Contracts = JsonUtility.FromJson <AllContracts>(res); if (Contracts != null) { areThereActiveContracts = true; //MasterUserManager.Instance.MasterContractID = 0; //PlayerPrefs.SetInt("mstrcontractcounter", MasterUserManager.Instance.MasterContractID); //MasterUserManager.Instance.MasterContractID = PlayerPrefs.GetInt("mstrcontractcounter", MasterUserManager.Instance.MasterContractID); if (Contracts.GAMESPACE.CONTRACT0 != null) { ContractsForManaging[0].SingleContract.ContractDescription = Contracts.GAMESPACE.CONTRACT0.ContractDescription; ContractsForManaging[0].SingleContract.ContractID = Contracts.GAMESPACE.CONTRACT0.ContractID; ContractsForManaging[0].SingleContract.isContractStarted = Contracts.GAMESPACE.CONTRACT0.isContractStarted; } if (Contracts.GAMESPACE.CONTRACT1 != null) { ContractsForManaging[1].SingleContract.ContractDescription = Contracts.GAMESPACE.CONTRACT1.ContractDescription; ContractsForManaging[1].SingleContract.ContractID = Contracts.GAMESPACE.CONTRACT1.ContractID; ContractsForManaging[1].SingleContract.isContractStarted = Contracts.GAMESPACE.CONTRACT1.isContractStarted; } if (Contracts.GAMESPACE.CONTRACT2 != null) { ContractsForManaging[2].SingleContract.ContractDescription = Contracts.GAMESPACE.CONTRACT2.ContractDescription; ContractsForManaging[2].SingleContract.ContractID = Contracts.GAMESPACE.CONTRACT2.ContractID; ContractsForManaging[2].SingleContract.isContractStarted = Contracts.GAMESPACE.CONTRACT2.isContractStarted; } if (Contracts.GAMESPACE.CONTRACT3 != null) { ContractsForManaging[3].SingleContract.ContractDescription = Contracts.GAMESPACE.CONTRACT3.ContractDescription; ContractsForManaging[3].SingleContract.ContractID = Contracts.GAMESPACE.CONTRACT3.ContractID; ContractsForManaging[3].SingleContract.isContractStarted = Contracts.GAMESPACE.CONTRACT3.isContractStarted; } } else { Debug.Log("nema DOGOVORI"); areThereActiveContracts = false; ContractsForManaging[0].SingleContract.ContractDescription = ""; ContractsForManaging[0].SingleContract.ContractID = 0; ContractsForManaging[0].SingleContract.isContractStarted = false; ContractsForManaging[1].SingleContract.ContractDescription = ""; ContractsForManaging[1].SingleContract.ContractID = 0; ContractsForManaging[1].SingleContract.isContractStarted = false; ContractsForManaging[2].SingleContract.ContractDescription = ""; ContractsForManaging[2].SingleContract.ContractID = 0; ContractsForManaging[2].SingleContract.isContractStarted = false; ContractsForManaging[3].SingleContract.ContractDescription = ""; ContractsForManaging[3].SingleContract.ContractID = 0; ContractsForManaging[3].SingleContract.isContractStarted = false; } } }); }
public Character(string refreshToken) { RefreshToken = refreshToken; updateAuthToken(); // character ID HttpWebRequest web = (HttpWebRequest)WebRequest.CreateHttp("https://login.eveonline.com/oauth/verify"); web.Method = "GET"; web.Headers.Add("Authorization", "Bearer " + AuthToken); web.ContentLength = 0; var response = web.GetResponse(); using (var sr = new StreamReader(response.GetResponseStream())) { string text = sr.ReadToEnd(); JObject res = JObject.Parse(text); this.CharacterID = int.Parse((string)res["CharacterID"]); this.CharacterName = (string)res["CharacterName"]; } JToken exp = JObject.Parse(esiCharacter("fatigue"))["jump_fatigue_expire_date"]; if (exp == null) { JumpFatigue = new TimeSpan(0); } else { DateTime expire = DateTime.Parse((string)exp); JumpFatigue = expire.Subtract(DateTime.Now); if (JumpFatigue < TimeSpan.Zero) { JumpFatigue = TimeSpan.Zero; } } if (JumpFatigue.TotalMilliseconds < 0) { JumpFatigue = new TimeSpan(0); } ISK = (int)double.Parse(esiCharacter("wallet")); PictureURL = "https://imageserver.eveonline.com/Character/" + CharacterID + "_128.jpg"; // industry jobs //TODO check once I have some jobs running string indyJobs = esiCharacter("industry/jobs"); JArray jobs = JArray.Parse(indyJobs); foreach (JObject obj in jobs) { IndustryJobs.Add(obj.ToObject <IndustryJob>()); } string contractsString = esiCharacter("contracts"); JArray contracts = JArray.Parse(contractsString); foreach (JObject obj in contracts) { Contract c = obj.ToObject <Contract>(); AllContracts.Add(c); if (c.Type == ContractType.Courier && c.Status != ContractStatus.Completed) { UnfinishedCouriers.Add(c); } if (c.Type == ContractType.ItemExchange && c.AssigneeID == CharacterID && c.Status != ContractStatus.Completed) { OutstandingItemExchangesToMe.Add(c); } if (c.Status == ContractStatus.Completed && c.DateCompleted >= DateTime.Now.AddDays(-1)) { RecentlyCompleted.Add(c); } } Training = true; Attributes = JObject.Parse(esiCharacter("attributes")).ToObject <Attributes>(); SkillQueue = new List <TrainingSkill>(); ExtractionPoints = new List <DateTime>(); TotalSP = (int)JObject.Parse(esiCharacter("skills"))["total_sp"]; JArray queue = JArray.Parse(esiCharacter("skillqueue")); foreach (JObject obj in queue) { try { string start = (string)obj["start_date"]; if (start == null || start == "") { break; } } catch (Exception e) { Training = false; break; } TrainingSkill ts = new TrainingSkill(obj); if (ts.RemainingSP >= 0) { SkillQueue.Add(ts); } } int total = TotalSP - 5000000; foreach (TrainingSkill skill in SkillQueue) { if (total + skill.RemainingSP > 500000) { ExtractionPoints.Add(skill.StartDate.AddHours(skill.HoursToMakeSP(500000 - total))); total = skill.RemainingSP - (500000 - total); } else { total += skill.RemainingSP; } } if (SkillQueue.Count == 0 || SkillQueue[0].StartDate == null) { Training = false; } if (Training) { CurrentTrain = SkillQueue[0]; } else { CurrentTrain = null; } KnownCharacters.Add(this.CharacterID, this); }