public BelagroprombankDomain GetBelagroprombankInfo() { var json = _client.ReadDocumentAsync(UriFactory.CreateDocumentUri(_connectionOptions.DatabaseName, _connectionOptions.CollectionName, "Belagroprombank")).Result; BelagroprombankDomain belagroprombankDomain = JsonConvert.DeserializeObject <BelagroprombankDomain>(json.Resource.ToString()); return(belagroprombankDomain); }
public BelagroprombankDomain UpdateBelagroprombankInfo() { var globalDepartments = new List <GlobalDepartment>(); var bankCurrencies = GetCurrencies(); var bankDepartments = GetBankDepartments(); var groupedCurrencies = bankCurrencies.GroupBy(c => c.FilialId); foreach (var group in groupedCurrencies) { var globalDep = new GlobalDepartment { BankType = BankType.Belagroprombank }; var bank = bankDepartments.Find(dep => dep.Id == group.Key.ToString()); if (bank == null || string.IsNullOrEmpty(bank.BankLatitude) || string.IsNullOrEmpty(bank.BankLongitude)) { continue; } try { globalDep.WorkInfo = WorkTimeUtils.parseDateTimeFromBelagroprombank(bank); globalDep.IsOpen = WorkTimeUtils.isWorkingNow(globalDep.WorkInfo); } catch (Exception) { Console.WriteLine("Caught exception for worktime: " + bank.BankWorkTimeRu); continue; } globalDep.Latitude = float.Parse(bank.BankLatitude, CultureInfo.InvariantCulture); globalDep.Longitude = float.Parse(bank.BankLongitude, CultureInfo.InvariantCulture); foreach (var currency in group) { globalDep.Currencies.Add(currency); } globalDep.Address = bank.BankAddressRu; globalDep.Id = Convert.ToInt32(bank.Id); globalDepartments.Add(globalDep); } var belagroprombankDomain = new BelagroprombankDomain() { Id = "Belagroprombank", Departments = globalDepartments }; BelagroprombankRepository b = new BelagroprombankRepository(_connectionOptions); try { b.GetStartedDemo().Wait(); } catch (DocumentClientException de) { Exception baseException = de.GetBaseException(); } catch (Exception e) { Exception baseException = e.GetBaseException(); } CreateAsqDocumentIfNotExists(_connectionOptions.DatabaseName, _connectionOptions.CollectionName, belagroprombankDomain).Wait(); return(belagroprombankDomain); }
private async Task CreateAsqDocumentIfNotExists(string databaseName, string collectionName, BelagroprombankDomain belagroprombankDomain) { try { await _client.ReadDocumentAsync(UriFactory.CreateDocumentUri(databaseName, collectionName, belagroprombankDomain.Id)); } catch (DocumentClientException de) { if (de.StatusCode == HttpStatusCode.NotFound) { await _client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), belagroprombankDomain); } else { throw; } } }