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")); }
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>())); }