public static User UpdateUser(User user)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "UserId",
                    Value         = user.UserId
                },
                new SqlParameter
                {
                    ParameterName = "Email",
                    Value         = user.Email
                },
                new SqlParameter
                {
                    ParameterName = "Password",
                    Value         = user.Password
                },
                new SqlParameter
                {
                    ParameterName = "FirstName",
                    Value         = user.FirstName
                },
                new SqlParameter
                {
                    ParameterName = "Surname",
                    Value         = user.Surname
                }
            };

            var dataTable = DatabaseCommon.PerformAction("UpdateUser", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, PopulateUser));
        }
Beispiel #2
0
        public static List <Achievement> RetrieveAvailableAchievements(int userId, int tagId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "userId",
                    Value         = userId
                },
                new SqlParameter
                {
                    ParameterName = "tagId",
                    Value         = tagId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetNewAchievements", parameters);

            if (dataTable == null || dataTable.Rows.Count == 0)
            {
                return(null);
            }

            var result = PopulateAchievements(dataTable);

            foreach (var achievement in result)
            {
                CreateUserAchievement(achievement.AchievementId, userId);
            }

            return(result);
        }
Beispiel #3
0
        public static Tag RetrieveTag(Guid UUID, int majorNumber, int minorNumber)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "UUID",
                    Value         = UUID
                },
                new SqlParameter
                {
                    ParameterName = "majorNumber",
                    Value         = majorNumber
                },
                new SqlParameter
                {
                    ParameterName = "minorNumber",
                    Value         = minorNumber
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetTagForUUIDMajorAndMinorNumber", parameters);

            return(dataTable != null && dataTable.Rows.Count > 0 ? PopulateTag(dataTable.Rows[0]) : null);
        }
        public static Transaction CreateTransaction(int userId, int points, TransactionType transactionTypeId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "userId",
                    Value         = userId
                },
                new SqlParameter
                {
                    ParameterName = "points",
                    Value         = points
                },
                new SqlParameter
                {
                    ParameterName = "transactionTypeId",
                    Value         = transactionTypeId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("AddTransaction", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, PopulateTransaction));
        }
Beispiel #5
0
        public static bool CheckTagIsNotWithinTimeout(int userId, int tagId, int tagLockTime)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "UserId",
                    Value         = userId
                },
                new SqlParameter
                {
                    ParameterName = "tagId",
                    Value         = tagId
                },
                new SqlParameter
                {
                    ParameterName = "tagLockTime",
                    Value         = tagLockTime
                }
            };

            var dataTable = DatabaseCommon.PerformAction("CheckTagRegsterValid", parameters);

            return(dataTable == null || dataTable.Rows.Count > 0);
        }
Beispiel #6
0
        public static bool InvalidateSession(Guid sessionId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("sessionId", sessionId)
            };

            var dataTable = DatabaseCommon.PerformAction("InvalidateSessionForId", parameters);

            return(dataTable.Rows[0].Field <int>("SessionWasValid") == 1);
        }
Beispiel #7
0
        public static Session RetrieveSession(Guid sessionId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("sessionId", sessionId)
            };

            var dataTable = DatabaseCommon.PerformAction("GetSessionForId", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, PopulateSession));
        }
        public static User RetrieveUser(int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("userId", userId)
            };

            var dt = DatabaseCommon.PerformAction("GetUserForUserId", parameters);

            return(DatabaseCommon.ConvertRow(dt, PopulateUser));
        }
        public static int RetrieveUserRanking(int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("userId", userId)
            };

            var dataTable = DatabaseCommon.PerformAction("GetUserRanking", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, (row) => row.Field <int>("Ranking")));
        }
Beispiel #10
0
        public static Hire RetrieveSingleHire(int hireId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("hireId", hireId)
            };

            var dataTable = DatabaseCommon.PerformAction("GetSingleHireForHireId", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, Hire.FromDataRow));
        }
Beispiel #11
0
        public static Hire RetrieveSingleHire(string bookingReference)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("bookingReference", bookingReference)
            };

            var dataTable = DatabaseCommon.PerformAction("GetSingleHireForBookingReference", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, Hire.FromDataRow));
        }
Beispiel #12
0
        public static IList <LeaderboardEntry> RetrieveTopLeaderboard(int rowCount, int?currentUserId = null)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("rowCount", rowCount),
                new SqlParameter("userId", currentUserId)
            };

            var dataTable = DatabaseCommon.PerformAction("GetTopLeaderboardInfo", parameters);

            return(DatabaseCommon.ConvertTable(dataTable, LeaderboardEntry.FromDataRow));
        }
Beispiel #13
0
        public static Hire SetEndMileage(int hireId, int endMileage)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("hireId", hireId),
                new SqlParameter("mileage", endMileage)
            };

            var dt = DatabaseCommon.PerformAction("UpdateHireFinalMileage", parameters);

            return(DatabaseCommon.ConvertRow(dt, Hire.FromDataRow));
        }
Beispiel #14
0
        public static User UpdatePassword(int userId, string userPassword)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("userId", userId),
                new SqlParameter("password", userPassword)
            };

            var dt = DatabaseCommon.PerformAction("UpdateUserPassword", parameters);

            return(DatabaseCommon.ConvertRow(dt, PopulateUser));
        }
Beispiel #15
0
        public static IList <LeaderboardEntry> RetrieveLocalLeaderboard(int userId, int locality = 2)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("userId", userId),
                new SqlParameter("locality", locality)
            };

            var dataTable = DatabaseCommon.PerformAction("GetLocalLeaderboardInfo", parameters);

            return(DatabaseCommon.ConvertTable(dataTable, LeaderboardEntry.FromDataRow));
        }
Beispiel #16
0
        public static User CreateUser(string emailAddress, string firstName, string surname)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("emailAddress", emailAddress),
                new SqlParameter("firstName", firstName),
                new SqlParameter("surname", surname)
            };

            var dt = DatabaseCommon.PerformAction("CreateNewUser", parameters);

            return(DatabaseCommon.ConvertRow(dt, PopulateUser));
        }
Beispiel #17
0
        public static Hire CreateHire(int userId, string bookingReference, DateTime hireEndDate, int startMileage)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter("userId", userId),
                new SqlParameter("bookingReference", bookingReference),
                new SqlParameter("hireEndDate", hireEndDate == DateTime.MinValue ? DBNull.Value : (object)hireEndDate),
                new SqlParameter("startMileage", startMileage)
            };

            var dt = DatabaseCommon.PerformAction("CreateNewHire", parameters);

            return(DatabaseCommon.ConvertRow(dt, Hire.FromDataRow));
        }
Beispiel #18
0
        public static Session CreateSession(int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "UserId",
                    Value         = userId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("AddSession", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, PopulateSession));
        }
Beispiel #19
0
        public static User RetrieveUser(string email)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "email",
                    Value         = email
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetUserForEmail", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, PopulateUser));
        }
Beispiel #20
0
        public static User RetrieveUser(Guid sessionId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "SessionId",
                    Value         = sessionId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetUserForSessionId", parameters);

            return(DatabaseCommon.ConvertRow(dataTable, PopulateUser));
        }
        public static TagType RetrieveTagType(int tagTypeId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "TagTypeId",
                    Value         = tagTypeId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetTagTypeForTageTypeId", parameters);

            return(dataTable != null && dataTable.Rows.Count > 0 ? PopulateTagType(dataTable.Rows[0]) : null);
        }
Beispiel #22
0
        public static List <Achievement> RetrieveOutstandingUserAchievements(int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "userId",
                    Value         = userId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetOutstandingAchievementsForUserId", parameters);

            return(dataTable != null && dataTable.Rows.Count > 0 ? PopulateAchievements(dataTable) : null);
        }
Beispiel #23
0
        public static void CreateUserAchievement(int achievementId, int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "achievementId",
                    Value         = achievementId
                },
                new SqlParameter
                {
                    ParameterName = "userId",
                    Value         = userId
                }
            };

            DatabaseCommon.PerformAction("AddUserAchievement", parameters);
        }
        public static List <Transaction> RetrieveXTransactionsForUser(int count, int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "count",
                    Value         = count
                },
                new SqlParameter
                {
                    ParameterName = "userId",
                    Value         = userId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetXTransactionsForUser", parameters);

            return(dataTable != null && dataTable.Rows.Count > 0 ? PopulateTransactionList(dataTable) : new List <Transaction>());
        }
        public static Transaction CreateTransactionForUserAndTag(int userId, int points, int tagId, TransactionType transactionTypeId)
        {
            var transaction = CreateTransaction(userId, points, transactionTypeId);

            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "tagId",
                    Value         = tagId
                },
                new SqlParameter
                {
                    ParameterName = "transactionId",
                    Value         = transaction.TransactionId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("AddTransactionTag", parameters);

            return(dataTable != null && dataTable.Rows.Count > 0 ? PopulateTransaction(dataTable.Rows[0]) : null);
        }
        public static int GetUsersUsablePoints(int userId)
        {
            var parameters = new List <SqlParameter>
            {
                new SqlParameter
                {
                    ParameterName = "userId",
                    Value         = userId
                }
            };

            var dataTable = DatabaseCommon.PerformAction("GetUsersUsablePoints", parameters);

            var usablePoints = 0;

            if (dataTable != null && dataTable.Rows.Count > 0)
            {
                usablePoints = dataTable.Rows[0].Field <int>("Points");
            }

            return(usablePoints);
        }
Beispiel #27
0
        public static IList <Hire> RetrieveAllHires()
        {
            var dataTable = DatabaseCommon.PerformAction("GetAllHires", null);

            return(DatabaseCommon.ConvertTable(dataTable, Hire.FromDataRow));
        }