public async Task <int> UpdateByIdAsync(int logDescriptionId, LogDescriptionUpdateModel mLogDescription)
        {
            var logDescription = _context.LogDescriptions.FirstOrDefault(c => c.LogDescriptionId == logDescriptionId);

            if (logDescription == null)
            {
                throw new ExpectException("Could not find data which LogDescriptionId equal to " + logDescriptionId);
            }

            //DescriptionCode must be unique
            var checkData = await _context.LogDescriptions
                            .Where(c => c.DescriptionCode == mLogDescription.DescriptionCode &&
                                   c.LogDescriptionId != logDescriptionId).ToListAsync();

            if (checkData.Count > 0)
            {
                throw new ExpectException("The data which DescriptionCode equal to " + mLogDescription.DescriptionCode + " already exist in system");
            }



            logDescription.DescriptionCode = mLogDescription.DescriptionCode;
            logDescription.Description     = mLogDescription.Description;

            await _context.SaveChangesAsync();

            return(logDescription.LogDescriptionId);
        }
        public async Task <IActionResult> UpdateAsync(int id, [FromBody] LogDescriptionUpdateModel mLogDescription)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelStateError()));
            }

            var logDescriptionId = await _logDescriptionRepository.UpdateByIdAsync(id, mLogDescription);

            return(CreatedAtRoute("GetByLogDescriptionIdAsync", new { controller = "LogDescriptions", logDescriptionId = logDescriptionId }, mLogDescription));
        }