public async Task <int> UpdateByIdAsync(int sceneId, SceneUpdateModel mScene) { var scene = _context.Scenes.FirstOrDefault(c => c.SceneId == sceneId); if (scene == null) { throw new ExpectException("Could not find data which SceneId equal to " + sceneId); } //SceneName must be unique var checkData = await _context.Scenes.Where(s => s.SceneName == mScene.SceneName && s.SceneId != sceneId).ToListAsync(); if (checkData.Count > 0) { throw new ExpectException("The data which SceneName '" + mScene.SceneName + "' already exist in system"); } //Get UserInfo var user = _loginUser.GetLoginUserInfo(); scene.SceneName = mScene.SceneName; scene.Enable = mScene.Enable; scene.Modifier = user.UserName; scene.ModifiedDate = DateTime.Now; await _context.SaveChangesAsync(); return(scene.SceneId); }
public async Task <IActionResult> UpdateAsync(int id, [FromBody] SceneUpdateModel mScene) { if (!ModelState.IsValid) { return(HttpBadRequest(ModelStateError())); } var sceneId = await _sceneRepository.UpdateByIdAsync(id, mScene); return(CreatedAtRoute("GetBySceneIdAsync", new { controller = "Scenes", sceneId = sceneId }, mScene)); }