Пример #1
0
        public BelarusbankDomain GetBelarusbankInfo()
        {
            var json = _client.ReadDocumentAsync(UriFactory.CreateDocumentUri(_connectionOptions.DatabaseName,
                                                                              _connectionOptions.CollectionName, "Belarusbank")).Result;
            BelarusbankDomain belagroprombankDomain = JsonConvert.DeserializeObject <BelarusbankDomain>(json.Resource.ToString());

            return(belagroprombankDomain);
        }
Пример #2
0
        public BelarusbankDomain UpdateBelarusbankInfo()
        {
            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.Belarusbank
                };
                var bank = bankDepartments.Single(dep => dep.FilialId == group.Key);

                if (string.IsNullOrEmpty(bank.GpsX) || string.IsNullOrEmpty(bank.GpsY))
                {
                    continue;
                }

                try
                {
                    globalDep.WorkInfo = WorkTimeUtils.parseDateTimeFromBelarusbank(bank);
                    globalDep.IsOpen   = WorkTimeUtils.isWorkingNow(globalDep.WorkInfo);
                }
                catch (Exception)
                {
                    Console.WriteLine("Caught exception for worktime: " + bank.InfoWorktime);
                    continue;
                }


                globalDep.Latitude  = float.Parse(bank.GpsX, CultureInfo.InvariantCulture);
                globalDep.Longitude = float.Parse(bank.GpsY, CultureInfo.InvariantCulture);

                foreach (var currency in group)
                {
                    globalDep.Currencies.Add(currency);
                }

                globalDep.Address = bank.NameType + " " + bank.Name + " " + bank.StreetType + " " + bank.Street + " " +
                                    bank.HomeNumber;
                globalDep.Id = bank.FilialId;
                globalDepartments.Add(globalDep);
            }

            var belarucbankDomain = new BelarusbankDomain()
            {
                Id          = "Belarusbank",
                Departments = globalDepartments
            };

            BelarusbankRepository b = new BelarusbankRepository(_connectionOptions);

            try
            {
                b.GetStartedDemo().Wait();
            }
            catch (DocumentClientException de)
            {
                Exception baseException = de.GetBaseException();
            }
            catch (Exception e)
            {
                Exception baseException = e.GetBaseException();
            }

            CreateAsqDocumentIfNotExists(_connectionOptions.DatabaseName, _connectionOptions.CollectionName, belarucbankDomain).Wait();


            return(belarucbankDomain);
        }
Пример #3
0
 private async Task CreateAsqDocumentIfNotExists(string databaseName, string collectionName, BelarusbankDomain belarusbankDomain)
 {
     try
     {
         await _client.ReadDocumentAsync(UriFactory.CreateDocumentUri(databaseName, collectionName, belarusbankDomain.Id));
     }
     catch (DocumentClientException de)
     {
         if (de.StatusCode == HttpStatusCode.NotFound)
         {
             await _client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), belarusbankDomain);
         }
         else
         {
             throw;
         }
     }
 }