public async Task <Response> RemoveLesson(string ID, string UserID, string ClientID) { try { if (CheckLogin(UserID, ClientID)) { var ourItem = _lessionService.CreateQuery().Find(o => o.ID == ID && o.CreateUser == UserID); if (ourItem != null) { var childNote = _lessionPartService.CreateQuery().Find(o => o.ParentID == ID).ToList(); for (int i = 0; childNote != null && i < childNote.Count; i++) { var item = childNote[0]; var media = _lessionExtendService.CreateQuery().Find(o => o.LessonPartID == item.ID).ToList(); if (media != null && media.Count > 0) { _fileProcess.DeleteFiles(media.Select(o => o.OriginalFile).ToList()); await _lessionExtendService.RemoveRangeAsync(media.Select(o => o.ID)); } await _lessionPartService.RemoveAsync(item.ID); } await _lessionService.RemoveAsync(ID); return(new Response(200, "Success get all", ID)); } else { return(new Response(301, "Permission fails", ID)); } } else { return(new Response(301, "Lỗi xác thực", null)); } } catch (Exception ex) { await _logs.WriteLogsError("CreateOrUpdateLesson", ex); return(new Response(500, ex.Message, null)); } }