public MemoryStream LoadMainExcel() { var billing = IocContainer.Get <IBillingManager>(); var settings = IocContainer.Get <ISettingsManager>(); var sins = billing.GetSinsInGame(); var result = new List <MainExcelDto>(); var ikarkoef = settings.GetDecimalValue(SystemSettingsEnum.ikar_k); var karmakoef = settings.GetDecimalValue(SystemSettingsEnum.karma_k); var inflationkoef = settings.GetDecimalValue(SystemSettingsEnum.pre_inflation); var lifestyle = BillingHelper.GetLifeStyleDto(); foreach (var sin in sins) { var allRents = billing.GetRentas(sin.Character.Model); decimal karma = 0; try { var eService = new EreminService(); karma = eService.GetCharacter(sin.Character.Model)?.workModel?.karma?.spent ?? 0; } catch (Exception e) { Console.WriteLine(e.ToString()); } var excelCharacter = new MainExcelDto { Balance = sin.Wallet.Balance, PersonName = sin.Passport?.PersonName, KarmaKoef = karmakoef, InflationKoef = inflationkoef, ScoringFix = sin.Scoring.CurrentFix, ScoringRelative = sin.Scoring.CurerentRelative, ModelId = sin.Character.Model.ToString(), LifeStyle = lifestyle.GetLifeStyle(sin.Wallet).ToString(), SumRents = allRents.Sum, Karma = karma }; result.Add(excelCharacter); } return(ExcelWriter.CreateExcelAsStream(result)); }
public BalanceDto GetBalance(int modelId) { var sin = GetSINByModelId(modelId, s => s.Wallet, s => s.Scoring, s => s.Passport.Metatype); var insur = GetInsurance(modelId, r => r.Sku); var lics = ProductTypeEnum.Licences.ToString(); var licences = GetList <Renta>(r => r.Sku.Nomenklatura.Specialisation.ProductType.Alias == lics && r.SinId == sin.Id, r => r.Sku.Nomenklatura) .OrderByDescending(r => r.DateCreated) .GroupBy(l => l.Sku.NomenklaturaId) .Select(g => g.FirstOrDefault()?.Sku?.Name) .ToList(); var lifestyle = BillingHelper.GetLifeStyleDto(); var balance = new BalanceDto(sin) { ModelId = modelId, LifeStyle = lifestyle.GetLifeStyle(sin.Wallet).ToString(), ForecastLifeStyle = lifestyle.GetForecastLifeStyle(sin.Wallet).ToString(), Insurance = insur?.Sku?.Name ?? "нет страховки", Licenses = licences }; return(balance); }