public async Task <IActionResult> AddJourneyAsync([Bind("JourneyName,Bio,GeometryFileName,ImagePath")] Journey newJourney) { if (newJourney != null && !string.IsNullOrWhiteSpace(newJourney.JourneyName) && newJourney.JourneyName.Length <= 100 && !string.IsNullOrWhiteSpace(newJourney.Bio) && newJourney.Bio.Length <= 300 && !string.IsNullOrWhiteSpace(newJourney.GeometryFileName) && newJourney.GeometryFileName.Length <= 300 && !string.IsNullOrWhiteSpace(newJourney.ImagePath) && newJourney.ImagePath.Length <= 100) { newJourney.Active = true; var checkCreateJourney = await newJourney.PostAsync(_azureSQL); // Create a default team to go with this journey, because every journey need a team to enable anonymous submissions. var defaultTeam = new Team { TeamName = $"{newJourney.JourneyName} Team", TeamWebsite = "https://thomasryan.xyz/", Bio = $"Every Journey has a Team. This is the default team for {newJourney.JourneyName}.", Active = true, Created = DateTime.Now }; var checkCreateDefaultTeam = await defaultTeam.PostAsync(_azureSQL); var defaultNickname = new Nickname { Name = $"{newJourney.JourneyName} Team", Bio = $"This is nickname for those that prefer to remain anonymous.", Active = true, Created = DateTime.Now }; var checkCreateDefaultNickname = await defaultNickname.PostAsync(_azureSQL); if (checkCreateJourney && checkCreateDefaultTeam && checkCreateDefaultNickname) { return(Redirect($"/{newJourney.JourneyName}")); } else { return(View("Add")); } } else { return(View("Add")); } }
public async Task <IActionResult> AddNameAsync([Bind("Name,Bio")] Nickname newNickname) { if (newNickname != null && !string.IsNullOrWhiteSpace(newNickname.Name) && newNickname.Name.Length <= 100 && !string.IsNullOrWhiteSpace(newNickname.Bio) && newNickname.Bio.Length <= 300) { newNickname.Active = true; var checkCreate = await newNickname.PostAsync(_azureSQL); if (checkCreate) { return(Redirect($"/Nicknames/{newNickname.Name}")); } else { return(View("Add")); } } else { return(View("Add")); } }
public async Task CreateAndDeleteNickname() { var nickname = new Nickname { Name = "TestNickname", Bio = "This is a team created to test the process of team creation and deletion.", Active = true, Created = DateTime.Now }; var checkSubmit = await nickname.PostAsync(_azureSql); Assert.True(checkSubmit); var fromDb = await Nickname.GetByNicknameAsync(nickname.Name, _azureSql); var thisTeam = fromDb.FirstOrDefault(); Assert.Equal(nickname.Name, thisTeam.Name); var checkDelete = await thisTeam.DeleteAsync(_azureSql); Assert.True(checkDelete); }