public async Task <IActionResult> Edit(Guid id, [Bind("Id,RandomSequenceHidden")] RandomSequenceModel modelToUpdate)
        {
            if (id != modelToUpdate.Id)
            {
                return(NotFound());
            }
            modelToUpdate.RandomSequence = modelToUpdate.RandomSequenceHidden.FromJsonObject();

            if (!ModelState.IsValid)
            {
                return(View(modelToUpdate));
            }

            try
            {
                await randomSequenceService.UpdateAsync(modelToUpdate).ConfigureAwait(false);
            }
            catch (DbUpdateConcurrencyException)
            {
                var doesModelExist = await randomSequenceService.DoesExistAsync(modelToUpdate.Id).ConfigureAwait(false);

                if (!doesModelExist)
                {
                    return(NotFound());
                }
                throw;
            }

            return(RedirectToAction(nameof(Index)));
        }
        private async Task AssertRemoveRandomSequenceAsync(RandomSequenceModel randomSequenceModel)
        {
            var removedRandomSequence = await randomSequenceService.RemoveAsync(randomSequenceModel).ConfigureAwait(false);

            var modelRemoved = await randomSequenceService.GetByPrimaryKeyAsync(removedRandomSequence.Id).ConfigureAwait(false);

            modelRemoved.Should().BeNull();
        }
        private async Task <RandomSequenceModel> UpdateRandomSequenceAsync(RandomSequenceModel randomSequenceModel)
        {
            var newRandomSequence = await randomSequenceService.GenerateRandomSequence().ConfigureAwait(false);

            newRandomSequence.RandomSequence.SequenceEqual(randomSequenceModel.RandomSequence).Should().BeFalse();

            randomSequenceModel.RandomSequence = newRandomSequence.RandomSequence;
            return(randomSequenceModel);
        }
        public async Task <IActionResult> Create([Bind("Id,RandomSequenceHidden")] RandomSequenceModel modelToAdd)
        {
            if (!ModelState.IsValid)
            {
                return(View(new RandomSequenceModel()));
            }
            await randomSequenceService.AddAsync(modelToAdd).ConfigureAwait(false);

            return(RedirectToAction(nameof(Index)));
        }
        private async Task <RandomSequenceModel> AssertUpdateRandomSequenceAsync(RandomSequenceModel randomSequenceModel)
        {
            var randomSequenceForUpdate = await UpdateRandomSequenceAsync(randomSequenceModel).ConfigureAwait(false);

            var updatedRandomSequence = await randomSequenceService.UpdateAsync(randomSequenceForUpdate).ConfigureAwait(false);

            AssertExpectedVsActualRandomSequences(randomSequenceForUpdate, updatedRandomSequence);

            return(updatedRandomSequence);
        }
 private void AssertExpectedVsActualRandomSequences(RandomSequenceModel expectedRandomSequence, RandomSequenceModel actualRandomSequence)
 {
     actualRandomSequence.Id.Should().Be(expectedRandomSequence.Id);
     actualRandomSequence.RandomSequence.SequenceEqual(expectedRandomSequence.RandomSequence).Should().BeTrue();
 }