예제 #1
0
        public SummaryDataViewModel GetScotlandSummary(int month, int year)
        {
            SummaryData   dummy       = new SummaryData();
            List <string> exclussions = new List <string>();

            string[] cities = new string[2] {
                "aberdeen city", "glasgow city"
            };
            exclussions.Add("name");
            exclussions.Add("dataCode");
            exclussions.Add("type");
            dummy.name     = "Scotland";
            dummy.dataCode = "SC0000001";
            dummy.type     = "National";
            foreach (var prop in dummy.GetType().GetProperties())
            {
                if (!exclussions.Contains(prop.Name))
                {
                    prop.SetValue(dummy, 0);
                }
            }
            SummaryDataViewModel        allScotland = new SummaryDataViewModel(dummy);
            List <SummaryDataViewModel> allCouncils = new List <SummaryDataViewModel>();

            foreach (string city in cities)
            {
                var tempCouncilData = ByName(city);
                if (tempCouncilData != null)
                {
                    allCouncils.Add(tempCouncilData.GetSummaryDataForCouncil(month, year));
                }
            }
            foreach (SummaryDataViewModel council in allCouncils)
            {
                if (council != null)
                {
                    foreach (var prop in council.GetType().GetProperties())
                    {
                        if (prop.PropertyType == typeof(int))
                        {
                            prop.SetValue(allScotland, ((int)prop.GetValue(allScotland) + (int)prop.GetValue(council)));
                        }
                        if (prop.PropertyType == typeof(double))
                        {
                            prop.SetValue(allScotland, ((double)prop.GetValue(allScotland) + (double)prop.GetValue(council)));
                        }
                    }
                }
            }
            return(allScotland);
        }
예제 #2
0
        /// <summary>
        ///
        /// Get the summary user data converted to the user currency.
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="summaryDto"></param>
        /// <returns></returns>
        SummaryDataViewModel IInvestmentsApi.GetSummaryData(ApplicationUser user, UserSummaryDTO summaryDto)
        {
            var summaryDvm = new SummaryDataViewModel
            {
                InvestmentsBalance =
                    DbExpressions.RoundCustomerBalanceAmount(summaryDto.InvestmentsBalance),
                TotalInvestments =
                    DbExpressions.RoundCustomerBalanceAmount(summaryDto.TotalInvestments),
                TotalInvestmentsReturns =
                    DbExpressions.RoundCustomerBalanceAmount(summaryDto.TotalInvestmentsReturns),
                NextInvestmentOn     = DbExpressions.GetNextMonthsFirstWeekday(),
                LastInvestmentAmount =
                    DbExpressions.RoundCustomerBalanceAmount(summaryDto.LastInvestmentAmount),
                StatusAsOf           = summaryDto.StatusAsOf,
                LockInDays           = summaryDto.LockInDays,
                EligibleWithdrawDate = summaryDto.EligibleWithdrawDate,
                OkToWithdraw         = summaryDto.OkToWithdraw,
                Prompt   = summaryDto.Prompt,
                Vintages =
                    summaryDto
                    .Vintages
                    .Select(
                        t =>
                        mapper
                        .Map <VintageDto, VintageViewModel>(t))
                    .ToList(),
                BegGmBalance = Math.Round(summaryDto.BegGmBalance, 1),
                EndGmBalance = Math.Round(summaryDto.EndGmBalance, 1),
                Deposits     = Math.Round(summaryDto.Deposits, 1),
                GmGainLoss   = Math.Round(summaryDto.GmGainLoss, 1),
                Withdrawals  = Math.Round(summaryDto.Withdrawals, 1),
                CashBonus    = Math.Round(summaryDto.CashBonus, 1)
            };

            foreach (var vm in summaryDvm.Vintages)
            {
                vm.InvestmentAmount = DbExpressions.RoundCustomerBalanceAmount(vm.InvestmentAmount);
                vm.SellingValue     = DbExpressions.RoundCustomerBalanceAmount(vm.SellingValue);
            }

            return(summaryDvm);
        }
예제 #3
0
        public SummaryDataViewModel GetScotlandSummary(int month, int year)
        {
            SummaryData   dummy       = new SummaryData();
            List <string> exclussions = new List <string>();

            string[] cities = new string[2] {
                "Aberdeen City", "Glasgow City"
            };
            exclussions.Add("name");
            exclussions.Add("dataCode");
            exclussions.Add("type");
            dummy.name     = "Scotland";
            dummy.dataCode = "SC0000001";
            dummy.type     = "National";
            foreach (var prop in dummy.GetType().GetProperties())
            {
                if (!exclussions.Contains(prop.Name))
                {
                    prop.SetValue(dummy, 0);
                }
            }
            SummaryDataViewModel        allScotland = new SummaryDataViewModel(dummy);
            List <SummaryDataViewModel> allCouncils = new List <SummaryDataViewModel>();

            foreach (string city in cities)
            {
                allCouncils.Add(GetSummaryDataForCouncil <AberdeenSummary>(city, month, year));
            }
            foreach (SummaryDataViewModel council in allCouncils)
            {
                foreach (var prop in council.GetType().GetProperties())
                {
                    prop.SetValue(allScotland, ((double)prop.GetValue(allScotland) + (double)prop.GetValue(council)));// <--- Questionable code!!! Start from here
                }
            }
            return(allScotland);
        }