public ActionResult CreateClass() { var idid = User.Identity.GetUserId(); User user = db.Users.Where(a => a.IdentityID == idid).FirstOrDefault(); ViewBag.RequestMethod = "POST"; string name = Request.Form["name"]; string desc = Request.Form["description"]; string sub = Request.Form["subject"]; //get the value of slackChoice Boolean slackOption = Convert.ToBoolean(Request.Form["slackChoice"].ToString()); //slack channel name, if no channel/name is taken leave as "%" //otherwise gets renamed to the new slackchannel name string sName = "%"; string tempName = Request.Form["slackName"]; //check if there is a slack token, if not don't run slack methods if (slack.HasToken()) { //if user does want a slack channel, check to see if their email is on the slack workspace //if so create a channel and put them in it, otherwise don't if (slackOption) { if (slack.IsOnSlack(user.Email)) { if (tempName.Equals("")) { //alter class name to match slack naming conventions tempName = slack.ValidateSlackName(name); } //create a slack channel for this class sName = slack.CreateChannel(tempName); //join created slack channel if (!sName.Equals("%")) { slack.JoinChannel(user.Email, sName); } else { Debug.WriteLine("Name already Taken/Invalid"); } } } } var cl = new Class(); cl.UsersID = user.UsersID; cl.Name = name; cl.Description = desc; cl.SlackName = sName; cl.Subject = sub; var urc = new UserRoleClass(); db.Classes.Add(cl); db.SaveChanges(); urc.UsersID = user.UsersID; urc.ClassID = cl.ClassID; urc.RoleID = 0; db.UserRoleClasses.Add(urc); db.SaveChanges(); return(RedirectToAction("List")); }