public RocketChat(string serverUrl) { IRestClient restClient = new RestClient(serverUrl); IJsonSerializer jsonSerializer = new JsonSerializer(); IAuthHelper authHelper = new AuthHelper(); IRestClientService restClientService = new RestClientService(authHelper, restClient, jsonSerializer); IFileRestClientService fileRestClientService = new FileRestClientService(authHelper, restClient, jsonSerializer); IAuthenticationService authService = new AuthenticationService(authHelper, restClientService); IChannelsService channelsService = new ChannelsService(restClientService); IGroupsService groupsService = new GroupsService(restClientService); IUsersService usersService = new UsersService(restClientService); IChatService chatService = new ChatService(restClientService); IRoomService roomService = new RoomService(restClientService); IAssetsService assetsService = new AssetsService(restClientService); IAutoTranslateService autoTranslateService = new AutoTranslateService(restClientService); ICommandsService commandsService = new CommandsService(restClientService); IEmojisService emojisService = new EmojisService(restClientService, fileRestClientService); Api = new RocketChatApi( chatService, usersService, groupsService, channelsService, authService, roomService, assetsService, autoTranslateService, commandsService, emojisService); }
public async Task ItCanGetAssets() { var request = new AssetListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var result = await AssetsService.GetAssetsAsync(request); Assert.IsTrue(result.Data.Count() >= 0); }
public async Task ItCanGetAnAsset() { var request = new FortnoxApiRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var result = await AssetsService.GetAssetAsync(request, "1"); Assert.AreEqual("1", result.Number); }
private async Task <AssetSubset> CreateAsset() { var currentDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1); var rand = new Random(); var asset = new Asset() { Number = "TestProd" + rand.Next(9999999), Description = "TEST PRODUCT", TypeId = "8", DepreciationMethod = "0", AcquisitionValue = 13000, DepreciateToResidualValue = 1300, AcquisitionDate = currentDate, AcquisitionStart = currentDate.AddMonths(1), DepreciationFinal = currentDate.AddYears(1), }; var request = new FortnoxApiRequest(connectionSettings.AccessToken, connectionSettings.ClientSecret); var response = await AssetsService.CreateAssetAsync(request, asset); return(new AssetSubset() { Id = response.Id }); }
public async Task ItCanWriteUpAndDownAnAsset() { var currentDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1); var request = new FortnoxApiRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var result = await AssetsService.GetAssetAsync(request, "4"); Assert.AreEqual("2", result.Number); var writeUp = new WriteUpOrDownAsset { Amount = 300, Comment = "WriteUp, Possible comment", Date = currentDate.AddMonths(1) }; var writeUpAsset = await AssetsService.WriteUpAssetAsync(request, $"{result.Id}", writeUp); var latestWriteUp = writeUpAsset.History.Where(e => e.Date.Equals(writeUp.Date)).First(); Assert.IsTrue(latestWriteUp.Notes.Contains(writeUp.Comment)); var writeDown = new WriteUpOrDownAsset { Amount = 200, Comment = "WriteDown, Possible comment", Date = currentDate.AddMonths(1) }; var writeDownAsset = await AssetsService.WriteDownAssetAsync(request, $"{result.Id}", writeDown); var latestWriteDown = writeDownAsset.History.Where(e => e.Date.Equals(writeDown.Date)).Last(); Assert.IsTrue(latestWriteDown.Notes.Contains(writeDown.Comment)); }
public async Task ItCanSellAnAsset() { var currentDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1); var rand = new Random(); var asset = new Asset() { Number = "TestProd" + rand.Next(9999999), Description = "TEST PRODUCT", TypeId = "8", DepreciationMethod = "0", AcquisitionValue = 13000, DepreciateToResidualValue = 1300, AcquisitionDate = currentDate, AcquisitionStart = currentDate.AddMonths(1), DepreciationFinal = currentDate.AddYears(1), }; var request = new FortnoxApiRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var result = await AssetsService.CreateAssetAsync(request, asset); Assert.AreEqual(asset.Number, result.Number); var sellAsset = new SellAsset { Percentage = 0, Price = 10000, Comment = "Sell comment", Date = currentDate.AddMonths(1).ToString("yyyy-MM-dd") }; var soldAsset = await AssetsService.SellAssetAsync(request, $"{result.Id}", sellAsset); }
protected override void Loaded() { base.Loaded(); this.assetsService = Application.Current.Container.Resolve <AssetsService>(); this.prefabsIdByName = WaveContentUtils.FindPrefabs(); this.prefabsIdByName.Add("None", Guid.Empty); this.PrefabSetValue(this.PrefabGetValue()); }
protected override void FillBody() { if (null == AssetsData) { return; } for (int index = 0; index < AssetsData.Count; index++) { AssetsMain main = AssetsData[index]; TempRow = Sheet.CreateRow(NextRowIndex); TempRow.CreateCell(0).SetCellValue(index + 1); TempRow.CreateCell(1).SetCellValue(main.GoodsName); TempRow.CreateCell(2).SetCellValue(main.CatCode); TempRow.CreateCell(3).SetCellValue(""); TempRow.CreateCell(4).SetCellValue(main.MeasurementUnits); TempRow.CreateCell(5).SetCellValue(main.UsingStyle); TempRow.CreateCell(6).SetCellValue(main.UsingState); TempRow.CreateCell(7).SetCellValue(main.GetWay); TempRow.CreateCell(8).SetCellValue(main.GetDate.ToShortDateString()); var attrData = AssetsService.GetLand(main.AssetsNum); if (null != attrData) { TempRow.CreateCell(9).SetCellValue(attrData.PropertyForm); TempRow.CreateCell(10).SetCellValue(attrData.OwnershipCertificate); TempRow.CreateCell(11).SetCellValue(attrData.OwnershipStyle); TempRow.CreateCell(12).SetCellValue(attrData.OwnershipTime); TempRow.CreateCell(13).SetCellValue(attrData.OwnershipCertifiateNum); TempRow.CreateCell(14).SetCellValue(attrData.IssuingDate.ToShortDateString()); TempRow.CreateCell(15).SetCellValue(attrData.LandOwner); TempRow.CreateCell(16).SetCellValue(attrData.LandUserStyle); TempRow.CreateCell(17).SetCellValue(attrData.Location); TempRow.CreateCell(18).SetCellValue(attrData.AllArea.ToString()); TempRow.CreateCell(19).SetCellValue(attrData.SharingArea.ToString()); TempRow.CreateCell(20).SetCellValue(attrData.SingleArea.ToString()); } TempRow.CreateCell(21).SetCellValue(main.ValueType); TempRow.CreateCell(22).SetCellValue(main.Money.ToString()); TempRow.CreateCell(23).SetCellValue(main.GovMoney.ToString()); TempRow.CreateCell(24).SetCellValue(main.NoneGovMoney.ToString()); TempRow.CreateCell(25).SetCellValue(""); TempRow.CreateCell(26).SetCellValue(""); TempRow.CreateCell(27).SetCellValue(main.NetWorth.ToString()); TempRow.CreateCell(28).SetCellValue(main.PostingDate.ToShortDateString()); TempRow.CreateCell(29).SetCellValue(main.AcountDocNum); TempRow.CreateCell(30).SetCellValue(""); TempRow.CreateCell(31).SetCellValue(main.Memo); NextRowIndex++; Thread.Sleep(10); } }
protected override void FillBody() { if (null == AssetsData) { return; } for (int index = 0; index < AssetsData.Count; index++) { AssetsMain main = AssetsData[index]; TempRow = Sheet.CreateRow(NextRowIndex); TempRow.CreateCell(0).SetCellValue(index + 1); TempRow.CreateCell(1).SetCellValue(main.GoodsName); TempRow.CreateCell(2).SetCellValue(main.CatCode); TempRow.CreateCell(3).SetCellValue(""); TempRow.CreateCell(4).SetCellValue(main.MeasurementUnits); TempRow.CreateCell(5).SetCellValue(main.UsingAttribute); TempRow.CreateCell(6).SetCellValue(main.UsingStyle); TempRow.CreateCell(7).SetCellValue(main.UsingState); TempRow.CreateCell(8).SetCellValue(main.GetWay); var attrData = AssetsService.GetCar(main.AssetsNum); if (null != attrData) { TempRow.CreateCell(9).SetCellValue(attrData.CarUser); TempRow.CreateCell(10).SetCellValue(attrData.UsingType); TempRow.CreateCell(11).SetCellValue(attrData.CarBrand); TempRow.CreateCell(12).SetCellValue(attrData.Organization); TempRow.CreateCell(13).SetCellValue(attrData.CarNum); TempRow.CreateCell(14).SetCellValue(attrData.CarRecCode); TempRow.CreateCell(15).SetCellValue(attrData.CarCertificateDate.ToShortDateString()); TempRow.CreateCell(16).SetCellValue(attrData.CarExhaust); TempRow.CreateCell(17).SetCellValue(attrData.CarEngineNum); TempRow.CreateCell(18).SetCellValue(attrData.CarErollDare.ToShortDateString()); TempRow.CreateCell(19).SetCellValue(attrData.CarOwner); } TempRow.CreateCell(20).SetCellValue(main.ValueType); TempRow.CreateCell(21).SetCellValue(main.Money.ToString()); TempRow.CreateCell(22).SetCellValue(main.GovMoney.ToString()); TempRow.CreateCell(23).SetCellValue(main.NoneGovMoney.ToString()); TempRow.CreateCell(24).SetCellValue(main.Depreciation.ToString()); TempRow.CreateCell(25).SetCellValue(main.AccumulateDepreciation.ToString()); TempRow.CreateCell(26).SetCellValue(main.NetWorth.ToString()); TempRow.CreateCell(27).SetCellValue(main.PostingDate.ToShortDateString()); TempRow.CreateCell(28).SetCellValue(main.AcountDocNum); TempRow.CreateCell(29).SetCellValue(main.Memo); NextRowIndex++; Thread.Sleep(10); } }
public async Task ItCanUpdateAnAsset() { var updatedDescription = $"Changed {DateTime.UtcNow}"; var asset = new Asset() { Id = 1, Description = updatedDescription, }; var request = new FortnoxApiRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var result = await AssetsService.UpdateAssetAsync(request, asset); Assert.AreEqual(updatedDescription, result.Description); }
protected override void FillBody() { if (null == AssetsData) return; for(int index=0;index<AssetsData.Count;index++) { AssetsMain main = AssetsData[index]; TempRow = Sheet.CreateRow(NextRowIndex); TempRow.CreateCell(0).SetCellValue(index+1); //序号 TempRow.CreateCell(1).SetCellValue(main.GoodsName); //资产名称 TempRow.CreateCell(2).SetCellValue(main.CatCode); //资产分类代码 TempRow.CreateCell(3).SetCellValue(""); //资产分类名称 TempRow.CreateCell(4).SetCellValue(main.MeasurementUnits);//计量单位 TempRow.CreateCell(5).SetCellValue(main.UsingAttribute); //使用属性 TempRow.CreateCell(6).SetCellValue(main.UsingState); //使用状况 TempRow.CreateCell(7).SetCellValue(main.UsingStyle); //使用方向 TempRow.CreateCell(8).SetCellValue(main.GetWay); //取得方式 TempRow.CreateCell(9).SetCellValue(main.GetDate.ToShortDateString()); //取得时期 var attrData = AssetsService.GetBook(main.AssetsNum); if (null != attrData) { TempRow.CreateCell(10).SetCellValue(attrData.UseDate.ToShortTimeString());//投入使用日期 TempRow.CreateCell(11).SetCellValue(attrData.FileNum); //档案号 TempRow.CreateCell(12).SetCellValue(attrData.Press);//出版社 TempRow.CreateCell(13).SetCellValue(attrData.StoreYears);//保存年限 TempRow.CreateCell(14).SetCellValue(attrData.PressDate.ToShortTimeString()); //出版日期 } TempRow.CreateCell(15).SetCellValue(main.Counts); TempRow.CreateCell(16).SetCellValue(main.ValueType); TempRow.CreateCell(17).SetCellValue(main.Money.ToString()); TempRow.CreateCell(18).SetCellValue(main.GovMoney.ToString()); TempRow.CreateCell(19).SetCellValue(main.NoneGovMoney.ToString()); TempRow.CreateCell(20).SetCellValue(main.Depreciation.ToString()); TempRow.CreateCell(21).SetCellValue(main.AccumulateDepreciation.ToString()); TempRow.CreateCell(22).SetCellValue(main.NetWorth.ToString()); TempRow.CreateCell(23).SetCellValue(main.PostingDate.ToShortDateString()); TempRow.CreateCell(24).SetCellValue(main.AcountDocNum); TempRow.CreateCell(25).SetCellValue(main.Memo); //("备注"); NextRowIndex++; Thread.Sleep(10); } }
protected override void FillBody() { if (null == AssetsData) { return; } for (int index = 0; index < AssetsData.Count; index++) { AssetsMain main = AssetsData[index]; TempRow = Sheet.CreateRow(NextRowIndex); TempRow.CreateCell(0).SetCellValue(index + 1); TempRow.CreateCell(1).SetCellValue(main.GoodsName); TempRow.CreateCell(2).SetCellValue(main.CatCode); TempRow.CreateCell(3).SetCellValue(""); TempRow.CreateCell(4).SetCellValue(main.MeasurementUnits); TempRow.CreateCell(5).SetCellValue(main.UsingAttribute); TempRow.CreateCell(6).SetCellValue(main.UsingStyle); TempRow.CreateCell(7).SetCellValue(main.UsingState); TempRow.CreateCell(8).SetCellValue(main.GetWay); TempRow.CreateCell(9).SetCellValue(main.GetDate.ToShortDateString()); TempRow.CreateCell(10).SetCellValue(main.Brand); var attrData = AssetsService.GetGeneral(main.AssetsNum); if (null != attrData) { TempRow.CreateCell(11).SetCellValue(attrData.DevUse); TempRow.CreateCell(10).SetCellValue(attrData.DevFactory + "-" + main.Brand); } TempRow.CreateCell(12).SetCellValue(main.ValueType); TempRow.CreateCell(13).SetCellValue(main.Money.ToString()); TempRow.CreateCell(14).SetCellValue(main.GovMoney.ToString()); TempRow.CreateCell(15).SetCellValue(main.NoneGovMoney.ToString()); TempRow.CreateCell(16).SetCellValue(main.Depreciation.ToString()); TempRow.CreateCell(17).SetCellValue(main.AccumulateDepreciation.ToString()); TempRow.CreateCell(18).SetCellValue(main.NetWorth.ToString()); TempRow.CreateCell(19).SetCellValue(main.PostingDate.ToShortDateString()); TempRow.CreateCell(20).SetCellValue(main.AcountDocNum); TempRow.CreateCell(21).SetCellValue(""); NextRowIndex++; Thread.Sleep(10); } }
protected override void Load(ContainerBuilder builder) { builder.RegisterInstance(_log) .As <ILog>() .SingleInstance(); builder.RegisterType <HealthService>() .As <IHealthService>() .SingleInstance(); builder.RegisterType <StartupManager>() .As <IStartupManager>() .SingleInstance(); builder.RegisterType <ShutdownManager>() .As <IShutdownManager>() .AutoActivate() .SingleInstance(); builder.RegisterResourcesMonitoring(_log); var clientAccountClient = new ClientAccountClient(_appSettings.ClientAccountServiceClient.ServiceUrl); builder.RegisterInstance(clientAccountClient) .As <IClientAccountClient>() .SingleInstance(); var assetsServiceClient = new AssetsService(new Uri(_appSettings.AssetsServiceClient.ServiceUrl), new HttpClient()); builder.RegisterInstance(assetsServiceClient) .As <IAssetsService>() .SingleInstance(); IDataChecker checker = RegisterCheckers( builder, clientAccountClient, assetsServiceClient); var periodicalHandler = new PeriodicalHandler(checker, _log); builder.RegisterInstance(periodicalHandler) .As <IStartStop>() .SingleInstance(); }
public override void Initialize() { InitializeLogging(); RxApp.DefaultExceptionHandler = new RxExceptionHandler(); // Need to call ForContext *afer* calling InitializeLogging() var log = Log.ForContext <App>(); log.Information("MHWAppearanceEditor v" + Assembly.GetExecutingAssembly() !.GetName().Version); log.Information("Cirilla.Core v" + Assembly.GetAssembly(typeof(Cirilla.Core.Models.SaveData)) !.GetName().Version); // Settings var settingsService = new SettingsService(); Locator.CurrentMutable.RegisterConstant(settingsService); // Backup service Locator.CurrentMutable.RegisterConstant(new BackupService()); // Start assets loading AssetsService assetsService = new AssetsService("assets"); Task.Run(() => assetsService.Initialize()); Locator.CurrentMutable.RegisterConstant(assetsService); Locator.CurrentMutable.RegisterConstant(new ColorValueConverter(), typeof(IBindingTypeConverter)); Locator.CurrentMutable.RegisterConstant(new SteamWebApiService(SuperSecret.STEAM_WEB_API_KEY)); Locator.CurrentMutable.Register(() => new StartScreenView(), typeof(IViewFor <StartScreenViewModel>)); Locator.CurrentMutable.Register(() => new SaveDataView(), typeof(IViewFor <SaveDataViewModel>)); Locator.CurrentMutable.Register(() => new ExceptionView(), typeof(IViewFor <ExceptionViewModel>)); Locator.CurrentMutable.Register(() => new CharacterAssetView(), typeof(IViewFor <CharacterAssetViewModel>)); // Tabs Locator.CurrentMutable.Register(() => new SaveDataInfoView(), typeof(IViewFor <SaveDataInfoViewModel>)); Locator.CurrentMutable.Register(() => new SaveSlotView(), typeof(IViewFor <SaveSlotViewModel>)); AvaloniaXamlLoader.Load(this); }
private void RegisterExternalServices(ContainerBuilder builder) { builder.Register <IBitcoinApiClient>(x => { var client = new BitcoinApiClient(_settings.CurrentValue.BitCoinCore.BitcoinCoreApiUrl); return(client); }).SingleInstance(); builder.Register <IKycStatusService>(x => { var assetsSrv = new KycStatusServiceClient(_settings.CurrentValue.KycServiceClient, _log); return(assetsSrv); }).SingleInstance(); builder.Register <IAssetsService>(x => { var assetsSrv = new AssetsService(new Uri(_settings.CurrentValue.AssetsServiceClient.ServiceUrl)); return(assetsSrv); }).SingleInstance(); builder.Register <IExchangeOperationsServiceClient>(x => { var exchOpSrv = new ExchangeOperationsServiceClient(_settings.CurrentValue.ExchangeOperationsServiceClient.ServiceUrl); return(exchOpSrv); }).SingleInstance(); builder.RegisterType <BalancesClient>() .As <IBalancesClient>() .WithParameter("serviceUrl", _settings.CurrentValue.BalancesServiceClient.ServiceUrl) .WithParameter("log", _log) .SingleInstance(); builder.RegisterType <FirebaseService>() .As <IFirebaseService>() .WithParameter("settings", _settings.CurrentValue) .SingleInstance(); }
public async Task ItCanDepreciateAnAsset() { var currentDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1); var rand = new Random(); var asset = new Asset() { Number = "TestProd" + rand.Next(9999999), Description = "TEST PRODUCT", TypeId = "8", DepreciationMethod = "0", AcquisitionValue = 13000, DepreciateToResidualValue = 1300, AcquisitionDate = currentDate, AcquisitionStart = currentDate.AddMonths(1), DepreciationFinal = currentDate.AddYears(1), }; var request = new FortnoxApiRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var result = await AssetsService.CreateAssetAsync(request, asset); Assert.AreEqual(asset.Number, result.Number); var depreciationDate = currentDate.AddMonths(2); depreciationDate = new DateTime(depreciationDate.Year, depreciationDate.Month, DateTime.DaysInMonth(depreciationDate.Year, depreciationDate.Month)); var assetDepreciation = new DepreciateAssets { DepreciateUntil = depreciationDate, AssetIds = new List <int> { result.Id } }; var depreciatedAssetResponse = await AssetsService.DepreciateAssetAsync(request, assetDepreciation); var depreciationResult = depreciatedAssetResponse.Data.First(); Assert.IsTrue(depreciationResult.FinancialYear == 3); Assert.IsTrue(depreciationResult.VoucherSeries.Equals("G")); }
private static void Main(string[] args) { if (args.Length < 3) { Console.WriteLine("You should provide assets service uri, web3 rpc endpoint uri and path to the list of contract addresses as arguments."); } if (!TryProcessArgs(args, out var processedArgs)) { return; } _assetsService = new AssetsService(processedArgs.AssetsServiceUri); _web3 = new Web3(processedArgs.Web3Uri.ToString()); var specification = GetSpecification(processedArgs.SpecificationPath); var contracts = specification.Tokens.ToArray(); var groupsToAddTo = specification.Groups.ToArray(); var skipTransferCheck = args.Length >= 4 && args[3] == "--skip-transfer-check"; Console.WriteLine($"Registering {contracts.Length} tokens..."); var assetIds = CreateAssets(contracts, skipTransferCheck).ToArray(); if (groupsToAddTo.Any()) { AddAssetsToGroups(assetIds, groupsToAddTo); } EnableAssets(assetIds); Console.ResetColor(); Console.WriteLine("Operation completed. Press enter to exit."); Console.ReadLine(); }
protected override void FillBody() { if (null == AssetsData) { return; } for (int index = 0; index < AssetsData.Count; index++) { AssetsMain main = AssetsData[index]; TempRow = Sheet.CreateRow(NextRowIndex); // 使用属性0 TempRow.CreateCell(0).SetCellValue(main.UsingAttribute); // 资产编号1 TempRow.CreateCell(1).SetCellValue(main.AssetsNum); // 资产分类代码2 TempRow.CreateCell(2).SetCellValue(main.CatCode); // 资产分类名称3 TempRow.CreateCell(3).SetCellValue(""); // 资产名称4 TempRow.CreateCell(4).SetCellValue(main.GoodsName); // 计量单位5 TempRow.CreateCell(5).SetCellValue(main.MeasurementUnits); // 数量6 TempRow.CreateCell(6).SetCellValue(main.Counts); // 品牌及规格型号7 TempRow.CreateCell(7).SetCellValue(main.ModelSpecification); // 使用性质32 TempRow.CreateCell(32).SetCellValue(""); // 取得方式9 TempRow.CreateCell(9).SetCellValue(main.UsingStyle); // 使用状况10 TempRow.CreateCell(10).SetCellValue(main.UsingState); // 使用方向11 TempRow.CreateCell(11).SetCellValue(""); // 使用人12 TempRow.CreateCell(12).SetCellValue(main.UsePeople); // 价值类型13 TempRow.CreateCell(13).SetCellValue(main.ValueType); // 价值14 TempRow.CreateCell(14).SetCellValue(main.Money.ToString()); // 财政性资金15 TempRow.CreateCell(15).SetCellValue(main.GovMoney.ToString()); // 非财政性资金16 TempRow.CreateCell(16).SetCellValue(main.NoneGovMoney.ToString()); // 净值17 TempRow.CreateCell(17).SetCellValue(main.NetWorth.ToString()); // 取得日期19 TempRow.CreateCell(19).SetCellValue(main.GetDate.ToShortDateString()); // 使用管理部门20 TempRow.CreateCell(20).SetCellValue(main.UseDepartment); // 入账形式21 TempRow.CreateCell(21).SetCellValue(""); // 入账科目22 TempRow.CreateCell(22).SetCellValue(""); // 入账日期23 TempRow.CreateCell(23).SetCellValue(main.PostingDate.ToShortDateString()); // 会计凭证号24 TempRow.CreateCell(24).SetCellValue(main.AcountDocNum); // 存放地点25 TempRow.CreateCell(25).SetCellValue(main.StorePlace); // 备注56 TempRow.CreateCell(56).SetCellValue(main.Memo); // 附属信息 if (string.IsNullOrEmpty(main.CatCode)) { NextRowIndex++; continue; } var @type = main.CatCode.GetAssetsTypeByCatCode(); switch (@type) { case AssetsTypes.Land: // // // var attrData = AssetsService.GetLand(main.AssetsNum); if (null != attrData) { ////////////////////////////////////////////////////////////////// // 土地 ////////////////////////////////////////////////////////////////// // 产权形式39 TempRow.CreateCell(39).SetCellValue(attrData.PropertyForm); // 权属证明40 TempRow.CreateCell(40).SetCellValue(attrData.OwnershipCertificate); // 权属性质45 TempRow.CreateCell(45).SetCellValue(attrData.OwnershipStyle); // 权属年限38 TempRow.CreateCell(38).SetCellValue(attrData.OwnershipTime); // 权属证号44 TempRow.CreateCell(44).SetCellValue(attrData.OwnershipCertifiateNum); // 发证日期36 TempRow.CreateCell(36).SetCellValue(attrData.IssuingDate.ToShortDateString()); // 土地使用权人46 TempRow.CreateCell(46).SetCellValue(attrData.LandOwner); // 土地使用权类型41 TempRow.CreateCell(41).SetCellValue(attrData.LandUserStyle); // 地类(用途)48 // 坐落位置55 TempRow.CreateCell(55).SetCellValue(attrData.Location); // 土地使用权面积42 TempRow.CreateCell(42).SetCellValue(attrData.AllArea.ToString()); // 独用面积53 TempRow.CreateCell(53).SetCellValue(attrData.SingleArea.ToString()); // 分摊面积54 TempRow.CreateCell(54).SetCellValue(attrData.SharingArea.ToString()); ////////////////////////////////////////////////////////////////// // 土地 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.Car: // // // var carAttr = AssetsService.GetCar(main.AssetsNum); if (null != carAttr) { ////////////////////////////////////////////////////////////////// // 车辆 ////////////////////////////////////////////////////////////////// // 编制情况8 TempRow.CreateCell(8).SetCellValue(carAttr.Organization); // 行驶证注册登记日期18 TempRow.CreateCell(18).SetCellValue(carAttr.CarErollDare); // 号牌号码27 TempRow.CreateCell(27).SetCellValue(carAttr.CarNum); // 发动机号码28 TempRow.CreateCell(28).SetCellValue(carAttr.CarEngineNum); // 车辆识别代号(车架号)29 TempRow.CreateCell(29).SetCellValue(carAttr.CarRecCode); // 排气量30 TempRow.CreateCell(30).SetCellValue(carAttr.CarExhaust); // 车辆行驶证所有人31 TempRow.CreateCell(31).SetCellValue(carAttr.CarOwner); // 车辆用途50 TempRow.CreateCell(50).SetCellValue(carAttr.CarUser); ////////////////////////////////////////////////////////////////// // 车辆 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.Building: // // // var buildAttr = AssetsService.GetBuilding(main.AssetsNum); if (null != buildAttr) { ////////////////////////////////////////////////////////////////// // 构筑物 ////////////////////////////////////////////////////////////////// // 产权形式39 TempRow.CreateCell(39).SetCellValue(buildAttr.PropertyForm); // 权属证号44 TempRow.CreateCell(44).SetCellValue(buildAttr.OwnershipCertifiateNum); // 坐落位置55 TempRow.CreateCell(55).SetCellValue(buildAttr.Location); ////////////////////////////////////////////////////////////////// // 构筑物 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.Culturalrelic: // // // var culturaAttr = AssetsService.GetCulturalrelic(main.AssetsNum); if (null != culturaAttr) { ////////////////////////////////////////////////////////////////// // 文物 ////////////////////////////////////////////////////////////////// // 文物等级33 TempRow.CreateCell(33).SetCellValue(culturaAttr.GoodsLevel); // 藏品年代34 TempRow.CreateCell(34).SetCellValue(culturaAttr.Years); // 来源地/产地35 TempRow.CreateCell(35).SetCellValue(culturaAttr.SourcePlace); ////////////////////////////////////////////////////////////////// // 文物 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.Animalandplant: // // // var animalAttr = AssetsService.GetAnimalandplant(main.AssetsNum); if (null != animalAttr) { ////////////////////////////////////////////////////////////////// // 特种动植物 ////////////////////////////////////////////////////////////////// // 来源地/产地35 TempRow.CreateCell(35).SetCellValue(animalAttr.Palce); ////////////////////////////////////////////////////////////////// // 特种动植物 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.Furniture: break; case AssetsTypes.GeneralEquipment: // // // var GenaalAttr = AssetsService.GetGeneral(main.AssetsNum); if (null != GenaalAttr) { ////////////////////////////////////////////////////////////////// // 通用设备 ////////////////////////////////////////////////////////////////// // 设备用途49 TempRow.CreateCell(49).SetCellValue(GenaalAttr.DevUse); // 生产厂家26 TempRow.CreateCell(26).SetCellValue(GenaalAttr.DevFactory); ////////////////////////////////////////////////////////////////// // 通用设备 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.House: // // // var houseAttr = AssetsService.GetHouse(main.AssetsNum); if (null != houseAttr) { ////////////////////////////////////////////////////////////////// // 房屋 ////////////////////////////////////////////////////////////////// // 产权形式39 TempRow.CreateCell(39).SetCellValue(houseAttr.PropertyForm); // 权属证明40 TempRow.CreateCell(40).SetCellValue(houseAttr.OwnershipCertificate); // 权属证号44 TempRow.CreateCell(44).SetCellValue(houseAttr.OwnershipCertifiateNum); // 权属年限38 TempRow.CreateCell(38).SetCellValue(houseAttr.OwnershipTime); // 发证日期36 TempRow.CreateCell(36).SetCellValue(houseAttr.IssuingDate.ToShortDateString()); // 房屋所有权人47 TempRow.CreateCell(47).SetCellValue(houseAttr.HouseOwner); // 设计用途51 TempRow.CreateCell(51).SetCellValue(houseAttr.DesignUse); // 建筑结构52 TempRow.CreateCell(52).SetCellValue(houseAttr.BuildingStruccture); // 坐落位置55 TempRow.CreateCell(55).SetCellValue(houseAttr.Location); // 建筑面积43 TempRow.CreateCell(43).SetCellValue(houseAttr.Area.ToString()); ////////////////////////////////////////////////////////////////// // 房屋 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.SpecialEquipment: // // // var specialAttr = AssetsService.GetSpecial(main.AssetsNum); if (null != specialAttr) { ////////////////////////////////////////////////////////////////// // 专用设备 ////////////////////////////////////////////////////////////////// // 生产厂家26 TempRow.CreateCell(26).SetCellValue(specialAttr.DevFactory); ////////////////////////////////////////////////////////////////// // 专用设备 ////////////////////////////////////////////////////////////////// } break; case AssetsTypes.Book: // // // var bookAttr = AssetsService.GetBook(main.AssetsNum); if (null != bookAttr) { ////////////////////////////////////////////////////////////////// // 图书 ////////////////////////////////////////////////////////////////// // 投入使用日期37 TempRow.CreateCell(37).SetCellValue(bookAttr.UseDate.ToShortDateString()); ////////////////////////////////////////////////////////////////// // 图书 ////////////////////////////////////////////////////////////////// } break; } // // 换行 // NextRowIndex++; Thread.Sleep(10); } }
private void Awake() { Instance = this; }
private static async Task Execute(string settingsFilePath) { if (!File.Exists(settingsFilePath)) { Console.WriteLine($"{settingsFilePath} file not exist"); return; } var settings = new FileSettingsReader <ToolSettings>(settingsFilePath); var logFactory = LogFactory.Create() .AddConsole(); var assetServce = new AssetsService(new Uri(settings.CurrentValue.AssetServiceUrl)); var retryPolicy = Policy.Handle <RetryNeededException>() .WaitAndRetryAsync(10, retryAttempt => TimeSpan.FromSeconds(retryAttempt), onRetry: (ex, delay, context, tsk) => { Console.WriteLine($"Retrying exception {ex.ToAsyncString()}"); }); var clientAccountService = new Lazy <ClientAccountClient>(() => new ClientAccountClient(settings.CurrentValue.ClientAccountUrl ?? throw new ArgumentNullException(settings.CurrentValue.ClientAccountUrl))); IEnumerable <Asset> assets; if (!string.IsNullOrEmpty(settings.CurrentValue.AssetId)) { var asset = await assetServce.AssetGetAsync(settings.CurrentValue.AssetId); if (asset == null) { Console.WriteLine($"Asset not found {settings.CurrentValue.AssetId}"); return; } assets = new [] { asset }; } else { assets = await assetServce.AssetGetAllAsync(); } var balanceReaders = BalanceReaderFactory.GetBalanceReaders(assetServce, settings.CurrentValue).ToArray(); const string csvDeliminator = ";"; string header = $"ClientId;Address;Amount;AssetId;ReceivedAmount;SpentAmount;TransactionsCount{Environment.NewLine}"; await File.AppendAllTextAsync(settings.CurrentValue.ResultFilePath, header); var counter = 0; string continuationToken = null; var relatedAssetsDictionary = new ConcurrentDictionary <Type, IEnumerable <Asset> >(); do { IEnumerable <string> clientIds; if (string.IsNullOrEmpty(settings.CurrentValue.ClientIdsFilePath)) { Console.WriteLine("Retrieving client ids batch"); var response = await clientAccountService.Value.GetIdsAsync(continuationToken); continuationToken = response.ContinuationToken; clientIds = response.Ids; } else { clientIds = await File.ReadAllLinesAsync(settings.CurrentValue.ClientIdsFilePath); } if (string.IsNullOrEmpty(settings.CurrentValue.AssetId) && settings.CurrentValue.IncludeZeroBalances) { throw new ArgumentException("If AssetId is omitted, IncludeZeroBalances should be false."); } foreach (var clientId in clientIds) { IEnumerable <(IBalanceReader balanceReader, string address)> addresses; switch (settings.CurrentValue.WalletType) { case WalletTypes.Private: addresses = await GetPrivateWalletAddresses(clientId, logFactory, settings, balanceReaders); break; case WalletTypes.Deposit: addresses = await GetDepositWallets(clientId, logFactory, settings, balanceReaders); break; default: throw new ArgumentException("Unknown switch", nameof(ToolSettings.WalletType)); } foreach (var balanceReaderAddresses in addresses.GroupBy(p => p.balanceReader.GetType())) { var balanceReader = balanceReaderAddresses.First().balanceReader; //cache enumeration var relatedAssets = relatedAssetsDictionary.GetOrAdd(balanceReader.GetType(), (type) => balanceReader.SelectRelatedAssetsAsync(assets).Result.ToList()); foreach (var address in balanceReader.SelectUniqueAddresses(balanceReaderAddresses.Select(p => p.address))) { try { var blockchainBalances = await retryPolicy.ExecuteAsync( () => balanceReader.ReadBalance(relatedAssets, address)); var transactionsInfo = await retryPolicy.ExecuteAsync( () => balanceReader.GetTransactionsInfoAsync(relatedAssets, address, settings.CurrentValue.AssetId, settings.CurrentValue.PrivateWalletsCount.FromDate, settings.CurrentValue.PrivateWalletsCount.FromBlock)); foreach (var blockchainBalance in blockchainBalances .Where(p => p.amount != 0 || settings.CurrentValue.IncludeZeroBalances)) { await File.AppendAllTextAsync(settings.CurrentValue.ResultFilePath, string.Join(csvDeliminator, clientId, blockchainBalance.address, blockchainBalance.amount.ToString(CultureInfo.InvariantCulture), blockchainBalance.assetId, transactionsInfo.AssetId == blockchainBalance.assetId ? transactionsInfo.ReceivedAmount.ToString(CultureInfo.InvariantCulture) : "-", transactionsInfo.AssetId == blockchainBalance.assetId ? transactionsInfo.SpentAmount.ToString(CultureInfo.InvariantCulture) : "-", transactionsInfo.AssetId == blockchainBalance.assetId ? transactionsInfo.TransactionsCount.ToString(CultureInfo.InvariantCulture) : "-" ) + Environment.NewLine); } } catch (Exception e) { Console.WriteLine($"Exception during processing balance for client {clientId}, address: {address}: {e.ToAsyncString()}"); await File.AppendAllTextAsync(settings.CurrentValue.ErrorFilePath, string.Join(csvDeliminator, DateTime.UtcNow, clientId, address, e.ToAsyncString()) + Environment.NewLine); } } } counter++; Console.WriteLine($"[{DateTime.UtcNow}] {clientId} done -- {counter}"); } } while (continuationToken != null); Console.WriteLine("All done"); }
private async Task <List <AssetSubset> > GetAssets() { var request = new AssetListRequest(connectionSettings.AccessToken, connectionSettings.ClientSecret); return((await AssetsService.GetAssetsAsync(request)).Data.ToList()); }
private async Task DeleteAsset(int assetId) { var request = new FortnoxApiRequest(connectionSettings.AccessToken, connectionSettings.ClientSecret); await AssetsService.DeleteAssetAsync(request, assetId.ToString()); }
protected override void FillBody() { if (null == AssetsData) { return; } for (int index = 0; index < AssetsData.Count; index++) { AssetsMain main = AssetsData[index]; TempRow = Sheet.CreateRow(NextRowIndex); TempRow.CreateCell(0).SetCellValue(index + 1); TempRow.CreateCell(1).SetCellValue(main.GoodsName); TempRow.CreateCell(2).SetCellValue(main.CatCode); TempRow.CreateCell(3).SetCellValue(""); TempRow.CreateCell(4).SetCellValue(main.MeasurementUnits); // // 使用属性 // if (!string.IsNullOrEmpty(main.UsingAttribute)) { TempRow.CreateCell(5).SetCellValue(main.UsingAttribute); } else { TempRow.CreateCell(5).SetCellValue("01|办公设备"); } // // 使用状况 // if (!string.IsNullOrEmpty(main.UsingState)) { TempRow.CreateCell(6).SetCellValue(main.UsingState); } else { TempRow.CreateCell(6).SetCellValue("01|在用"); } // // 使用方向 // if (!string.IsNullOrEmpty(main.UsingStyle)) { TempRow.CreateCell(7).SetCellValue(main.UsingState); } else { TempRow.CreateCell(7).SetCellValue("01|自用"); } // // 取得方式 // if (!string.IsNullOrEmpty(main.GetWay)) { TempRow.CreateCell(8).SetCellValue(main.GetWay); } else { TempRow.CreateCell(8).SetCellValue("01|购置"); } // // 取得日期 // if (!string.IsNullOrEmpty(main.GetDate.ToShortDateString())) { TempRow.CreateCell(9).SetCellValue(main.GetDate.ToShortDateString()); } else { TempRow.CreateCell(9).SetCellValue(DateTime.Now.ToShortDateString()); } var attrData = AssetsService.GetAnimalandplant(main.AssetsNum); if (null != attrData) { TempRow.CreateCell(10).SetCellValue(attrData.Birthday.ToShortDateString()); TempRow.CreateCell(11).SetCellValue(attrData.Age); TempRow.CreateCell(12).SetCellValue(attrData.Class); TempRow.CreateCell(13).SetCellValue(attrData.Palce); } // // 取得方式 // if (main.Counts > 0) { TempRow.CreateCell(14).SetCellValue(main.Counts); } else { TempRow.CreateCell(14).SetCellValue("01|购置"); } TempRow.CreateCell(19).SetCellValue(main.Counts); TempRow.CreateCell(19).SetCellValue(main.ValueType); TempRow.CreateCell(20).SetCellValue(main.Money.ToString()); TempRow.CreateCell(21).SetCellValue(main.GovMoney.ToString()); TempRow.CreateCell(22).SetCellValue(main.NoneGovMoney.ToString()); TempRow.CreateCell(26).SetCellValue(main.PostingDate.ToShortDateString()); TempRow.CreateCell(27).SetCellValue(main.AcountDocNum); TempRow.CreateCell(28).SetCellValue(main.AssetsNum); NextRowIndex++; Thread.Sleep(10); } }
public Session() { AccountService = new Riot.Services.AccountService(this); ChampionTradeService = new Riot.Services.ChampionTradeService(this); ClientFacadeService = new Riot.Services.ClientFacadeService(this); GameInvitationService = new Riot.Services.GameInvitationService(this); GameService = new Riot.Services.GameService(this); InventoryService = new Riot.Services.InventoryService(this); LcdsProxyService = new Riot.Services.LcdsProxyService(this); LeaguesService = new Riot.Services.LeaguesService(this); LoginService = new Riot.Services.LoginService(this); MasteryBookService = new Riot.Services.MasteryBookService(this); MatchmakingService = new Riot.Services.MatchmakingService(this); PlayerStatsService = new Riot.Services.PlayerStatsService(this); RerollService = new Riot.Services.RerollService(this); SpellBookService = new Riot.Services.SpellBookService(this); SummonerIconService = new Riot.Services.SummonerIconService(this); SummonerRuneService = new Riot.Services.SummonerRuneService(this); SummonerService = new Riot.Services.SummonerService(this); SummonerTeamService = new Riot.Services.SummonerTeamService(this); LootService = new LootService(this, LcdsProxyService); ChampionMasteryService = new ChampionMasteryService(this, LcdsProxyService); TeambuilderDraftService = new TeambuilderDraftService(this, LcdsProxyService); PlayerPreferencesService = new PlayerPreferencesService(this); MatchHistoryService = new MatchHistoryService(this); var patcher = new PatcherService(this); this.chat = new ChatService(this); this.Maestro = new Maestro(chat, patcher); var settings = new SettingsService(this); var hextech = new HextechService(this); var champions = new ChampionsService(this); var masteries = new MasteriesService(this); var runes = new RunesService(this); var matches = new Server.Profile.MatchHistoryService(this); this.summoner = new SummonerService(this); this.Assets = new AssetsService(patcher); var rooms = new ChatRoomService(this, chat); var login = new AuthService(this); var game = new PlayLoopService(this, rooms); var invite = new InviteService(this, game); var meta = new MetaService(this); var debug = new DebugService(this); var replay = new ReplayService(this); patcher.FinishWAD(); var info = new InfoService(this, patcher); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // CONFIGURATION SETTINGS var applicationConfiguration = Configuration.GetSection("Application"); var applicationSettings = new ApplicationSettings( applicationConfiguration["DefaultNickname"], applicationConfiguration.GetValue <double>("RadiusAround"), applicationConfiguration["UploadsFolderName"]); services.AddSingleton(applicationSettings); var securityConfiguration = Configuration.GetSection("Security"); var securitySettings = new SecuritySettings( securityConfiguration["EncryptionKey"], securityConfiguration["Issue"], securityConfiguration.GetValue <TimeSpan>("ExpirationPeriod")); services.AddSingleton(securitySettings); // REPOSITORIES IShyneesRepository shyneesRepository; if (Configuration.GetValue <bool>("Database:IsInMemory")) { shyneesRepository = new InMemoryShyneesRepository(); } else { var dbConfiguration = Configuration.GetSection("Database:MongoDB"); var dbSettings = new DbSettings( dbConfiguration["ConnectionString"], dbConfiguration["Database"]); services.AddSingleton(dbSettings); var dbMapper = new DbMapper(); var dbContext = new DbContext(dbSettings); shyneesRepository = new ShyneesRepository(dbContext); } // SERVICES var shyneesService = new ShyneesService(shyneesRepository, applicationSettings); var assetsService = new AssetsService(applicationSettings); services.AddSingleton <IShyneesService>(shyneesService); services.AddSingleton <IAssetsService>(assetsService); // OTHER DEPENDENCIES services.AddScoped <ModelValidationAttribute>(); var jwtIssuer = new JwtIssuer(securitySettings); services.AddSingleton <IJwtIssuer>(jwtIssuer); services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = false, ValidateAudience = false, ValidateLifetime = true, ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(securitySettings.EncryptionKey)) }; }); services .AddAuthorization(options => { options.DefaultPolicy = new AuthorizationPolicyBuilder(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser().Build(); }); services.AddCors(options => { options.AddPolicy("EnableCORS", builder => { builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials().Build(); }); }); services.AddMvc(config => { config.ReturnHttpNotAcceptable = true; }); services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { Title = Configuration["Swagger:Title"], Version = Configuration["Swagger:Version"], Description = Configuration["Swagger:Description"] }); options.AddSecurityDefinition("Bearer", new ApiKeyScheme { Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", In = "header", Type = "apiKey" }); options.IncludeXmlComments(string.Format(@"{0}/ShyneeBackend.Application.xml", AppDomain.CurrentDomain.BaseDirectory)); options.IncludeXmlComments(string.Format(@"{0}/ShyneeBackend.Domain.xml", AppDomain.CurrentDomain.BaseDirectory)); options.DescribeAllEnumsAsStrings(); }); }