public static DbPull SqlInsertPull(DbPull saveItem) { using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString)) { SqlCommand cmd = new SqlCommand(@"INSERT INTO dbo.DB_PULL ( CALLER_NAME, PULLED_NAME, TEAM_ID, CHANNEL_ID, PULL_MESSAGE, PULL_DT ) VALUES ( @CallerName, @PulledName, @TeamId, @ChannelId, @PullMessage, @PullDate )", sqlConnection); cmd.Parameters.AddWithValue("@CallerName", saveItem.CallerName); cmd.Parameters.AddWithValue("@PulledName", saveItem.PulledName); cmd.Parameters.AddWithValue("@TeamId", saveItem.TeamId); cmd.Parameters.AddWithValue("@ChannelId", saveItem.ChannelId); cmd.Parameters.AddWithValue("@PullMessage", saveItem.PullMessage); cmd.Parameters.AddWithValue("@PullDate", saveItem.PullDate); sqlConnection.Open(); cmd.ExecuteNonQuery(); } return(saveItem); }
public static async Task EchoMessage(ConnectorClient connector, Activity activity) { if (activity.Type.Equals("message")) { var channelThing = activity.GetChannelData <TeamsChannelData>(); string messagyBoi = activity.GetTextWithoutMentions(); Activity reply = null; //If you get the super secret channel save data command if (messagyBoi.Equals("Yo save channel data")) { //Check to see whether we've already got it DbChannel existingChannel = ShuffleSQLHelper.SqlGetSingleChannel(channelThing.Channel.Id, channelThing.Team.Id); if (existingChannel != null) { reply = activity.CreateReply($"Nah fam, you already got data for Channel: {existingChannel.ChannelName}"); } else { //If you channel id matches the team id, you're in the autogenerate General if (channelThing.Channel.Id.Equals(channelThing.Team.Id)) { var addChannel = new DbChannel() { ChannelId = channelThing.Channel.Id, TeamId = channelThing.Team.Id, ChannelName = "General" }; ShuffleSQLHelper.SqlInsertChannel(addChannel); reply = activity.CreateReply($"Added data for Channel: {addChannel.ChannelName}"); } else { //We gotta get the channels and figure out which one we're in var convoList = connector.GetTeamsConnectorClient().Teams.FetchChannelList(channelThing.Team.Id); var currentChannel = convoList.Conversations.First(x => x.Id.Equals(channelThing.Channel.Id)); var addChannel = new DbChannel() { ChannelId = currentChannel.Id, TeamId = channelThing.Team.Id, ChannelName = currentChannel.Name }; ShuffleSQLHelper.SqlInsertChannel(addChannel); reply = activity.CreateReply($"Added data for Channel: {addChannel.ChannelName}"); } } } else if (messagyBoi.Equals("Yo save team data")) { DbTeam existingTeam = ShuffleSQLHelper.SqlGetSingleTeam(channelThing.Team.Id); if (existingTeam != null) { reply = activity.CreateReply($"Nah fam, you already got data for Team: {existingTeam.TeamName}"); } else { var teamInfo = connector.GetTeamsConnectorClient().Teams.FetchTeamDetails(channelThing.Team.Id); var addTeam = new DbTeam() { TeamId = teamInfo.Id, TeamName = teamInfo.Name }; ShuffleSQLHelper.SqlInsertTeam(addTeam); reply = activity.CreateReply($"Added data for Team: {addTeam.TeamName}"); } } else { var members = await connector.Conversations.GetConversationMembersAsync(activity.Conversation.Id); //var reply = activity.CreateReply($"The members are {string.Join("\n\n", members.Select(x => x.Name))}"); reply = activity.CreateReply($"Shuffles Deck... Pulls Card\n\n"); Random rnd = new Random(); int poorSoul = rnd.Next(members.Count); reply.AddMentionToText(members[poorSoul], MentionTextLocation.AppendText); var newPull = new DbPull() { CallerName = activity.From.Name, PulledName = members[poorSoul].Name, TeamId = channelThing.Team.Id, ChannelId = channelThing.Channel.Id, PullMessage = messagyBoi, PullDate = DateTime.UtcNow }; ShuffleSQLHelper.SqlInsertPull(newPull); } await connector.Conversations.ReplyToActivityWithRetriesAsync(reply); } }