Пример #1
0
        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));
        }
Пример #2
0
        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);
        }