private void saveChangeTopic_Click(object sender, EventArgs e) { if (_topic == null && !string.IsNullOrWhiteSpace(topicTitle.Text)) { var hashData = HashService.ComputeSha256Hash(topicTitle.Text); using (var db = new DuoContext()) { if (db.Topics.AsNoTracking().Any(x => !x.IsDeleted && x.HashCompare.Equals(hashData))) { MessageBox.Show("Tiêu đề của chủ đề đã tồn tại trong Database", "Cảnh báo trùng lập dữ liệu" , MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var count = db.Topics.AsNoTracking().Count(); var topic = new Topic() { Title = topicTitle.Text, HashCompare = hashData, IsDeleted = false, IsHide = isHide.Checked, Sort = count + 1 }; db.Topics.Add(topic); db.SaveChanges(); } LoadData(); return; } if (_topic != null && !string.IsNullOrWhiteSpace(topicTitle.Text)) { using (var db = new DuoContext()) { _topic.Title = topicTitle.Text; _topic.HashCompare = HashService.ComputeSha256Hash(topicTitle.Text); _topic.IsHide = isHide.Checked; var chk = db.Update <Topic>(_topic); } LoadData(); return; } MessageBox.Show("Vui lòng chọn một chủ đề hay nhập thông tin chủ đề", "Dữ liệu chưa có" , MessageBoxButtons.OK, MessageBoxIcon.Information); }