コード例 #1
0
        public void TestCorrectHandicapReportLocated()
        {
            HandicapReport foundHandicapReport = playerScores.GetHandicapReport(new DateTime(2020, 02, 01));

            Assert.NotNull(foundHandicapReport);
            Assert.Equal("Shareholder Member", foundHandicapReport.MemberName);
            Assert.Equal(2, foundHandicapReport.LastUpdated.Month);
            Assert.Equal(2020, foundHandicapReport.LastUpdated.Year);
            Assert.Equal(5.9, foundHandicapReport.HandicapFactor);
            Assert.Equal(12.9, foundHandicapReport.Average);
            Assert.Equal(6.20, foundHandicapReport.BestOfTenAverage);
        }
コード例 #2
0
        public List <HandicapReport> GetHandicapReport(DateTime Time)
        {
            List <HandicapReport> handicapReport = new List <HandicapReport>();
            List <Member>         members        = new List <Member>();
            Members MemberManager = new Members();

            members = MemberManager.GetAllMember();
            foreach (Member member in members)
            {
                HandicapReport MemberReport = new HandicapReport();
                MemberReport.MemberNumber = member.MemberNumber;
                MemberReport.MemberName   = member.FirstName + ' ' + member.LastName;
                handicapReport.Add(MemberReport);
            }

            SqlConnection SampleConnection = new SqlConnection();

            SampleConnection.ConnectionString = connectionString;
            SampleConnection.Open();

            SqlCommand GetHandicapReport = new SqlCommand();

            GetHandicapReport.CommandType = CommandType.StoredProcedure;
            GetHandicapReport.Connection  = SampleConnection;
            GetHandicapReport.CommandText = "GetHandicapReport";
            GetHandicapReport.Parameters.AddWithValue("@Time", Time);

            SqlParameter returnCode = new SqlParameter();

            returnCode.ParameterName = "@ReturnCode";
            returnCode.Direction     = ParameterDirection.ReturnValue;
            returnCode.SqlDbType     = SqlDbType.Int;
            GetHandicapReport.Parameters.Add(returnCode);

            SqlDataReader DataReader;

            DataReader = GetHandicapReport.ExecuteReader();

            if (DataReader.HasRows)
            {
                while (DataReader.Read())
                {
                    for (int i = 0; i < handicapReport.Count; i++)
                    {
                        if (handicapReport[i].MemberNumber == DataReader["MemberNumber"].ToString() && handicapReport[i].Last20Rounds == null)
                        {
                            List <double> HandicapDifferentialList = new List <double>();
                            double        num = double.Parse(DataReader["HandicapDifferential"].ToString());
                            HandicapDifferentialList.Add(num);
                            handicapReport[i].Last20Rounds = HandicapDifferentialList;
                        }
                        else if (handicapReport[i].MemberNumber == DataReader["MemberNumber"].ToString())
                        {
                            handicapReport[i].Last20Rounds.Add(double.Parse(DataReader["HandicapDifferential"].ToString()));
                        }
                    }
                }
            }
            else
            {
                handicapReport = null;
            }
            SampleConnection.Close();
            return(handicapReport);
        }