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"));
            }
        }
示例#3
0
        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);
        }