Example #1
0
        /// <summary>
        /// Creates a Group as a new entry in the DB.
        /// </summary>
        /// <param name="group">Group object to add to the DB.</param>
        /// <returns>ID of the created Group on success, 0 on failure.</returns>
        public static int CreateNewGroup(Group group)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var groupData = new GroupDataProvider
                    {
                        name = group.Name,
                        description = group.Description,
                        owner_id = group.Owner.UserID,
                        green_score = group.GreenScore,
                        badge_score = group.ActivityScore.BadgeScore,
                        challenge_score = group.ActivityScore.ChallengeScore,
                        contest_score = group.ActivityScore.ContestScore,
                    };
                    data.GroupDataProviders.InsertOnSubmit(groupData);
                    data.SubmitChanges();

                    foreach (User member in group.Members) {
                        GroupMemberDataProvider memberData = new GroupMemberDataProvider
                        {
                            user_id = member.UserID,
                            group_id = groupData.id
                        };
                        data.GroupMemberDataProviders.InsertOnSubmit(memberData);
                    }

                    foreach (string tag in group.HashTags)
                    {
                        GroupHashtagDataProvider hashtagData = new GroupHashtagDataProvider
                        {
                            hashtag = tag,
                            group_id = groupData.id
                        };
                        data.GroupHashtagDataProviders.InsertOnSubmit(hashtagData);
                    }

                    data.SubmitChanges();
                    data.Connection.Close();
                    return groupData.id;
                }
            }
            catch (Exception)
            {
                return 0;
            }
        }
        /// <summary>
        /// Saves a privacy setting as a new entry in the DB.
        /// </summary>
        /// <param name="privacySetting">Privacy setting object to add to the DB.</param>
        /// <returns>ID of the created privacy setting on success, 0 on failure.</returns>
        public static int CreateNewPrivacySetting(PrivacySetting privacySetting)
        {
            try
            {
                int id;

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var privacySettingData = new PrivacySettingDataProvider
                    {
                        id = privacySetting.ID,
                        email = privacySetting.Email,
                        gender = privacySetting.Gender,
                        age = privacySetting.Age,
                        height = privacySetting.Height,
                        weight = privacySetting.Weight,
                        profile_visibility = (Byte)privacySetting.ProfileVisibility,
                        user_id = privacySetting.UserID
                    };

                    data.PrivacySettingDataProviders.InsertOnSubmit(privacySettingData);
                    data.SubmitChanges();

                    id = privacySettingData.id;
                }

                return id;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #3
0
        /// <summary>
        /// Creates a new DB entry for a team member.
        /// </summary>
        /// <param name="teamMember">Member to be added to the DB.</param>
        /// <param name="teamId">Team ID that the member should be added to.</param>
        /// <returns>ID of the newly added Team Member entry on success, 0 on failure.</returns>
        public static int CreateNewTeamMember(ContestTeamMember teamMember, int teamId)
        {
            try
            {
                int contestId = TeamDAO.GetContestIdFromTeamId(teamId);

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    if (TeamDAO.UserCompetingInContest(teamMember.UserId, contestId)) { throw new Exception("User is already competing in the contest"); }

                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var userData = new TeamMemberDataProvider
                    {
                        contest_id = contestId,
                        team_id = teamId,
                        user_id = teamMember.UserId,
                        score = teamMember.Score,
                        initialized = teamMember.Initialized,
                        initial_score = teamMember.InitialScore
                    };
                    data.TeamMemberDataProviders.InsertOnSubmit(userData);
                    data.SubmitChanges();
                    return userData.id;
                }
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #4
0
        /// <summary>
        /// Saves a Team as a new entry in the DB.
        /// </summary>
        /// <param name="team">Team object to add to the DB.</param>
        /// <returns>ID of the created team on success, 0 on failure.</returns>
        public static int CreateNewTeam(Team team, int contestId)
        {
            try
            {
                int id;

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var teamData = new TeamDataProvider
                    {
                        name = team.Name,
                        score = team.Score,
                        contest_id = contestId
                    };
                    data.TeamDataProviders.InsertOnSubmit(teamData);
                    data.SubmitChanges();

                    id = teamData.id;
                }

                UpdateTeamMembers(team);

                return id;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #5
0
        /// <summary>
        /// Adds a new Carpool to the database.
        /// </summary>
        /// <param name="carpool">Carpool to add to the database.</param>
        /// <returns>Primary Key (ID) of the newly added Carpool.</returns>
        public static int AddCarpool(Carpool carpool, out string errorMessage)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    errorMessage = String.Empty;

                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var carpoolData = new CarpoolDataProvider
                    {
                        start = carpool.Start,
                        destination = carpool.Destination,
                        time = carpool.Time,
                        seats_available = carpool.SeatsAvailable,
                        comments = carpool.Comments,
                        user_id = carpool.UserId
                    };

                    data.CarpoolDataProviders.InsertOnSubmit(carpoolData);
                    data.SubmitChanges();

                    return carpoolData.id;
                }
            }
            catch (Exception e)
            {
                errorMessage = e.Message;
                return 0;
            }
        }
Example #6
0
 /// <summary>
 /// Saves a challenge as a new entry in the DB.
 /// </summary>
 /// <param name="challenge">Challenge object to add to the DB.</param>
 /// <returns>ID of the created challenge on success, 0 on failure.</returns>
 public static int CreateNewChallenge(Challenge challenge)
 {
     try
     {
         using (SqlConnection connection = ConnectionManager.GetConnection())
         {
             var data = new ActivEarthDataProvidersDataContext(connection);
             var challengeData = new ChallengeDataProvider
                 {
                     name = challenge.Name,
                     description = challenge.Description,
                     reward = challenge.Reward,
                     requirement = challenge.Requirement,
                     persistent = challenge.IsPersistent,
                     end_time = challenge.EndTime,
                     duration_days = challenge.Duration.Days,
                     statistic = (byte)challenge.StatisticBinding,
                     active = challenge.IsActive,
                     image_path = challenge.ImagePath
                 };
             data.ChallengeDataProviders.InsertOnSubmit(challengeData);
             data.SubmitChanges();
             return challengeData.id;
         }
     }
     catch (Exception)
     {
         return 0;
     }
 }
Example #7
0
        /// <summary>
        /// Saves a Team as a new entry in the DB.
        /// </summary>
        /// <param name="team">Team object to add to the DB.</param>
        /// <returns>ID of the created team on success, 0 on failure.</returns>
        public static int CreateNewTeam(ContestTeam team)
        {
            try
            {
                int id;

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var teamData = new TeamDataProvider
                    {
                        name = team.Name,
                        score = team.Score,
                        contest_id = team.ContestId,
                        locked = team.IsLocked,
                        group_id = team.GroupId,
                        bracket = team.Bracket
                    };
                    data.TeamDataProviders.InsertOnSubmit(teamData);
                    data.SubmitChanges();

                    id = teamData.id;
                }

                TeamDAO.UpdateTeamMembers(team);

                return id;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #8
0
        /// <summary>
        /// Saves a user statistic as a new entry in the DB.
        /// </summary>
        /// <param name="userId">User to create stat for.</param>
        /// <param name="statType">Statistic type to create.</param>
        /// <param name="val">Value of the statistic.</param>
        /// <returns>ID of the created statistic on success, 0 on failure.</returns>
        public static int CreateNewStatisticForUser(int userId, Statistic statType, float val)
        {
            try
            {
                int id;

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var statisticData = new UserStatisticDataProvider
                    {
                        user_id = userId,
                        value = val,
                        statistic_type = (byte)statType
                    };

                    data.UserStatisticDataProviders.InsertOnSubmit(statisticData);
                    data.SubmitChanges();

                    id = statisticData.id;
                }

                return id;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #9
0
        /// <summary>
        /// Adds a new Route to the database.
        /// </summary>
        /// <param name="route">Route to add to the database.</param>
        /// <returns>Primary Key (ID) of the newly added Route.</returns>
        public static int AddNewRoute(Route route, out string errorMessage)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    errorMessage = String.Empty;

                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var routeData = new ActiveRouteDataProvider
                    {
                        gmt_offset = route.GMTOffset,
                        distance = route.Distance,
                        end_latitude = route.EndLatitude,
                        end_longitude = route.EndLongitude,
                        end_time = route.EndTime,
                        mode = route.Mode,
                        points = route.Points,
                        start_latitude = route.StartLatitude,
                        start_longitude = route.StartLongitude,
                        start_time = route.StartTime,
                        steps = route.Steps,
                        type = route.Type,
                        user_id = route.UserId
                    };

                    data.ActiveRouteDataProviders.InsertOnSubmit(routeData);
                    data.SubmitChanges();

                    if (routeData.id > 0)
                    {
                        ActiveRouteDAO.ProcessRoute(route);
                    }

                    return routeData.id;
                }
            }
            catch (Exception e)
            {
                errorMessage = e.Message;
                return 0;
            }
        }
Example #10
0
        public static bool CreateNewUser(User user, string password)
        {
            try
            {

            using (SqlConnection connection = ConnectionManager.GetConnection())
            {
                var data = new ActivEarthDataProvidersDataContext(connection);
                var userData = new UserDataProvider {password = password, user_name = user.UserName,};
                data.UserDataProviders.InsertOnSubmit(userData);
                data.SubmitChanges();
                return true;

            }
            }
            catch (Exception)
            {

                return false;
            }
        }
Example #11
0
        /// <summary>
        /// Adds a new Recycle Center to the database.
        /// </summary>
        /// <param name="center">Recycle Center to add to the database.</param>
        /// <returns>Primary Key (ID) of the newly added Recycle Center.</returns>
        public static int AddRecycleCenter(RecycleCenter center, out string errorMessage)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    errorMessage = String.Empty;

                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var centerData = new RecyclingCenterDataProvider
                    {
                        location = center.Location,
                        comments = center.Comments,
                        automotive = center.Automotive,
                        electronics = center.Electronics,
                        construction = center.Construction,
                        batteries = center.Batteries,
                        garden = center.Garden,
                        glass = center.Glass,
                        hazardous = center.Hazardous,
                        household = center.Household,
                        metal = center.Metal,
                        paint = center.Paint,
                        paper = center.Paper,
                        plastic = center.Plastic,
                        user_id = center.UserId
                    };

                    data.RecyclingCenterDataProviders.InsertOnSubmit(centerData);
                    data.SubmitChanges();

                    return centerData.id;
                }
            }
            catch (Exception e)
            {
                errorMessage = e.Message;
                return 0;
            }
        }
Example #12
0
        /// <summary>
        /// Saves a contest as a new entry in the DB.
        /// </summary>
        /// <param name="contest">Contest object to add to the DB.</param>
        /// <returns>ID of the created contest on success, 0 on failure.</returns>
        public static int CreateNewContest(Contest contest)
        {
            try
            {
                int id;

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var contestData = new ContestDataProvider
                    {
                        name = contest.Name,
                        description = contest.Description,
                        points = contest.Points,
                        end_mode = (byte)contest.Mode,
                        end_goal = contest.EndCondition.EndValue,
                        end_time = contest.EndCondition.EndTime,
                        start = contest.StartTime,
                        type = (byte)contest.Type,
                        statistic = (byte)contest.StatisticBinding,
                    };
                    data.ContestDataProviders.InsertOnSubmit(contestData);
                    data.SubmitChanges();

                    id = contestData.id;
                }

                foreach (Team team in contest.Teams)
                {
                    //TeamDAO.CreateNewTeam(team, contest.ID);
                }

                return id;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #13
0
 /// <summary>
 /// Creates a new user initialization entry for a challenge.
 /// </summary>
 /// <param name="challengeId">ID of the challenge the user is participating in.</param>
 /// <param name="userId">ID of the user being initialized.</param>
 /// <param name="value">Current value of the relevant statistic for the challenge.</param>
 /// <returns></returns>
 public static bool CreateInitializationEntry(int challengeId, int userId, float value)
 {
     try
     {
         using (SqlConnection connection = ConnectionManager.GetConnection())
         {
             var data = new ActivEarthDataProvidersDataContext(connection);
             var challengeData = new ChallengeInitializationDataProvider
             {
                 challenge_id = challengeId,
                 user_id = userId,
                 value = value
             };
             data.ChallengeInitializationDataProviders.InsertOnSubmit(challengeData);
             data.SubmitChanges();
             return (challengeData.id > 0);
         }
     }
     catch (Exception)
     {
         return false;
     }
 }
Example #14
0
 /// <summary>
 /// Saves a badge as a new entry in the DB.
 /// </summary>
 /// <param name="badge">Badge object to add to the DB.</param>
 /// <returns>ID of the created badge on success, 0 on failure.</returns>
 public static int CreateNewBadge(Badge badge)
 {
     try
     {
         using (SqlConnection connection = ConnectionManager.GetConnection())
         {
             var data = new ActivEarthDataProvidersDataContext(connection);
             var badgeData = new BadgeDataProvider
             {
                 user_id = badge.UserID,
                 badge_level = (byte)badge.Level,
                 progress = (byte)badge.Progress,
                 statistic = (byte)badge.StatisticBinding
             };
             data.BadgeDataProviders.InsertOnSubmit(badgeData);
             data.SubmitChanges();
             return badgeData.id;
         }
     }
     catch (Exception)
     {
         return 0;
     }
 }
Example #15
0
 /// <summary>
 /// Creates a new DB entry for a team member.
 /// </summary>
 /// <param name="teamMember">Member to be added to the DB.</param>
 /// <param name="teamId">Team ID that the member should be added to.</param>
 /// <returns>ID of the newly added Team Member entry on success, 0 on failure.</returns>
 public static int CreateNewTeamMember(TeamMember teamMember, int teamId)
 {
     try
     {
         using (SqlConnection connection = ConnectionManager.GetConnection())
         {
             var data = new ActivEarthDataProvidersDataContext(connection);
             var userData = new TeamMemberDataProvider
             {
                 team_id = (int)teamId,
                 user_id = (int)teamMember.User.UserID,
                 initialized = teamMember.Initialized,
                 initial_score = teamMember.InitialScore
             };
             data.TeamMemberDataProviders.InsertOnSubmit(userData);
             data.SubmitChanges();
             return userData.id;
         }
     }
     catch (Exception)
     {
         return 0;
     }
 }
Example #16
0
        /// <summary>
        /// Updates an existing Contest in the DB.
        /// </summary>
        /// <param name="contest">Contest whose record needs updating.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool UpdateContest(Contest contest)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    ContestDataProvider dbContest =
                        (from c in data.ContestDataProviders where c.id == contest.ID select c).FirstOrDefault();
                    if (dbContest != null)
                    {
                        dbContest.name = contest.Name;
                        dbContest.description = contest.Description;
                        dbContest.reward = contest.Reward;
                        dbContest.end_mode = (byte)contest.Mode;
                        dbContest.end_goal = contest.EndValue;
                        dbContest.end_time = contest.EndTime;
                        dbContest.start = contest.StartTime;
                        dbContest.type = (byte)contest.Type;
                        dbContest.statistic = (byte)contest.StatisticBinding;
                        dbContest.searchable = contest.IsSearchable;
                        dbContest.active = contest.IsActive;
                        dbContest.deactivated = contest.DeactivatedTime;
                        dbContest.creator_id = contest.CreatorId;

                        data.SubmitChanges();
                    }
                    else
                    {
                        return false;
                    }
                }

                if (contest != null)
                {
                    foreach (ContestTeam team in contest.Teams)
                    {
                        TeamDAO.UpdateTeam(team);
                    }
                }

                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #17
0
        /// <summary>
        /// Removes contests from the DB that have were deactivated more than two weeks ago.
        /// </summary>
        /// <returns></returns>
        public static bool RemoveOldContests()
        {
            int daysToExpire = 14;

            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    List<ContestDataProvider> dbContests =
                        (from c in data.ContestDataProviders
                         where
                             (c.deactivated != null &&
                             c.deactivated.Value.Subtract(DateTime.Now) > new TimeSpan(daysToExpire, 0, 0, 0))
                         select c).ToList();

                    foreach (ContestDataProvider dbContest in dbContests)
                    {
                        data.ContestDataProviders.DeleteOnSubmit(dbContest);
                        data.SubmitChanges();
                    }

                    return true;
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #18
0
        /// <summary>
        /// Deletes an existing Contest from the DB.
        /// </summary>
        /// <param name="contestId">ID for the Contest whose record needs to be removed.</param>
        /// <returns>True on success (or the contest didn't exist), false on failure.</returns>
        public static bool RemoveContestFromContestId(int contestId)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    ContestDataProvider dbContest =
                        (from c in data.ContestDataProviders where c.id == contestId select c).FirstOrDefault();
                    if (dbContest != null)
                    {
                        data.ContestDataProviders.DeleteOnSubmit(dbContest);
                        data.SubmitChanges();
                    }

                    return true;
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #19
0
        /// <summary>
        /// Updates a Group's the list of Recent Acitivity Messages in the Database.
        /// </summary>
        /// <param name="group">The Group for which to update Recent Activity Messages</param>
        public static bool UpdateGroupRecentActivity(Group group)
        {
            int groupId = group.ID;
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    List<MessageDataProvider> messages = (from m in data.MessageDataProviders
                                                where m.group_id == groupId
                                                select
                                                    m
                                                ).ToList();

                    foreach (MessageDataProvider messageData in messages)
                    {
                        bool found = false;
                        foreach (Message message in group.Wall.Messages)
                        {
                            if (messageData.message == message.Text && messageData.user_id == message.Poster.UserID
                                && messageData.title == message.Title && messageData.time == message.Time && messageData.date == message.Date)
                            {
                                found = true;
                            }
                        }
                        if (!found)
                        {
                            data.MessageDataProviders.DeleteOnSubmit(messageData);
                        }
                    }

                    foreach (Message message in group.Wall.Messages)
                    {
                        bool found = false;
                        foreach (MessageDataProvider messageData in messages)
                        {
                            if (messageData.message == message.Text && messageData.user_id == message.Poster.UserID
                                && messageData.title == message.Title && messageData.time == message.Time && messageData.date == message.Date)
                            {
                                found = true;
                            }
                        }
                        if (!found)
                        {
                            MessageDataProvider messageData = new MessageDataProvider
                            {
                                title = message.Title,
                                message = message.Text,
                                user_id = message.Poster.UserID,
                                group_id = groupId,
                                date = message.Date,
                                time = message.Time
                            };
                            data.MessageDataProviders.InsertOnSubmit(messageData);
                        }
                    }

                    data.SubmitChanges();
                    return true;
                }
            }
            catch(Exception)
            {
                return false;
            }
        }
Example #20
0
        /// <summary>
        /// Updates the entry of any members already existing on the team, and creates
        /// new entries for new members of the team.
        /// </summary>
        /// <param name="team">Team whose members must be updated.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool UpdateTeamMembers(ContestTeam team)
        {
            try
            {
                foreach (ContestTeamMember user in team.Members)
                {

                    using (SqlConnection connection = ConnectionManager.GetConnection())
                    {
                        var data = new ActivEarthDataProvidersDataContext(connection);

                        var dbUser =
                            (from u in data.TeamMemberDataProviders
                             where u.team_id == team.ID && u.user_id == user.UserId
                             select u).FirstOrDefault();
                        if (dbUser != null)
                        {
                            dbUser.score = user.Score;
                            dbUser.initial_score = user.InitialScore;
                            dbUser.initialized = user.Initialized;

                            data.SubmitChanges();
                        }
                        else
                        {
                            if (CreateNewTeamMember(user, team.ID) == 0)
                            {
                                return false;
                            }
                        }
                    }
                }

                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #21
0
        /// <summary>
        /// Removes all team member entries pertaining to a given team.
        /// </summary>
        /// <param name="teamId">Team to remove the members from.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool RemoveTeamMembersFromTeamId(int teamId)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var members = (from c in data.TeamMemberDataProviders
                                  where c.team_id == teamId
                                  select c).ToList();

                    foreach (TeamMemberDataProvider member in members)
                    {
                        data.TeamMemberDataProviders.DeleteOnSubmit(member);
                        data.SubmitChanges();
                    }
                    return true;

                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #22
0
        /// <summary>
        /// Updates an existing PrivacySetting in the DB.
        /// </summary>
        /// <param name="privacySetting">PrivacySetting whose record needs updating.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool UpdatePrivacySetting(PrivacySetting privacySetting)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    PrivacySettingDataProvider dbPrivacySetting =
                        (from p in data.PrivacySettingDataProviders where p.id == privacySetting.ID select p).FirstOrDefault();

                    if (dbPrivacySetting != null)
                    {
                        dbPrivacySetting.email = privacySetting.Email;
                        dbPrivacySetting.gender = privacySetting.Gender;
                        dbPrivacySetting.age = privacySetting.Age;
                        dbPrivacySetting.height = privacySetting.Height;
                        dbPrivacySetting.weight = privacySetting.Weight;
                        dbPrivacySetting.profile_visibility = (Byte)privacySetting.ProfileVisibility;

                        data.SubmitChanges();
                    }
                    else
                    {
                        return false;
                    }
                }

                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #23
0
        /// <summary>
        /// Deletes an existing PrivacySetting from the DB.
        /// </summary>
        /// <param name="privacySettingId">ID for the PrivacySetting whose record needs to be removed.</param>
        /// <returns>True on success (or the privacy setting didn't exist), false on failure.</returns>
        public static bool RemovePrivacySettingFromPrivacySettingId(int privacySettingId)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    PrivacySettingDataProvider dbPrivacySetting =
                        (from p in data.PrivacySettingDataProviders where p.id == privacySettingId select p).FirstOrDefault();

                    if (dbPrivacySetting != null)
                    {
                        data.PrivacySettingDataProviders.DeleteOnSubmit(dbPrivacySetting);
                        data.SubmitChanges();
                    }

                    return true;
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #24
0
        /// <summary>
        /// Removes an existing Team from the DB.
        /// </summary>
        /// <param name="team">Team to remove.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool RemoveTeam(int teamId)
        {
            try
            {
                TeamDAO.RemoveTeamMembersFromTeamId(teamId);

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    TeamDataProvider dbTeam =
                        (from c in data.TeamDataProviders where c.id == teamId select c).FirstOrDefault();
                    if (dbTeam != null)
                    {
                        data.TeamDataProviders.DeleteOnSubmit(dbTeam);
                        data.SubmitChanges();
                    }

                    return true;
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #25
0
        /// <summary>
        /// Removes a team member DB entry.
        /// </summary>
        /// <param name="userId">User to remove.</param>
        /// <param name="contestId">Contest to remove the user from.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool RemoveTeamMemberFromUserIdAndContestId(int userId, int contestId)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var member = (from c in data.TeamMemberDataProviders
                                  where c.user_id == userId && c.contest_id == contestId
                                  select c).FirstOrDefault();

                    if (member != null)
                    {
                        data.TeamMemberDataProviders.DeleteOnSubmit(member);
                        data.SubmitChanges();
                        return true;
                    }
                    else
                    {
                        return false;
                    }

                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #26
0
        public static bool UpdateUserProfile(User user)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    ProfileDataProvider profile =
                        (from p in data.ProfileDataProviders where p.user_id == user.UserID select p).FirstOrDefault();
                    if (profile != null)
                    {
                        profile.first_name = user.FirstName;
                        profile.last_name = user.LastName;
                        profile.gender = user.Gender;
                        profile.city = user.City;
                        profile.state = user.State;
                        profile.email = user.Email;
                        profile.age = user.Age;
                        profile.height = user.Height;
                        profile.weight = user.Weight;

                        data.SubmitChanges();
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #27
0
        /// <summary>
        /// Updates an existing Team in the DB.
        /// </summary>
        /// <param name="team">Team whose record needs updating.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool UpdateTeam(ContestTeam team)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    TeamDataProvider dbTeam =
                        (from c in data.TeamDataProviders where c.id == team.ID select c).FirstOrDefault();
                    if (dbTeam != null)
                    {
                        dbTeam.name = team.Name;
                        dbTeam.score = team.Score;
                        dbTeam.locked = team.IsLocked;
                        dbTeam.group_id = team.GroupId;
                        dbTeam.contest_id = team.ContestId;
                        dbTeam.bracket = team.Bracket;

                        data.SubmitChanges();
                        UpdateTeamMembers(team);
                        return true;
                    }
                    else
                    {
                        CreateNewTeam(team);
                        return true;
                    }
                }
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #28
0
        /// <summary>
        /// Saves a contest as a new entry in the DB.
        /// </summary>
        /// <param name="contest">Contest object to add to the DB.</param>
        /// <returns>ID of the created contest on success, 0 on failure.</returns>
        public static int CreateNewContest(Contest contest)
        {
            try
            {
                int id;

                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    var contestData = new ContestDataProvider
                    {
                        name = contest.Name,
                        description = contest.Description,
                        reward = contest.Reward,
                        end_mode = (byte)contest.Mode,
                        end_goal = contest.EndValue,
                        end_time = contest.EndTime,
                        start = contest.StartTime,
                        type = (byte)contest.Type,
                        statistic = (byte)contest.StatisticBinding,
                        searchable = contest.IsSearchable,
                        active = contest.IsActive,
                        deactivated = contest.DeactivatedTime,
                        creator_id = contest.CreatorId
                    };
                    data.ContestDataProviders.InsertOnSubmit(contestData);
                    data.SubmitChanges();

                    id = contestData.id;
                }

                foreach (ContestTeam team in contest.Teams)
                {
                    TeamDAO.CreateNewTeam(team);
                }

                return id;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #29
0
 public static bool UpdatePassword(string password, int userId)
 {
     try
     {
         using (SqlConnection connection = ConnectionManager.GetConnection())
         {
             var data = new ActivEarthDataProvidersDataContext(connection);
             var user = (from u in data.UserDataProviders
                         where u.id == userId
                         select u).FirstOrDefault();
             if (user != null)
             {
                 user.password = password;
                 data.SubmitChanges();
                 return true;
             }
             return false;
         }
     }
     catch (Exception)
     {
         return false;
     }
 }
Example #30
0
        /// <summary>
        /// Updates an existing Challenge in the DB.
        /// </summary>
        /// <param name="challenge">Challenge whose record needs updating.</param>
        /// <returns>True on success, false on failure.</returns>
        public static bool UpdateChallenge(Challenge challenge)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    ChallengeDataProvider dbChallenge =
                        (from c in data.ChallengeDataProviders where c.id == challenge.ID select c).FirstOrDefault();
                    if (dbChallenge != null)
                    {
                        dbChallenge.name = challenge.Name;
                        dbChallenge.description = challenge.Description;
                        dbChallenge.reward = challenge.Reward;
                        dbChallenge.requirement = challenge.Requirement;
                        dbChallenge.persistent = challenge.IsPersistent;
                        dbChallenge.end_time = challenge.EndTime;
                        dbChallenge.duration_days = challenge.Duration.Days;
                        dbChallenge.statistic = (byte)challenge.StatisticBinding;
                        dbChallenge.active = challenge.IsActive;
                        dbChallenge.image_path = challenge.ImagePath;

                        data.SubmitChanges();
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            catch (Exception)
            {
                return false;
            }
        }