示例#1
0
        public async Task <IActionResult> MasterKeys(MasterKeysViewModel masterKeysView)
        {
            if (ModelState.IsValid == false)
            {
                return(View(masterKeysView));
            }

            masterKeysView.MasterKeys = HttpContext.Session.GetSession <List <MasterDataKeyViewModel> >("MasterKeys");

            MasterDataKey masterKey = _mapper.Map <MasterDataKey>(masterKeysView.MasterKeyInContext);

            if (masterKeysView.IsEdit)
            {
                // Update Master Key
                await _masterData.UpdateMasterKeyAsync(
                    masterKeysView.MasterKeyInContext.PartitionKey,
                    masterKey);
            }
            else
            {
                // Insert Master Key
                masterKey.RowKey       = Guid.NewGuid().ToString();
                masterKey.PartitionKey = masterKey.Name;
                await _masterData.InsertMasterKeyAsync(masterKey);
            }

            //Cache redis
            await _masterDataCache.CreateMasterDataCacheAsync();

            return(RedirectToAction("MasterKeys"));
        }
示例#2
0
        public async Task <IActionResult> MasterKeys(MasterKeysViewModel model)
        {
            model.MasterKeys = HttpContext.Session.GetSession <List <MasterDataKeyViewModel> >("MasterKeys");
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var masterKey = _mapper.Map <MasterDataKeyViewModel, MasterDataKey>(model.MasterKeyInContext);

            if (model.IsEdit)
            {
                // Update Master Key
                await _masterData.UpdateMasterKeyAsync(model.MasterKeyInContext.
                                                       PartitionKey, masterKey);
            }
            else
            {
                // Insert Master Key
                masterKey.RowKey       = Guid.NewGuid().ToString();
                masterKey.PartitionKey = masterKey.Name;
                await _masterData.InsertMasterKeyAsync(masterKey);
            }

            return(RedirectToAction("MasterKeys"));
        }
        public async Task MasterKeysTest_InvalidModel()
        {
            // Arrange
            var model = new MasterKeysViewModel();

            _controller.ModelState.AddModelError("", "TestError");
            _controller.ControllerContext.HttpContext = _mockHttpContext.Object;

            // Act
            var result = await _controller.MasterKeys(model);

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal(model, viewResult.ViewData.Model);
            _masterDataOperations.Verify(repo => repo.UpdateMasterKeyAsync(null, null), Times.Never);
        }
        public async Task MasterKeysTest_AddSuccessful()
        {
            // Arrange
            var model = new MasterKeysViewModel();

            model.MasterKeyInContext = new MasterDataKeyViewModel();

            byte[] vm = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(new List <MasterDataKeyViewModel>()));

            _mockHttpContext
            .Setup(context => context.Session.TryGetValue("MasterKeys", out vm))
            .Returns(true);

            _controller.ControllerContext.HttpContext = _mockHttpContext.Object;

            // Act
            var result = await _controller.MasterKeys(model);

            // Assert
            var viewResult = Assert.IsType <RedirectToActionResult>(result);

            _masterDataOperations.Verify(repo => repo.InsertMasterKeyAsync(It.IsAny <MasterDataKey>()));
        }