public List <CreatedMediaDto> UploadMedia([FromBody] TypeIdUpload typeIdUpload) { if (typeIdUpload.UserId != null) { var user = _db.Users.FirstOrDefault(u => u.Id == typeIdUpload.UserId) ?? throw _apiErrors.UserNotFount; var avatar = typeIdUpload.Files.FirstOrDefault(); var newFileName = UploadFile(avatar, ETypeUpload.UserAvatar); user.Avatar = newFileName; _db.SaveChanges(); return(new List <CreatedMediaDto> { new CreatedMediaDto { FileName = newFileName } }); } if (typeIdUpload.NewsId != null) { var news = _db.News.FirstOrDefault(u => u.Id == typeIdUpload.NewsId); if (news == null) { throw _apiErrors.NewsNotFound; } var newsFiles = typeIdUpload.Files.Select(file => UploadFile(file, ETypeUpload.NewsImages)) .Select(newFileName => new CreatedMediaDto { FileName = newFileName }).ToList(); news.PathToImages = newsFiles.Select(item => item.FileName).ToList(); _db.SaveChanges(); return(newsFiles); } return(new List <CreatedMediaDto>()); }
public int CreateComment(CreateCommentDto createCommentDto) { var createdComment = new CommentEntity() { Value = createCommentDto.Value, NewsId = createCommentDto.NewsId, UserId = createCommentDto.UserId }; _db.Comment.Add(createdComment); _db.SaveChanges(); return(createdComment.Id); }
public int CreateNews(CreateNewsDto createUserDto) { var createdNews = new NewsEntity() { Title = createUserDto.Title, Description = createUserDto.Description, PathToImages = null, UserId = createUserDto.UserId }; _db.News.Add(createdNews); _db.SaveChanges(); return(createdNews.Id); }
public string Registration(CreateUserDto createUserDto) { var user = _db.Users.Where(userEntity => userEntity.Email == createUserDto.Email || userEntity.Nickname == createUserDto.Nickname).ToList(); if (user.Count != 0) { throw _apiErrors.UserAlreadyExist; } var newUserEntity = new UserEntity() { Email = createUserDto.Email, Nickname = createUserDto.Nickname, Password = createUserDto.Password, RoleId = 1, Avatar = "default-avatar.png" }; _db.Users.Add(newUserEntity); _db.SaveChanges(); return("Пользователь был зарегистрирован"); }