Exemple #1
0
        private void ProcessInvBalances(
            List <int> usersFound,
            int monthsCnt,
            string startYearMonthStr)
        {
            foreach (var email in userEmails)
            {
                int custId = db.Users
                             .Where(u => u.Email == email)
                             .Select(u => u.Id)
                             .SingleOrDefault();

                if (custId != 0)
                {
                    usersFound.Add(custId);

                    SetDbMonthlyPortfolioLossesForTestPlayers(custId, monthsCnt, startYearMonthStr);
                }
            }

            DbUtil.DbSchema.GzRunTimeDb sqlProviderCtx;
            using (sqlProviderCtx = DbUtil.getOpenDb(devDbConnString))
            {
                var portfoliosPrices = GetPortfoliosPrices(startYearMonthStr, monthsCnt);

                UserTrx.processGzTrx(sqlProviderCtx, startYearMonthStr, portfoliosPrices, FSharpOption <string> .None);
            }
        }
Exemple #2
0
        private void ProcessInvBalances_1_through_4(int caseNo, List <int> usersFound, int monthsCnt, string currentYearMonthStr)
        {
            PortfolioTypes.PortfoliosPrices monthPortfoliosPrices = null;

            DbUtil.DbSchema.GzRunTimeDb sqlProviderCtx;
            using (sqlProviderCtx = DbUtil.getOpenDb(devDbConnString))
            {
                foreach (var email in userEmails)
                {
                    int userId = db.Users
                                 .Where(u => u.Email == email)
                                 .Select(u => u.Id)
                                 .SingleOrDefault();

                    if (userId != 0)
                    {
                        usersFound.Add(userId);

                        SetDbMonthlyPortfolioSelection(monthsCnt, userId, currentYearMonthStr);

                        SetDbMonthlyPlayerLossTrx_3_4(currentYearMonthStr, userId);

                        var userVintages = AssertUserVintagesCount(userId, monthsCnt);

                        monthPortfoliosPrices = GetPortfoliosPrices(currentYearMonthStr, monthsCnt);

                        SellVintages(caseNo, currentYearMonthStr, userVintages, userId);
                    }
                }

                // Process losses -> invbalance
                UserTrx.processGzTrx(sqlProviderCtx, currentYearMonthStr, monthPortfoliosPrices, FSharpOption <string> .None);
            }

            AssertAllUsersVintagesCountAfterMonthClearance(usersFound, monthsCnt + 1);
        }