internal static bool CreateContract(int id, int volume, decimal price, string contractType, bool materialIncluded, bool blueprintIncluded, string description, bool enablePartition) { var users = GetUsers(); var user = users.FirstOrDefault(x => x.GetAccessToken() != null); if (user == null) { return(false); } var blueprint = _eoiDataBlueprints.FirstOrDefault(x => x.Id == id); if (blueprint == null) { return(false); } var corporationWebContractType = CorporationWebContractTypes.Buy; if (contractType == ContractType.Sell) { corporationWebContractType = CorporationWebContractTypes.Sell; } var success = CorporationWebInterface.CreateContract(user.Name, id, volume, price, corporationWebContractType, materialIncluded, blueprintIncluded, description, enablePartition); if (success) { SynchronizeCorporationContracts(); return(true); } return(false); }
public EoiDataUser(FileSystemDataUser user) { _fileSystemUser = user; if (_fileSystemUser.TokenResponse != null) { var token = WebDataInterface.RefreshAccessToken(_fileSystemUser.TokenResponse.refresh_token); if (token != null) { if (this.Id == 0) { Authenticate(token); } _fileSystemUser.TokenResponse = token; FileSystemDataInterface.ExportUsers(); } } if (_fileSystemUser != null && _fileSystemUser.TokenResponse != null) { CorporationWebInterface.RegisterUser(_fileSystemUser.Name); } this.Name = user.Name; }
private static void InitializeContracts() { _eoiDataContracts = new List <EoiDataContract>(); var users = GetUsers(); var user = users.FirstOrDefault(x => x.GetAccessToken() != null); if (user != null) { var contracts = CorporationWebInterface.GetContracts(user.Name); foreach (var contract in contracts) { _eoiDataContracts.Add(new EoiDataContract(contract)); } } }
internal static bool SynchronizeCorporationContracts() { var updated = false; var users = GetUsers(); var user = users.FirstOrDefault(x => x.GetAccessToken() != null); if (user != null) { _eoiDataContracts.ForEach(x => x.Synchronized = false); var corpContracts = CorporationWebInterface.GetContracts(user.Name); foreach (var corpContract in corpContracts) { EoiDataContract eoiDataContract = _eoiDataContracts.FirstOrDefault(x => x.Id == corpContract.Id); if (eoiDataContract == null) { eoiDataContract = new EoiDataContract(corpContract); eoiDataContract.Synchronized = true; _eoiDataContracts.Add(eoiDataContract); EoiInterface.InvokeDispatcherAddContract(eoiDataContract.GetEoiContract()); updated = true; } else { if (eoiDataContract.Synchronize(corpContract)) { updated = true; } } } var notSynchronizedContracts = _eoiDataContracts.Where(x => !x.Synchronized).ToList(); foreach (var contract in notSynchronizedContracts) { EoiInterface.InvokeDispatcherRemoveContract(contract.GetEoiContract()); contract.Dispose(); _eoiDataContracts.Remove(contract); } } if (updated) { EoiInterface.InvokeDispatcherContractsPropertyChanged(); } return(updated); }
internal static void Finish(EoiContract eoiContract) { var contract = _eoiDataContracts.FirstOrDefault(x => Equals(x.GetEoiContract(), eoiContract)); if (contract != null) { var users = GetUsers(); var user = users.FirstOrDefault(x => x.GetAccessToken() != null); if (user != null) { var success = CorporationWebInterface.FinishContract(user.Name, contract.Id); if (success) { SynchronizeCorporationContracts(); } } } }
internal static bool AcceptContract(EoiContract eoiContract, int selectedVolume) { var contract = _eoiDataContracts.FirstOrDefault(x => Equals(x.GetEoiContract(), eoiContract)); if (contract != null) { var users = GetUsers(); var user = users.FirstOrDefault(x => x.GetAccessToken() != null); if (user != null) { var success = CorporationWebInterface.AcceptContract(user.Name, contract.Id, selectedVolume); if (success) { SynchronizeCorporationContracts(); return(true); } } } return(false); }
internal void VerifyUser(RawEsiVerify verifyResult, RawAccessTokenResponse token) { _fileSystemUser.TokenResponse = token; _fileSystemUser.Name = verifyResult.CharacterName; _fileSystemUser.Id = verifyResult.CharacterID; FileSystemDataInterface.ExportUsers(); this.Id = verifyResult.CharacterID; this.Name = verifyResult.CharacterName; if (_eoiUser != null) { _eoiUser.Name = verifyResult.CharacterName; _eoiUser.IsDefault = false; _eoiUser.Authenticated = true; _eoiUser.InvokePropertyChanged(); } CorporationWebInterface.RegisterUser(_fileSystemUser.Name); }
internal static bool SynchronizeBlueprints() { var updated = false; if (SettingsInterface.GlobalSettings.EnableEsiBlueprintsUpdates) { BackgroundWorker.Status = new BackgroundWorkerStatus("Synchronisiere Eve Online Blueprints", -1); var users = GetUsers(); if (users.Any(x => x.GetAccessToken() != null)) { EsiDataInterface.ClearBlueprints(); foreach (var user in users) { var token = user.GetAccessToken(); if (token != null && user.Id != 0) { EsiDataInterface.UpdateBlueprints(token, user.Id); } } var blueprints = EsiDataInterface.GetBlueprints(); foreach (var blueprint in _eoiDataBlueprints) { var esiDataBlueprint = blueprints.FirstOrDefault(x => x.Id == blueprint.Id); if (esiDataBlueprint != null) { if (blueprint.Synchronize(esiDataBlueprint)) { updated = true; } } else { if (blueprint.SynchronizedReset()) { updated = true; } } } foreach (var blueprint in _eoiDataBlueprints) { blueprint.UpdateInventable(); } } if (SettingsInterface.GlobalSettings.EnableCorporationBlueprintsUpdates) { BackgroundWorker.Status = new BackgroundWorkerStatus("Synchronisiere Corporation Blueprints", -1); var user = users.FirstOrDefault(x => x.GetAccessToken() != null); if (user != null) { var eoiDataBlueprints = GetBlueprints(); foreach (var blueprint in eoiDataBlueprints) { var bp = blueprint.GetCorporationBlueprint(); if (bp != null) { var success = CorporationWebInterface.SetBlueprint(user.Name, bp); if (!success) { } } } var corpBlueprints = CorporationWebInterface.GetBlueprints(user.Name, user.Name); foreach (var corpBp in corpBlueprints) { var eoiDataBlueprint = eoiDataBlueprints.FirstOrDefault(x => x.Id == corpBp.Id); if (eoiDataBlueprint != null && eoiDataBlueprint.GetCorporationBlueprint() == null) { // Blueprint on Server that should not be there -> Delete CorporationWebInterface.DeleteBlueprint(user.Name, corpBp.Id); } } corpBlueprints = CorporationWebInterface.GetBlueprints(user.Name); _eoiDataBlueprints.Where(x => x.CorporationOwned).ToList().ForEach(x => x.UnsetCorporationBlueprint()); foreach (var bp in corpBlueprints) { var eoiDataBlueprint = _eoiDataBlueprints.FirstOrDefault(x => x.Id == bp.Id); if (eoiDataBlueprint != null) { if (eoiDataBlueprint.SetCorporationBlueprint(bp)) { updated = true; } } } } } } return(updated); }