コード例 #1
0
        public async Task <IActionResult> Removetutors(long[] id)
        {
            using (var txscope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                try
                {
                    foreach (var item in id)
                    {
                        var tutorObj = _tutorService.GetSingle(x => x.Id == item);
                        if (tutorObj.Id != 0)
                        {
                            tutorObj.IsDelete = true;
                            await _tutorService.UpdateAsync(tutorObj, Accessor, User.GetUserId());

                            _tutorService.Save();
                            var relevantObj = _relevantLessonService.GetAll().Where(x => x.TutorId == item);
                            foreach (var deleteObj in relevantObj)
                            {
                                await _relevantLessonService.DeleteAsync(deleteObj, Accessor, User.GetUserId());

                                await _relevantLessonService.SaveAsync();
                            }
                        }
                    }

                    //StaffLog
                    if (User.IsInRole(UserRoles.Staff))
                    {
                        await _staffLog.InsertAsync(new Log { CreatedDate = DateTime.UtcNow, StaffId = User.GetUserId(), Description = ResponseConstants.DeleteTutor }, Accessor, User.GetUserId());
                    }
                    txscope.Complete();
                    return(JsonResponse.GenerateJsonResult(1, ResponseConstants.DeleteTutor));
                }
                catch (Exception ex)
                {
                    txscope.Dispose();
                    ErrorLog.AddErrorLog(ex, "Post-Tutor Delete");
                    return(JsonResponse.GenerateJsonResult(0, ResponseConstants.SomethingWrong));
                }
            }
        }