예제 #1
0
파일: SeedHandler.cs 프로젝트: lulzzz/vita
        public async Task <bool> Handle(SeedCommand request, CancellationToken cancellationToken)
        {
            Consoler.TitleStart("seed database start");

            var companies = CompanySpreadsheet.Import();

            //var chance = new ChanceNET.Chance();
            //var companies = new List<Company> {chance.Object<Company>()};

            var bus = IocContainer.Container.Resolve <ICommandBus>();

            /*
             *
             * DRGD - De-registered.
             * EXAD - External administration (in receivership/liquidation).
             * NOAC - Not active.
             * NRGD - Not registered.
             * PROV - Provisional (mentioned only under charges and refers
             * to those which have not been fully registered).
             * REGD – Registered.
             * SOFF - Strike-off action in progress.
             * DISS - Dissolved by Special Act of Parliament.
             * DIV3 - Organisation Transferred Registration via DIV3.
             * PEND - Pending - Schemes.
             *
             */
            foreach (var company in companies)//.Where(x=>x.Status =="REGD"))
            {
                var command = new CreateCompanyCommand(CompanyId.New)
                {
                    Company = company
                };
                try
                {
                    AsyncUtil.RunSync(() => bus.PublishAsync(command, cancellationToken));
                    await Task.CompletedTask;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }

            Consoler.TitleEnd("seed database finished");
            return(true);
        }
예제 #2
0
파일: Program.cs 프로젝트: lulzzz/vita
        private static void ExtractCompanies()
        {
            foreach (var item in CompanySpreadsheet.Import()
                     .Where(x => x.CompanyName.ToLowerInvariant().StartsWith(Letter))
                     //.Skip(000)
                     //.Take(1000)
                     )
            {
                item.Id = Guid.NewGuid();
                _busControl.Publish(new CompanyRequest
                {
                    Company = item
                });

                _busControl.Publish(new GoogleApiSearchRequest
                {
                    SearchTerm = item.CompanyName
                });
            }
        }
예제 #3
0
파일: DataImporter.cs 프로젝트: lulzzz/vita
        /// <summary>
        /// DRGD - De-registered.
        //  EXAD - External administration(in receivership/liquidation).
        //  NOAC - Not active.
        //  NRGD - Not registered.
        //  PROV - Provisional (mentioned only under charges and refers
        //  to those which have not been fully registered).
        //  REGD – Registered.
        //  SOFF - Strike-off action in progress.
        //  DISS - Dissolved by Special Act of Parliament.
        //  DIV3 - Organisation Transferred Registration via DIV3.
        //  PEND - Pending - Schemes.
        /// </summary>
        private void ImportCompanies()
        {
            foreach (var item in CompanySpreadsheet.Import().Where(x => x.Status == ""))
            {
                var found = _companiesRepository
                            .Find(x => x.CompanyName == item.CompanyName && x.Status == "REGD");
                var xxx = found.ToList();
                if (xxx.Any())
                {
                    Log.Debug("CompanyName skipped {desc}", item.CompanyName);
                    continue;
                }

                Util.WaitFor(1);
                item.Id = Guid.NewGuid();
                Log.Information(item.ToString());
                _busControl.Publish(new CompanyRequest
                {
                    Company = item.TrimAllStrings()
                });
                _companiesRepository.Insert(item);
            }
        }