public ContentDE AddContent(ContentDto contentDto) { ContentDE content = _mapper.Map <ContentDE>(contentDto); if (!_courseRepository.CourseExists(contentDto.CourseId)) { throw new AppException("CourseId does not exist"); } UserDE user = _userRepository.GetUser(contentDto.CreatedBy); if (user == null || !user.Role.Equals("lecturer", StringComparison.OrdinalIgnoreCase)) { throw new AppException("Staff " + contentDto.CreatedBy + " does not exist"); } if (!String.IsNullOrEmpty(contentDto.FileName) && String.IsNullOrEmpty(contentDto.Url)) { throw new AppException("Url is empty for " + contentDto.FileName); } content.ContentId = new Guid(); content.CreatedOn = DateTime.Now; _context.tbl_content.Add(content); _context.SaveChanges(); return(content); }
public PostDE CreatePost(PostDto postDto) { PostDE post = _mapper.Map <PostDE>(postDto); if (!_userRepository.UserExists(postDto.CreatedBy)) { throw new AppException("UserId " + postDto.CreatedBy + " does not exist"); } post.PostId = new Guid(); post.CreatedOn = DateTime.Now; post.isEdited = false; if (postDto.CourseFolderId.Count > 0) { CreatePostFolder(postDto.PostId, postDto.CourseFolderId); } _context.tbl_db_post.Add(post); _context.SaveChanges(); if (postDto.CourseFolderId != null) { CreatePostFolder(post.PostId, postDto.CourseFolderId); } return(post); }
public UserDE Create(UserCreationDto user) { // default password when admin creates a user if (string.IsNullOrWhiteSpace(user.Password)) { user.Password = "******"; } // validation if (_context.tbl_user.Any(x => x.UserName == user.UserName)) { throw new AppException("Username \"" + user.UserName + "\" is already taken"); } if (user.Email != null) { if (_context.tbl_user.Any(x => x.Email == user.Email)) { throw new AppException("Email \"" + user.Email + "\" is already taken"); } } if (user.PhoneNo == null) { if (_context.tbl_user.Any(x => x.PhoneNo == user.PhoneNo)) { throw new AppException("Phone number \"" + user.PhoneNo + "\" is already taken"); } } byte[] passwordHash, passwordSalt; CreatePasswordHash(user.Password, out passwordHash, out passwordSalt); UserDE newUser = new UserDE { UserId = new Guid(), UserName = user.UserName, PasswordHash = passwordHash, PasswordSalt = passwordSalt, Email = user.Email, PhoneNo = user.PhoneNo, Role = user.Role }; _context.tbl_user.Add(newUser); _context.SaveChanges(); return(newUser); }
public ChatDE SaveChat(ChatDto chatDto) { ChatDE chat = _mapper.Map <ChatDE>(chatDto); chat.ChatId = new Guid(); chat.DateTime = DateTime.Now; _context.tbl_chat.Add(chat); _context.SaveChanges(); return(chat); }
public CourseDE CreateCourse(CourseDto courseDto) { // validation if (string.IsNullOrWhiteSpace(courseDto.CourseCode)) { throw new AppException("Course Code is required"); } if (_context.tbl_course.Any(x => x.CourseCode == courseDto.CourseCode)) { throw new AppException("Course Code \"" + courseDto.CourseCode + "\" is unavailable"); } UserDE user = _userRepository.GetUsers(new List <Guid>(new Guid[] { courseDto.CreatedBy })).FirstOrDefault(); if (user == null || string.Equals(user.Role, "student", StringComparison.OrdinalIgnoreCase)) { throw new AppException("User \"" + courseDto.CreatedBy + "\" does not exist"); } CourseDE course = new CourseDE(); course = _mapper.Map <CourseDto, CourseDE>(courseDto); course.CourseId = new Guid(); course.CreatedOn = DateTime.Now; _context.tbl_course.Add(course); _context.SaveChanges(); return(course); }