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