public List <CourseFileVM> GetFiles(List <Tuple <string, string> > courseTrainerTCs) { CourseFileService.LoadWith(c => c.Load(x => x.UserFile).And <UserFile>(x => x.User)); var keys = courseTrainerTCs.Select(x => x.Item1 + "|" + x.Item2).ToList(); var files = CourseFileService.GetAll(x => keys.Contains( x.Course_TC + "|" + x.UserFile.User.Employee_TC)).ToList() .Select(x => new CourseFileVM(x.UserFile.Name, UserFiles.GetUserFileUrl(x.UserFile), x.Course_TC, x.UserFile.User.FullName, x.UserFile.User.Employee_TC)); var specFiles = GetSpecFiles(courseTrainerTCs.Select(x => x.Item1).ToList()); return(files.Concat(specFiles).ToList()); }
private void ChangeCourses(int userFileId, List <string> newCourseTCs) { var courseFiles = CourseFileService.GetAll(x => x.UserFileID == userFileId) .ToList(); var currentCourseIds = courseFiles.Select(x => x.Course_TC); var remove = courseFiles.Where(tc => !newCourseTCs.Contains(tc.Course_TC)).ToList(); remove.ForEach(CourseFileService.Delete); var add = GetCourses(newCourseTCs.Except(currentCourseIds)).ToList(); add.ForEach(x => x.UserFileID = userFileId); add.ForEach(CourseFileService.Insert); CourseFileService.SubmitChanges(); }
public ActionResult Edit(int fileID) { var file = FileService.GetByPK(fileID); if (file.UserID != User.UserID) { throw new PermissionException("file edit"); } var model = new UserFileVM { UserFile = file }; InitModel(model); model.GroupIds = GroupFileService.GetAll(x => x.UserFileID == fileID).Select(x => x.Group_ID).ToList(); model.CourseTCs = CourseFileService.GetAll(x => x.UserFileID == fileID) .Select(x => x.Course_TC).ToList(); return(BaseView(Views.File.Edit, model)); }
public ActionResult DeleteFileFrom(int fileID, string courseTC, decimal?groupID) { if (courseTC != null) { var courseFile = CourseFileService.GetAll().Where(cf => cf.Course_TC == courseTC && cf.UserFileID == fileID); CourseFileService.DeleteAndSubmit(courseFile); } if (groupID != null) { var groupFile = GroupFileService.GetAll().Where(cf => cf.Group_ID == groupID && cf.UserFileID == fileID); GroupFileService.DeleteAndSubmit(groupFile); } FileService.SubmitChanges(); return(RedirectBack()); }